Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
5826e4f4
O
openssl
项目概览
btwise
/
openssl
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5826e4f4
编写于
7月 20, 2005
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Perl stylistic/cosmetic update for aes-x86_64.pl.
上级
66ee67be
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
65 addition
and
81 deletion
+65
-81
crypto/aes/asm/aes-x86_64.pl
crypto/aes/asm/aes-x86_64.pl
+65
-81
未找到文件。
crypto/aes/asm/aes-x86_64.pl
浏览文件 @
5826e4f4
...
...
@@ -6,7 +6,7 @@
# forms are granted according to the OpenSSL license.
# ====================================================================
#
# Version
1.1
.
# Version
2.0
.
#
# aes-*-cbc benchmarks are improved by >70% [compared to gcc 3.3.2 on
# Opteron 240 CPU] plus all the bells-n-whistles from 32-bit version
...
...
@@ -65,30 +65,26 @@ sub data_word()
sub
encvert
()
{
my
$t3
=
"
%r8d
";
# zaps $inp!
my
$qs0
=
'
"$s0"
';
my
$qs1
=
'
"$s1"
';
my
$qs2
=
'
"$s2"
';
my
$qs3
=
'
"$s3"
';
$code
.=
<<___;
# favor 3-way issue Opteron pipeline...
movzb `&lo(
$qs0
)`,$acc0
movzb `&lo(
$qs1
)`,$acc1
movzb `&lo(
$qs2
)`,$acc2
movzb `&lo(
"$s0"
)`,$acc0
movzb `&lo(
"$s1"
)`,$acc1
movzb `&lo(
"$s2"
)`,$acc2
mov 0($sbox,$acc0,8),$t0
mov 0($sbox,$acc1,8),$t1
mov 0($sbox,$acc2,8),$t2
movzb `&hi(
$qs1
)`,$acc0
movzb `&hi(
$qs2
)`,$acc1
movzb `&lo(
$qs3
)`,$acc2
movzb `&hi(
"$s1"
)`,$acc0
movzb `&hi(
"$s2"
)`,$acc1
movzb `&lo(
"$s3"
)`,$acc2
xor 3($sbox,$acc0,8),$t0
xor 3($sbox,$acc1,8),$t1
mov 0($sbox,$acc2,8),$t3
movzb `&hi(
$qs3
)`,$acc0
movzb `&hi(
"$s3"
)`,$acc0
shr \$16,$s2
movzb `&hi(
$qs0
)`,$acc2
movzb `&hi(
"$s0"
)`,$acc2
xor 3($sbox,$acc0,8),$t2
shr \$16,$s3
xor 3($sbox,$acc2,8),$t3
...
...
@@ -97,23 +93,23 @@ $code.=<<___;
lea 16($key),$key
shr \$16,$s0
movzb `&lo(
$qs2
)`,$acc0
movzb `&lo(
$qs3
)`,$acc1
movzb `&lo(
$qs0
)`,$acc2
movzb `&lo(
"$s2"
)`,$acc0
movzb `&lo(
"$s3"
)`,$acc1
movzb `&lo(
"$s0"
)`,$acc2
xor 2($sbox,$acc0,8),$t0
xor 2($sbox,$acc1,8),$t1
xor 2($sbox,$acc2,8),$t2
movzb `&hi(
$qs3
)`,$acc0
movzb `&hi(
$qs0
)`,$acc1
movzb `&lo(
$qs1
)`,$acc2
movzb `&hi(
"$s3"
)`,$acc0
movzb `&hi(
"$s0"
)`,$acc1
movzb `&lo(
"$s1"
)`,$acc2
xor 1($sbox,$acc0,8),$t0
xor 1($sbox,$acc1,8),$t1
xor 2($sbox,$acc2,8),$t3
mov 12($key),$s3
movzb `&hi(
$qs1
)`,$acc1
movzb `&hi(
$qs2
)`,$acc2
movzb `&hi(
"$s1"
)`,$acc1
movzb `&hi(
"$s2"
)`,$acc2
mov 0($key),$s0
xor 1($sbox,$acc1,8),$t2
xor 1($sbox,$acc2,8),$t3
...
...
@@ -129,15 +125,11 @@ ___
sub
enclastvert
()
{
my
$t3
=
"
%r8d
";
# zaps $inp!
my
$qs0
=
'
"$s0"
';
my
$qs1
=
'
"$s1"
';
my
$qs2
=
'
"$s2"
';
my
$qs3
=
'
"$s3"
';
$code
.=
<<___;
movzb `&lo(
$qs0
)`,$acc0
movzb `&lo(
$qs1
)`,$acc1
movzb `&lo(
$qs2
)`,$acc2
movzb `&lo(
"$s0"
)`,$acc0
movzb `&lo(
"$s1"
)`,$acc1
movzb `&lo(
"$s2"
)`,$acc2
mov 2($sbox,$acc0,8),$t0
mov 2($sbox,$acc1,8),$t1
mov 2($sbox,$acc2,8),$t2
...
...
@@ -146,9 +138,9 @@ $code.=<<___;
and \$0x000000ff,$t1
and \$0x000000ff,$t2
movzb `&lo(
$qs3
)`,$acc0
movzb `&hi(
$qs1
)`,$acc1
movzb `&hi(
$qs2
)`,$acc2
movzb `&lo(
"$s3"
)`,$acc0
movzb `&hi(
"$s1"
)`,$acc1
movzb `&hi(
"$s2"
)`,$acc2
mov 2($sbox,$acc0,8),$t3
mov 0($sbox,$acc1,8),$acc1 #$t0
mov 0($sbox,$acc2,8),$acc2 #$t1
...
...
@@ -161,8 +153,8 @@ $code.=<<___;
xor $acc2,$t1
shr \$16,$s2
movzb `&hi(
$qs3
)`,$acc0
movzb `&hi(
$qs0
)`,$acc1
movzb `&hi(
"$s3"
)`,$acc0
movzb `&hi(
"$s0"
)`,$acc1
shr \$16,$s3
mov 0($sbox,$acc0,8),$acc0 #$t2
mov 0($sbox,$acc1,8),$acc1 #$t3
...
...
@@ -174,9 +166,9 @@ $code.=<<___;
xor $acc1,$t3
shr \$16,$s0
movzb `&lo(
$qs2
)`,$acc0
movzb `&lo(
$qs3
)`,$acc1
movzb `&lo(
$qs0
)`,$acc2
movzb `&lo(
"$s2"
)`,$acc0
movzb `&lo(
"$s3"
)`,$acc1
movzb `&lo(
"$s0"
)`,$acc2
mov 0($sbox,$acc0,8),$acc0 #$t0
mov 0($sbox,$acc1,8),$acc1 #$t1
mov 0($sbox,$acc2,8),$acc2 #$t2
...
...
@@ -189,9 +181,9 @@ $code.=<<___;
xor $acc1,$t1
xor $acc2,$t2
movzb `&lo(
$qs1
)`,$acc0
movzb `&hi(
$qs3
)`,$acc1
movzb `&hi(
$qs0
)`,$acc2
movzb `&lo(
"$s1"
)`,$acc0
movzb `&hi(
"$s3"
)`,$acc1
movzb `&hi(
"$s0"
)`,$acc2
mov 0($sbox,$acc0,8),$acc0 #$t3
mov 2($sbox,$acc1,8),$acc1 #$t0
mov 2($sbox,$acc2,8),$acc2 #$t1
...
...
@@ -204,8 +196,8 @@ $code.=<<___;
xor $acc1,$t0
xor $acc2,$t1
movzb `&hi(
$qs1
)`,$acc0
movzb `&hi(
$qs2
)`,$acc1
movzb `&hi(
"$s1"
)`,$acc0
movzb `&hi(
"$s2"
)`,$acc1
mov 16+12($key),$s3
mov 2($sbox,$acc0,8),$acc0 #$t2
mov 2($sbox,$acc1,8),$acc1 #$t3
...
...
@@ -391,30 +383,26 @@ ___
sub
decvert
()
{
my
$t3
=
"
%r8d
";
# zaps $inp!
my
$qs0
=
'
"$s0"
';
my
$qs1
=
'
"$s1"
';
my
$qs2
=
'
"$s2"
';
my
$qs3
=
'
"$s3"
';
$code
.=
<<___;
# favor 3-way issue Opteron pipeline...
movzb `&lo(
$qs0
)`,$acc0
movzb `&lo(
$qs1
)`,$acc1
movzb `&lo(
$qs2
)`,$acc2
movzb `&lo(
"$s0"
)`,$acc0
movzb `&lo(
"$s1"
)`,$acc1
movzb `&lo(
"$s2"
)`,$acc2
mov 0($sbox,$acc0,8),$t0
mov 0($sbox,$acc1,8),$t1
mov 0($sbox,$acc2,8),$t2
movzb `&hi(
$qs3
)`,$acc0
movzb `&hi(
$qs0
)`,$acc1
movzb `&lo(
$qs3
)`,$acc2
movzb `&hi(
"$s3"
)`,$acc0
movzb `&hi(
"$s0"
)`,$acc1
movzb `&lo(
"$s3"
)`,$acc2
xor 3($sbox,$acc0,8),$t0
xor 3($sbox,$acc1,8),$t1
mov 0($sbox,$acc2,8),$t3
movzb `&hi(
$qs1
)`,$acc0
movzb `&hi(
"$s1"
)`,$acc0
shr \$16,$s0
movzb `&hi(
$qs2
)`,$acc2
movzb `&hi(
"$s2"
)`,$acc2
xor 3($sbox,$acc0,8),$t2
shr \$16,$s3
xor 3($sbox,$acc2,8),$t3
...
...
@@ -423,23 +411,23 @@ $code.=<<___;
lea 16($key),$key
shr \$16,$s2
movzb `&lo(
$qs2
)`,$acc0
movzb `&lo(
$qs3
)`,$acc1
movzb `&lo(
$qs0
)`,$acc2
movzb `&lo(
"$s2"
)`,$acc0
movzb `&lo(
"$s3"
)`,$acc1
movzb `&lo(
"$s0"
)`,$acc2
xor 2($sbox,$acc0,8),$t0
xor 2($sbox,$acc1,8),$t1
xor 2($sbox,$acc2,8),$t2
movzb `&hi(
$qs1
)`,$acc0
movzb `&hi(
$qs2
)`,$acc1
movzb `&lo(
$qs1
)`,$acc2
movzb `&hi(
"$s1"
)`,$acc0
movzb `&hi(
"$s2"
)`,$acc1
movzb `&lo(
"$s1"
)`,$acc2
xor 1($sbox,$acc0,8),$t0
xor 1($sbox,$acc1,8),$t1
xor 2($sbox,$acc2,8),$t3
movzb `&hi(
$qs3
)`,$acc0
movzb `&hi(
"$s3"
)`,$acc0
mov 12($key),$s3
movzb `&hi(
$qs0
)`,$acc2
movzb `&hi(
"$s0"
)`,$acc2
xor 1($sbox,$acc0,8),$t2
mov 0($key),$s0
xor 1($sbox,$acc2,8),$t3
...
...
@@ -455,15 +443,11 @@ ___
sub
declastvert
()
{
my
$t3
=
"
%r8d
";
# zaps $inp!
my
$qs0
=
'
"$s0"
';
my
$qs1
=
'
"$s1"
';
my
$qs2
=
'
"$s2"
';
my
$qs3
=
'
"$s3"
';
$code
.=
<<___;
movzb `&lo(
$qs0
)`,$acc0
movzb `&lo(
$qs1
)`,$acc1
movzb `&lo(
$qs2
)`,$acc2
movzb `&lo(
"$s0"
)`,$acc0
movzb `&lo(
"$s1"
)`,$acc1
movzb `&lo(
"$s2"
)`,$acc2
mov 2048($sbox,$acc0,4),$t0
mov 2048($sbox,$acc1,4),$t1
mov 2048($sbox,$acc2,4),$t2
...
...
@@ -472,9 +456,9 @@ $code.=<<___;
and \$0x000000ff,$t1
and \$0x000000ff,$t2
movzb `&lo(
$qs3
)`,$acc0
movzb `&hi(
$qs3
)`,$acc1
movzb `&hi(
$qs0
)`,$acc2
movzb `&lo(
"$s3"
)`,$acc0
movzb `&hi(
"$s3"
)`,$acc1
movzb `&hi(
"$s0"
)`,$acc2
mov 2048($sbox,$acc0,4),$t3
mov 2048($sbox,$acc1,4),$acc1 #$t0
mov 2048($sbox,$acc2,4),$acc2 #$t1
...
...
@@ -487,8 +471,8 @@ $code.=<<___;
xor $acc2,$t1
shr \$16,$s3
movzb `&hi(
$qs1
)`,$acc0
movzb `&hi(
$qs2
)`,$acc1
movzb `&hi(
"$s1"
)`,$acc0
movzb `&hi(
"$s2"
)`,$acc1
shr \$16,$s0
mov 2048($sbox,$acc0,4),$acc0 #$t2
mov 2048($sbox,$acc1,4),$acc1 #$t3
...
...
@@ -500,9 +484,9 @@ $code.=<<___;
xor $acc1,$t3
shr \$16,$s2
movzb `&lo(
$qs2
)`,$acc0
movzb `&lo(
$qs3
)`,$acc1
movzb `&lo(
$qs0
)`,$acc2
movzb `&lo(
"$s2"
)`,$acc0
movzb `&lo(
"$s3"
)`,$acc1
movzb `&lo(
"$s0"
)`,$acc2
mov 2048($sbox,$acc0,4),$acc0 #$t0
mov 2048($sbox,$acc1,4),$acc1 #$t1
mov 2048($sbox,$acc2,4),$acc2 #$t2
...
...
@@ -515,9 +499,9 @@ $code.=<<___;
xor $acc1,$t1
xor $acc2,$t2
movzb `&lo(
$qs1
)`,$acc0
movzb `&hi(
$qs1
)`,$acc1
movzb `&hi(
$qs2
)`,$acc2
movzb `&lo(
"$s1"
)`,$acc0
movzb `&hi(
"$s1"
)`,$acc1
movzb `&hi(
"$s2"
)`,$acc2
mov 2048($sbox,$acc0,4),$acc0 #$t3
mov 2048($sbox,$acc1,4),$acc1 #$t0
mov 2048($sbox,$acc2,4),$acc2 #$t1
...
...
@@ -530,8 +514,8 @@ $code.=<<___;
xor $acc1,$t0
xor $acc2,$t1
movzb `&hi(
$qs3
)`,$acc0
movzb `&hi(
$qs0
)`,$acc1
movzb `&hi(
"$s3"
)`,$acc0
movzb `&hi(
"$s0"
)`,$acc1
mov 16+12($key),$s3
mov 2048($sbox,$acc0,4),$acc0 #$t2
mov 2048($sbox,$acc1,4),$acc1 #$t3
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录