Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
fbf7c44b
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
9
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看板
提交
fbf7c44b
编写于
3月 19, 2013
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ghash-x86_64.pl: minor optimization.
上级
2f0275a4
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
28 addition
and
28 deletion
+28
-28
crypto/modes/asm/ghash-x86_64.pl
crypto/modes/asm/ghash-x86_64.pl
+28
-28
未找到文件。
crypto/modes/asm/ghash-x86_64.pl
浏览文件 @
fbf7c44b
...
@@ -773,15 +773,11 @@ $code.=<<___;
...
@@ -773,15 +773,11 @@ $code.=<<___;
pxor $T1,$Xi # Ii+Xi
pxor $T1,$Xi # Ii+Xi
movdqa $Xln,$Xhn
movdqa $Xln,$Xhn
pshufd \$0b01001110,$Xln,$
Xmn
pshufd \$0b01001110,$Xln,$
T1
pxor $Xln,$
Xmn
pxor $Xln,$
T1
pclmulqdq \$0x00,$Hkey,$Xln
pclmulqdq \$0x00,$Hkey,$Xln
pclmulqdq \$0x11,$Hkey,$Xhn
pclmulqdq \$0x11,$Hkey,$Xhn
pclmulqdq \$0x00,$HK,$Xmn
pclmulqdq \$0x00,$HK,$T1
movdqa $Xi,$Xhi
pshufd \$0b01001110,$Xi,$T1 #
pxor $Xi,$T1 #
lea 32($inp),$inp # i+=2
lea 32($inp),$inp # i+=2
sub \$0x20,$len
sub \$0x20,$len
...
@@ -790,30 +786,32 @@ $code.=<<___;
...
@@ -790,30 +786,32 @@ $code.=<<___;
.align 32
.align 32
.Lmod_loop:
.Lmod_loop:
movdqa $Xi,$Xhi
pshufd \$0b01001110,$Xi,$T2 #
pxor $Xi,$T2 #
pclmulqdq \$0x00,$Hkey2,$Xi
pclmulqdq \$0x00,$Hkey2,$Xi
pclmulqdq \$0x11,$Hkey2,$Xhi
pclmulqdq \$0x11,$Hkey2,$Xhi
movdqu ($inp),$T2 # Ii
pclmulqdq \$0x10,$HK,$T2
pclmulqdq \$0x10,$HK,$T1
pshufb $T3,$T2
pxor $Xln,$Xi # (H*Ii+1) + H^2*(Ii+Xi)
pxor $Xln,$Xi # (H*Ii+1) + H^2*(Ii+Xi)
movdqu 16($inp),$Xln # Ii+1
pxor $Xhn,$Xhi
pxor $Xhn,$Xhi
movdqu ($inp),$Xhn # Ii
pshufb $T3,$Xhn
movdqu 16($inp),$Xln # Ii+1
pxor $Xi,$
Xmn
# aggregated Karatsuba post-processing
pxor $Xi,$
T1
# aggregated Karatsuba post-processing
pxor $Xhi,$
Xmn
pxor $Xhi,$
T1
pxor $
T2
,$Xhi # "Ii+Xi", consume early
pxor $
Xhn
,$Xhi # "Ii+Xi", consume early
pxor $
Xmn,$T1
pxor $
T1,$T2
pshufb $T3,$Xln
pshufb $T3,$Xln
movdqa $T
1,$T2
#
movdqa $T
2,$T1
#
psrldq \$8,$T1
psrldq \$8,$T1
pslldq \$8,$T2 #
pslldq \$8,$T2 #
pxor $T1,$Xhi
pxor $T1,$Xhi
pxor $T2,$Xi #
pxor $T2,$Xi #
movdqa $Xln,$Xhn #
movdqa $Xln,$Xhn #
pshufd \$0b01001110,$Xln,$Xmn
pxor $Xln,$Xmn #
movdqa $Xi,$T2 # 1st phase
movdqa $Xi,$T2 # 1st phase
movdqa $Xi,$T1
movdqa $Xi,$T1
...
@@ -828,6 +826,8 @@ $code.=<<___;
...
@@ -828,6 +826,8 @@ $code.=<<___;
psrldq \$8,$T1 #
psrldq \$8,$T1 #
pxor $T2,$Xi
pxor $T2,$Xi
pxor $T1,$Xhi #
pxor $T1,$Xhi #
pshufd \$0b01001110,$Xhn,$T1
pxor $Xhn,$T1 #
pclmulqdq \$0x11,$Hkey,$Xhn #######
pclmulqdq \$0x11,$Hkey,$Xhn #######
movdqa $Xi,$T2 # 2nd phase
movdqa $Xi,$T2 # 2nd phase
...
@@ -837,28 +837,28 @@ $code.=<<___;
...
@@ -837,28 +837,28 @@ $code.=<<___;
psrlq \$5,$Xi
psrlq \$5,$Xi
pxor $T2,$Xi #
pxor $T2,$Xi #
psrlq \$1,$Xi #
psrlq \$1,$Xi #
pclmulqdq \$0x00,$HK,$
Xmn
#######
pclmulqdq \$0x00,$HK,$
T1
#######
pxor $Xhi,$Xi #
pxor $Xhi,$Xi #
movdqa $Xi,$Xhi
pshufd \$0b01001110,$Xi,$T1 #
pxor $Xi,$T1 #
lea 32($inp),$inp
lea 32($inp),$inp
sub \$0x20,$len
sub \$0x20,$len
ja .Lmod_loop
ja .Lmod_loop
.Leven_tail:
.Leven_tail:
movdqa $Xi,$Xhi
pshufd \$0b01001110,$Xi,$T2 #
pxor $Xi,$T2 #
pclmulqdq \$0x00,$Hkey2,$Xi
pclmulqdq \$0x00,$Hkey2,$Xi
pclmulqdq \$0x11,$Hkey2,$Xhi
pclmulqdq \$0x11,$Hkey2,$Xhi
pclmulqdq \$0x10,$HK,$T
1
pclmulqdq \$0x10,$HK,$T
2
pxor $Xln,$Xi # (H*Ii+1) + H^2*(Ii+Xi)
pxor $Xln,$Xi # (H*Ii+1) + H^2*(Ii+Xi)
pxor $Xhn,$Xhi
pxor $Xhn,$Xhi
pxor $Xi,$
Xmn
pxor $Xi,$
T1
pxor $Xhi,$
Xmn
pxor $Xhi,$
T1
pxor $
Xmn,$T1
pxor $
T1,$T2
movdqa $T
1,$T2
#
movdqa $T
2,$T1
#
psrldq \$8,$T1
psrldq \$8,$T1
pslldq \$8,$T2 #
pslldq \$8,$T2 #
pxor $T1,$Xhi
pxor $T1,$Xhi
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录