Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
openssl
提交
89bb96e5
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,发现更多精彩内容 >>
提交
89bb96e5
编写于
11月 29, 2013
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vpaes-ppc.pl: fix bug in IV handling and comply with ABI.
上级
b9e87d07
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
9 deletion
+6
-9
crypto/aes/asm/vpaes-ppc.pl
crypto/aes/asm/vpaes-ppc.pl
+6
-9
未找到文件。
crypto/aes/asm/vpaes-ppc.pl
浏览文件 @
89bb96e5
...
@@ -304,7 +304,6 @@ Lenc_entry:
...
@@ -304,7 +304,6 @@ Lenc_entry:
bl _vpaes_encrypt_preheat
bl _vpaes_encrypt_preheat
lvx v0, 0, $inp
neg r8, $inp # prepare for unaligned access
neg r8, $inp # prepare for unaligned access
lvsl $keyperm, 0, $key
lvsl $keyperm, 0, $key
lvsr $outperm, 0, $out
lvsr $outperm, 0, $out
...
@@ -488,7 +487,6 @@ Ldec_entry:
...
@@ -488,7 +487,6 @@ Ldec_entry:
bl _vpaes_decrypt_preheat
bl _vpaes_decrypt_preheat
lvx v0, 0, $inp
neg r8, $inp # prepare for unaligned access
neg r8, $inp # prepare for unaligned access
lvsl $keyperm, 0, $key
lvsl $keyperm, 0, $key
lvsr $outperm, 0, $out
lvsr $outperm, 0, $out
...
@@ -545,14 +543,12 @@ Ldec_entry:
...
@@ -545,14 +543,12 @@ Ldec_entry:
mfspr r7, 256
mfspr r7, 256
mtspr 256, r6 # preserve all AltiVec registers
mtspr 256, r6 # preserve all AltiVec registers
neg r8, r31
# load [potentially unaligned] iv
lvx v24, 0, r31
# load [potentially unaligned] iv
li r9, 15
li r9, 15
lvx v24, 0, r31
lvsl $inpperm, 0, r31
lvsr $inpperm, 0, r8 # -ivp
lvx v25, r9, r31
lvx v25, r9, r31
vperm v24, v24, v25, $inpperm
vperm v24, v24, v25, $inpperm
lvx v0, 0, $inp
neg r8, $inp # prepare for unaligned access
neg r8, $inp # prepare for unaligned access
vxor v7, v7, v7
vxor v7, v7, v7
lvsl $keyperm, 0, $key
lvsl $keyperm, 0, $key
...
@@ -619,11 +615,12 @@ Lcbc_done:
...
@@ -619,11 +615,12 @@ Lcbc_done:
vsel v1, $outhead, v1, $outmask
vsel v1, $outhead, v1, $outmask
stvx v1, 0, $out
stvx v1, 0, $out
lvsr $outperm, 0, r31 # write [potentially unaligned] iv
neg r8, r31 # write [potentially unaligned] iv
lvsl $outperm, 0, r8
li r6, 15
li r6, 15
vnor $outmask, v7, v7 # 0xff..ff
vnor $outmask, v7, v7 # 0xff..ff
vperm $outmask, v7, $outmask, $outperm
vperm $outmask, v7, $outmask, $outperm
lvx $outhead, 0,
$out
lvx $outhead, 0,
r31
vperm v24, v24, v24, $outperm # rotate
vperm v24, v24, v24, $outperm # rotate
vsel v0, $outhead, v24, $outmask
vsel v0, $outhead, v24, $outmask
lvx v1, r6, r31
lvx v1, r6, r31
...
@@ -647,7 +644,7 @@ ___
...
@@ -647,7 +644,7 @@ ___
}
}
{
{
my
(
$inp
,
$bits
,
$out
)
=
map
("
r
$_
",(
3
..
5
));
my
(
$inp
,
$bits
,
$out
)
=
map
("
r
$_
",(
3
..
5
));
my
$dir
=
"
cr
3
";
my
$dir
=
"
cr
1
";
my
(
$invlo
,
$invhi
,
$iptlo
,
$ipthi
,
$rcon
)
=
map
("
v
$_
",(
10
..
13
,
24
));
my
(
$invlo
,
$invhi
,
$iptlo
,
$ipthi
,
$rcon
)
=
map
("
v
$_
",(
10
..
13
,
24
));
$code
.=
<<___;
$code
.=
<<___;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录