Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
1e8f69c6
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1e8f69c6
编写于
1月 21, 2015
作者:
A
Andy Polyakov
提交者:
Matt Caswell
1月 22, 2015
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
modes/modes_lcl.h: make it indent-friendly.
Reviewed-by:
N
Tim Hudson
<
tjh@openssl.org
>
上级
dbd87ffc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
31 addition
and
31 deletion
+31
-31
crypto/modes/modes_lcl.h
crypto/modes/modes_lcl.h
+31
-31
未找到文件。
crypto/modes/modes_lcl.h
浏览文件 @
1e8f69c6
...
...
@@ -27,63 +27,63 @@ typedef unsigned char u8;
#define STRICT_ALIGNMENT 1
#ifndef PEDANTIC
#if defined(__i386) || defined(__i386__) || \
defined(__x86_64) || defined(__x86_64__) || \
defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || \
defined(__aarch64__) || \
defined(__s390__) || defined(__s390x__)
# undef STRICT_ALIGNMENT
#endif
#
if defined(__i386) || defined(__i386__) || \
defined(__x86_64) || defined(__x86_64__) || \
defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || \
defined(__aarch64__) || \
defined(__s390__) || defined(__s390x__)
#
undef STRICT_ALIGNMENT
#
endif
#endif
#if !defined(PEDANTIC) && !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_NO_INLINE_ASM)
#if defined(__GNUC__) && __GNUC__>=2
# if defined(__x86_64) || defined(__x86_64__)
# define BSWAP8(x) ({ u64 ret=(x); \
#
if defined(__GNUC__) && __GNUC__>=2
#
if defined(__x86_64) || defined(__x86_64__)
#
define BSWAP8(x) ({ u64 ret=(x); \
asm ("bswapq %0" \
: "+r"(ret)); ret; })
# define BSWAP4(x) ({ u32 ret=(x); \
#
define BSWAP4(x) ({ u32 ret=(x); \
asm ("bswapl %0" \
: "+r"(ret)); ret; })
# elif (defined(__i386) || defined(__i386__)) && !defined(I386_ONLY)
# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
#
elif (defined(__i386) || defined(__i386__)) && !defined(I386_ONLY)
#
define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
asm ("bswapl %0; bswapl %1" \
: "+r"(hi),"+r"(lo)); \
(u64)hi<<32|lo; })
# define BSWAP4(x) ({ u32 ret=(x); \
#
define BSWAP4(x) ({ u32 ret=(x); \
asm ("bswapl %0" \
: "+r"(ret)); ret; })
# elif defined(__aarch64__)
# define BSWAP8(x) ({ u64 ret; \
#
elif defined(__aarch64__)
#
define BSWAP8(x) ({ u64 ret; \
asm ("rev %0,%1" \
: "=r"(ret) : "r"(x)); ret; })
# define BSWAP4(x) ({ u32 ret; \
#
define BSWAP4(x) ({ u32 ret; \
asm ("rev %w0,%w1" \
: "=r"(ret) : "r"(x)); ret; })
# elif (defined(__arm__) || defined(__arm)) && !defined(STRICT_ALIGNMENT)
# define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
#
elif (defined(__arm__) || defined(__arm)) && !defined(STRICT_ALIGNMENT)
#
define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
asm ("rev %0,%0; rev %1,%1" \
: "+r"(hi),"+r"(lo)); \
(u64)hi<<32|lo; })
# define BSWAP4(x) ({ u32 ret; \
#
define BSWAP4(x) ({ u32 ret; \
asm ("rev %0,%1" \
: "=r"(ret) : "r"((u32)(x))); \
ret; })
# endif
#elif defined(_MSC_VER)
# if _MSC_VER>=1300
# pragma intrinsic(_byteswap_uint64,_byteswap_ulong)
# define BSWAP8(x) _byteswap_uint64((u64)(x))
# define BSWAP4(x) _byteswap_ulong((u32)(x))
# elif defined(_M_IX86)
__inline
u32
_bswap4
(
u32
val
)
{
#
endif
#
elif defined(_MSC_VER)
#
if _MSC_VER>=1300
#
pragma intrinsic(_byteswap_uint64,_byteswap_ulong)
#
define BSWAP8(x) _byteswap_uint64((u64)(x))
#
define BSWAP4(x) _byteswap_ulong((u32)(x))
#
elif defined(_M_IX86)
__inline
u32
_bswap4
(
u32
val
)
{
_asm
mov
eax
,
val
_asm
bswap
eax
}
# define BSWAP4(x) _bswap4(x)
}
# define BSWAP4(x) _bswap4(x)
# endif
# endif
#endif
#endif
#if defined(BSWAP4) && !defined(STRICT_ALIGNMENT)
#define GETU32(p) BSWAP4(*(const u32 *)(p))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录