Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
2036c9a5
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看板
提交
2036c9a5
编写于
6月 28, 2011
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
md5-x86_86.pl: remove redundant instructions.
上级
b247f738
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
5 addition
and
8 deletion
+5
-8
crypto/md5/asm/md5-x86_64.pl
crypto/md5/asm/md5-x86_64.pl
+5
-8
未找到文件。
crypto/md5/asm/md5-x86_64.pl
浏览文件 @
2036c9a5
...
...
@@ -25,8 +25,8 @@ sub round1_step
xor $y, %r11d /* y ^ ... */
lea $T_i($dst,%r10d),$dst /* Const + dst + ... */
and $x, %r11d /* x & ... */
xor $z, %r11d /* z ^ ... */
mov $k_next*4(%rsi),%r10d /* (NEXT STEP) X[$k_next] */
xor $z, %r11d /* z ^ ... */
add %r11d, $dst /* dst += ... */
rol \$$s, $dst /* dst <<< s */
mov $y, %r11d /* (NEXT STEP) z' = $y */
...
...
@@ -43,7 +43,6 @@ EOF
sub
round2_step
{
my
(
$pos
,
$dst
,
$x
,
$y
,
$z
,
$k_next
,
$T_i
,
$s
)
=
@_
;
$code
.=
"
mov 1*4(%rsi), %r10d /* (NEXT STEP) X[1] */
\n
"
if
(
$pos
==
-
1
);
$code
.=
"
mov %edx, %r11d /* (NEXT STEP) z' = %edx */
\n
"
if
(
$pos
==
-
1
);
$code
.=
"
mov %edx, %r12d /* (NEXT STEP) z' = %edx */
\n
"
if
(
$pos
==
-
1
);
$code
.=
<<EOF;
...
...
@@ -69,12 +68,11 @@ EOF
sub
round3_step
{
my
(
$pos
,
$dst
,
$x
,
$y
,
$z
,
$k_next
,
$T_i
,
$s
)
=
@_
;
$code
.=
"
mov 5*4(%rsi), %r10d /* (NEXT STEP) X[5] */
\n
"
if
(
$pos
==
-
1
);
$code
.=
"
mov %ecx, %r11d /* (NEXT STEP) y' = %ecx */
\n
"
if
(
$pos
==
-
1
);
$code
.=
<<EOF;
lea $T_i($dst,%r10d),$dst /* Const + dst + ... */
mov $k_next*4(%rsi),%r10d /* (NEXT STEP) X[$k_next] */
xor $z, %r11d /* z ^ ... */
mov $k_next*4(%rsi),%r10d /* (NEXT STEP) X[$k_next] */
xor $x, %r11d /* x ^ ... */
add %r11d, $dst /* dst += ... */
rol \$$s, $dst /* dst <<< s */
...
...
@@ -91,16 +89,15 @@ EOF
sub
round4_step
{
my
(
$pos
,
$dst
,
$x
,
$y
,
$z
,
$k_next
,
$T_i
,
$s
)
=
@_
;
$code
.=
"
mov 0*4(%rsi), %r10d /* (NEXT STEP) X[0] */
\n
"
if
(
$pos
==
-
1
);
$code
.=
"
mov
\$
0xffffffff, %r11d
\n
"
if
(
$pos
==
-
1
);
$code
.=
"
xor %edx, %r11d /* (NEXT STEP) not z' = not %edx*/
\n
"
if
(
$pos
==
-
1
);
$code
.=
<<EOF;
lea $T_i($dst,%r10d),$dst /* Const + dst + ... */
or $x, %r11d /* x | ... */
mov $k_next*4(%rsi),%r10d /* (NEXT STEP) X[$k_next] */
xor $y, %r11d /* y ^ ... */
add %r11d, $dst /* dst += ... */
mov $k_next*4(%rsi),%r10d /* (NEXT STEP) X[$k_next] */
mov \$0xffffffff, %r11d
rol \$$s, $dst /* dst <<< s */
xor $y, %r11d /* (NEXT STEP) not z' = not $y */
...
...
@@ -178,7 +175,7 @@ round1_step( 0,'%ebx','%ecx','%edx','%eax','12','0x895cd7be','22');
round1_step
(
0
,'
%eax
','
%ebx
','
%ecx
','
%edx
','
13
','
0x6b901122
',
'
7
');
round1_step
(
0
,'
%edx
','
%eax
','
%ebx
','
%ecx
','
14
','
0xfd987193
','
12
');
round1_step
(
0
,'
%ecx
','
%edx
','
%eax
','
%ebx
','
15
','
0xa679438e
','
17
');
round1_step
(
1
,'
%ebx
','
%ecx
','
%edx
','
%eax
',
'
0
','
0x49b40821
','
22
');
round1_step
(
1
,'
%ebx
','
%ecx
','
%edx
','
%eax
',
'
1
','
0x49b40821
','
22
');
round2_step
(
-
1
,'
%eax
','
%ebx
','
%ecx
','
%edx
',
'
6
','
0xf61e2562
',
'
5
');
round2_step
(
0
,'
%edx
','
%eax
','
%ebx
','
%ecx
','
11
','
0xc040b340
',
'
9
');
...
...
@@ -195,7 +192,7 @@ round2_step( 0,'%ebx','%ecx','%edx','%eax','13','0x455a14ed','20');
round2_step
(
0
,'
%eax
','
%ebx
','
%ecx
','
%edx
',
'
2
','
0xa9e3e905
',
'
5
');
round2_step
(
0
,'
%edx
','
%eax
','
%ebx
','
%ecx
',
'
7
','
0xfcefa3f8
',
'
9
');
round2_step
(
0
,'
%ecx
','
%edx
','
%eax
','
%ebx
','
12
','
0x676f02d9
','
14
');
round2_step
(
1
,'
%ebx
','
%ecx
','
%edx
','
%eax
',
'
0
','
0x8d2a4c8a
','
20
');
round2_step
(
1
,'
%ebx
','
%ecx
','
%edx
','
%eax
',
'
5
','
0x8d2a4c8a
','
20
');
round3_step
(
-
1
,'
%eax
','
%ebx
','
%ecx
','
%edx
',
'
8
','
0xfffa3942
',
'
4
');
round3_step
(
0
,'
%edx
','
%eax
','
%ebx
','
%ecx
','
11
','
0x8771f681
','
11
');
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录