Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
c558c99f
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看板
提交
c558c99f
编写于
2月 12, 2009
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
rc4-s390x.pl: allow for older assembler and optimize character loop.
上级
13c3a1de
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
19 deletion
+19
-19
crypto/rc4/asm/rc4-s390x.pl
crypto/rc4/asm/rc4-s390x.pl
+19
-19
未找到文件。
crypto/rc4/asm/rc4-s390x.pl
浏览文件 @
c558c99f
...
...
@@ -9,9 +9,9 @@
#
# February 2009
#
# Performance is 2x of gcc 3.4.6 on z10. Coding "secret" is to
avoid
#
arithmetic instructions, but adhere to load and load address in
#
order to minimize Address Generation Interlock
.
# Performance is 2x of gcc 3.4.6 on z10. Coding "secret" is to
#
"cluster" Address Generation Interlocks, so that one pipeline stall
#
resolves several dependencies
.
$rp
=
"
%r14
";
$sp
=
"
%r15
";
...
...
@@ -43,10 +43,10 @@ RC4:
llgc $XX[0],0($key)
llgc $YY,1($key)
la $XX[0],1($XX[0])
llgcr $XX[0],$XX[0]
llgc $TX[0],2($XX[0],$key)
nill $XX[0],0xff
srlg $cnt,$len,3
ltgr $cnt,$cnt
llgc $TX[0],2($XX[0],$key)
jz .Lshort
j .Loop8
...
...
@@ -56,17 +56,17 @@ ___
for
(
$i
=
0
;
$i
<
8
;
$i
++
)
{
$code
.=
<<___;
la $YY,0($YY,$TX[0]) # $i
llgcr $YY,$YY
nill $YY,255
la $XX[1],1($XX[0])
llgcr $XX[1],$XX[1]
nill $XX[1],255
___
$code
.=<<
___
if
(
$i
==
1
);
llgc
$acc
,
2
(
$TY
,
$key
)
___
$code
.=<<
___
if
(
$i
>
1
);
sllg
$acc
,
$acc
,
8
ic
$acc
,
2
(
$TY
,
$key
)
___
$code
.=<<
___
if
(
$i
==
1
);
llgc
$acc
,
2
(
$TY
,
$key
)
___
$code
.=
<<___;
llgc $TY,2($YY,$key)
stc $TX[0],2($YY,$key)
...
...
@@ -77,7 +77,7 @@ $code.=<<___;
la $TX[1],0($TX[0])
.Lcmov$i:
la $TY,0($TY,$TX[0])
llgcr $TY,$TY
nill $TY,255
___
push
(
@TX
,
shift
(
@TX
));
push
(
@XX
,
shift
(
@XX
));
# "rotate" registers
}
...
...
@@ -101,18 +101,18 @@ $code.=<<___;
.align 16
.Loop1:
la $YY,0($YY,$TX[0])
llgcr $YY,$YY
nill $YY,255
llgc $TY,2($YY,$key)
stc $TX[0],2($YY,$key)
stc $TY,2($XX[0],$key)
la $TY,0($TY,$TX[0])
llgcr $TY,$TY
la $XX[0],1($XX[0])
llgcr $XX[0],$XX[0]
llgc $TY,2($TY,$key)
llgc $TX[0],2($XX[0],$key)
ar $TY,$TX[0]
ahi $XX[0],1
nill $TY,255
nill $XX[0],255
llgc $acc,0($inp)
la $inp,1($inp)
llgc $TY,2($TY,$key)
llgc $TX[0],2($XX[0],$key)
xr $acc,$TY
stc $acc,0($out)
la $out,1($out)
...
...
@@ -168,8 +168,8 @@ RC4_set_key:
la $idx,0($idx,$acc)
la $ikey,1($ikey)
la $idx,0($idx,$dat)
nill $idx,255
la $iinp,1($iinp)
llgcr $idx,$idx
tml $ikey,255
llgc $dat,2($idx,$key)
stc $dat,2+256-1($ikey,$key)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录