Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
482a7d80
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
接近 2 年 前同步成功
通知
12
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看板
提交
482a7d80
编写于
3月 29, 2012
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sha512-armv4.pl: optimize NEON code path by utilizing vbsl, bitwise select.
上级
ee743dca
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
14 deletion
+11
-14
crypto/sha/asm/sha512-armv4.pl
crypto/sha/asm/sha512-armv4.pl
+11
-14
未找到文件。
crypto/sha/asm/sha512-armv4.pl
浏览文件 @
482a7d80
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
# March 2011.
# March 2011.
#
#
# Add NEON implementation. On Cortex A8 it was measured to process
# Add NEON implementation. On Cortex A8 it was measured to process
# one byte in 2
5.5 cycles or 47
% faster than integer-only code.
# one byte in 2
3.3 cycles or ~60
% faster than integer-only code.
# Byte order [in]dependence. =========================================
# Byte order [in]dependence. =========================================
#
#
...
@@ -463,31 +463,28 @@ $code.=<<___;
...
@@ -463,31 +463,28 @@ $code.=<<___;
vld1.64 {$K},[$Ktbl,:64]! @ K[i++]
vld1.64 {$K},[$Ktbl,:64]! @ K[i++]
vsli.64 $t0,$e,#`64-@Sigma1[0]`
vsli.64 $t0,$e,#`64-@Sigma1[0]`
vsli.64 $t1,$e,#`64-@Sigma1[1]`
vsli.64 $t1,$e,#`64-@Sigma1[1]`
vmov $Ch,$e
vsli.64 $t2,$e,#`64-@Sigma1[2]`
vsli.64 $t2,$e,#`64-@Sigma1[2]`
#if $i<16 && defined(__ARMEL__)
#if $i<16 && defined(__ARMEL__)
vrev64.8 @X[$i],@X[$i]
vrev64.8 @X[$i],@X[$i]
#endif
#endif
vadd.i64 $T1,$K,$h
vbsl $Ch,$f,$g @ Ch(e,f,g)
veor $Ch,$f,$g
veor $t1,$t0
veor $t0,$t1
vand $Ch,$e
veor $t0,$t2 @ Sigma1(e)
veor $Ch,$g @ Ch(e,f,g)
vadd.i64 $T1,$t0
vshr.u64 $t0,$a,#@Sigma0[0]
vshr.u64 $t0,$a,#@Sigma0[0]
v
add.i64 $T1,$Ch
v
eor $t2,$t1 @ Sigma1(e)
vshr.u64 $t1,$a,#@Sigma0[1]
vshr.u64 $t1,$a,#@Sigma0[1]
vadd.i64 $T1,$h,$t2
vshr.u64 $t2,$a,#@Sigma0[2]
vshr.u64 $t2,$a,#@Sigma0[2]
vadd.i64 $T1,$Ch
vsli.64 $t0,$a,#`64-@Sigma0[0]`
vsli.64 $t0,$a,#`64-@Sigma0[0]`
vadd.i64 $T1,@X[$i%16]
vsli.64 $t1,$a,#`64-@Sigma0[1]`
vsli.64 $t1,$a,#`64-@Sigma0[1]`
vadd.i64 $T1,$K
vsli.64 $t2,$a,#`64-@Sigma0[2]`
vsli.64 $t2,$a,#`64-@Sigma0[2]`
vadd.i64 $T1,@X[$i%16]
vorr $Maj,$a,$c
vand $Ch,$a,$c
veor $h,$t0,$t1
veor $h,$t0,$t1
v
and $Maj
,$b
v
eor $Maj,$a
,$b
veor $h,$t2 @ Sigma0(a)
veor $h,$t2 @ Sigma0(a)
v
orr $Maj,$Ch
@ Maj(a,b,c)
v
bsl $Maj,$c,$b
@ Maj(a,b,c)
vadd.i64 $h,$T1
vadd.i64 $h,$T1
vadd.i64 $d,$T1
vadd.i64 $d,$T1
vadd.i64 $h,$Maj
vadd.i64 $h,$Maj
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录