Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
dd4a0af3
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
接近 2 年 前同步成功
通知
12
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看板
提交
dd4a0af3
编写于
9月 10, 2010
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
crypto/bn/asm/s390x.S: drop redundant instructions.
上级
7d1f55e9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
43 deletion
+43
-43
crypto/bn/asm/s390x.S
crypto/bn/asm/s390x.S
+43
-43
未找到文件。
crypto/bn/asm/s390x.S
浏览文件 @
dd4a0af3
.
ident
"
s390x.S
,
version
1
.
0
"
.
ident
"
s390x.S
,
version
1
.
1
"
//
===================================================================
=
//
===================================================================
=
//
Written
by
Andy
Polyakov
<
appro
@
fy
.
chalmers
.
se
>
for
the
OpenSSL
//
Written
by
Andy
Polyakov
<
appro
@
fy
.
chalmers
.
se
>
for
the
OpenSSL
//
project
.
//
project
.
...
@@ -24,67 +24,67 @@ bn_mul_add_words:
...
@@ -24,67 +24,67 @@ bn_mul_add_words:
bler
%
r14
//
if
(
len
<=
0
)
return
0
;
bler
%
r14
//
if
(
len
<=
0
)
return
0
;
stmg
%
r6
,%
r10
,
48
(%
r15
)
stmg
%
r6
,%
r10
,
48
(%
r15
)
lghi
%
r10
,
3
lghi
%
r8
,
0
//
carry
=
0
lghi
%
r8
,
0
//
carry
=
0
srag
%
r10
,%
r4
,
2
//
cnt
=
len
/
4
nr
%
r10
,%
r4
//
len
%4
jz
.
Loop1_madd
sra
%
r4
,
2
//
cnt
=
len
/
4
jz
.
Loop1_madd
//
carry
is
incidentally
cleared
if
branch
taken
algr
zero
,
zero
//
clear
carry
.
Loop4_madd
:
.
Loop4_madd
:
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
mlgr
%
r6
,%
r5
//
*=
w
mlgr
%
r6
,%
r5
//
*=
w
algr
%
r7
,%
r8
//
+=
carry
al
c
gr
%
r7
,%
r8
//
+=
carry
alcgr
%
r6
,
zero
alcgr
%
r6
,
zero
alg
%
r7
,
0
(%
r2
,%
r1
)
//
+=
rp
[
i
]
alg
%
r7
,
0
(%
r2
,%
r1
)
//
+=
rp
[
i
]
alcgr
%
r6
,
zero
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
lg
%
r9
,
8
(%
r2
,%
r3
)
lg
%
r9
,
8
(%
r2
,%
r3
)
mlgr
%
r8
,%
r5
mlgr
%
r8
,%
r5
algr
%
r9
,%
r6
al
c
gr
%
r9
,%
r6
alcgr
%
r8
,
zero
alcgr
%
r8
,
zero
alg
%
r9
,
8
(%
r2
,%
r1
)
alg
%
r9
,
8
(%
r2
,%
r1
)
alcgr
%
r8
,
zero
stg
%
r9
,
8
(%
r2
,%
r1
)
stg
%
r9
,
8
(%
r2
,%
r1
)
lg
%
r7
,
16
(%
r2
,%
r3
)
lg
%
r7
,
16
(%
r2
,%
r3
)
mlgr
%
r6
,%
r5
mlgr
%
r6
,%
r5
algr
%
r7
,%
r8
al
c
gr
%
r7
,%
r8
alcgr
%
r6
,
zero
alcgr
%
r6
,
zero
alg
%
r7
,
16
(%
r2
,%
r1
)
alg
%
r7
,
16
(%
r2
,%
r1
)
alcgr
%
r6
,
zero
stg
%
r7
,
16
(%
r2
,%
r1
)
stg
%
r7
,
16
(%
r2
,%
r1
)
lg
%
r9
,
24
(%
r2
,%
r3
)
lg
%
r9
,
24
(%
r2
,%
r3
)
mlgr
%
r8
,%
r5
mlgr
%
r8
,%
r5
algr
%
r9
,%
r6
al
c
gr
%
r9
,%
r6
alcgr
%
r8
,
zero
alcgr
%
r8
,
zero
alg
%
r9
,
24
(%
r2
,%
r1
)
alg
%
r9
,
24
(%
r2
,%
r1
)
alcgr
%
r8
,
zero
stg
%
r9
,
24
(%
r2
,%
r1
)
stg
%
r9
,
24
(%
r2
,%
r1
)
la
%
r2
,
32
(%
r2
)
//
i
+=
4
la
%
r2
,
32
(%
r2
)
//
i
+=
4
brct
%
r
10
,
.
Loop4_madd
brct
%
r
4
,
.
Loop4_madd
lghi
%
r10
,
3
la
%
r10
,
1
(%
r10
)
//
see
if
len
%4
is
zero
...
nr
%
r4
,%
r10
//
cnt
=
len
%4
brct
%
r10
,
.
Loop1_madd
//
without
touching
condition
code
:
-)
jz
.
Lend_madd
.
Lend_madd
:
alcgr
%
r8
,
zero
//
collect
carry
bit
lgr
%
r2
,%
r8
lmg
%
r6
,%
r10
,
48
(%
r15
)
br
%
r14
.
Loop1_madd
:
.
Loop1_madd
:
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
mlgr
%
r6
,%
r5
//
*=
w
mlgr
%
r6
,%
r5
//
*=
w
algr
%
r7
,%
r8
//
+=
carry
al
c
gr
%
r7
,%
r8
//
+=
carry
alcgr
%
r6
,
zero
alcgr
%
r6
,
zero
alg
%
r7
,
0
(%
r2
,%
r1
)
//
+=
rp
[
i
]
alg
%
r7
,
0
(%
r2
,%
r1
)
//
+=
rp
[
i
]
alcgr
%
r6
,
zero
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
lgr
%
r8
,%
r6
lgr
%
r8
,%
r6
la
%
r2
,
8
(%
r2
)
//
i
++
la
%
r2
,
8
(%
r2
)
//
i
++
brct
%
r
4
,
.
Loop1_madd
brct
%
r
10
,
.
Loop1_madd
.
Lend_madd
:
j
.
Lend_madd
lgr
%
r2
,%
r8
lmg
%
r6
,%
r10
,
48
(%
r15
)
br
%
r14
.
size
bn_mul_add_words
,.-
bn_mul_add_words
.
size
bn_mul_add_words
,.-
bn_mul_add_words
//
BN_ULONG
bn_mul_words
(
BN_ULONG
*
r2
,
BN_ULONG
*
r3
,
int
r4
,
BN_ULONG
r5
)
;
//
BN_ULONG
bn_mul_words
(
BN_ULONG
*
r2
,
BN_ULONG
*
r3
,
int
r4
,
BN_ULONG
r5
)
;
...
@@ -99,57 +99,57 @@ bn_mul_words:
...
@@ -99,57 +99,57 @@ bn_mul_words:
bler
%
r14
//
if
(
len
<=
0
)
return
0
;
bler
%
r14
//
if
(
len
<=
0
)
return
0
;
stmg
%
r6
,%
r10
,
48
(%
r15
)
stmg
%
r6
,%
r10
,
48
(%
r15
)
lghi
%
r10
,
3
lghi
%
r8
,
0
//
carry
=
0
lghi
%
r8
,
0
//
carry
=
0
srag
%
r10
,%
r4
,
2
//
cnt
=
len
/
4
nr
%
r10
,%
r4
//
len
%4
jz
.
Loop1_mul
sra
%
r4
,
2
//
cnt
=
len
/
4
jz
.
Loop1_mul
//
carry
is
incidentally
cleared
if
branch
taken
algr
zero
,
zero
//
clear
carry
.
Loop4_mul
:
.
Loop4_mul
:
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
mlgr
%
r6
,%
r5
//
*=
w
mlgr
%
r6
,%
r5
//
*=
w
algr
%
r7
,%
r8
//
+=
carry
alcgr
%
r7
,%
r8
//
+=
carry
alcgr
%
r6
,
zero
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
lg
%
r9
,
8
(%
r2
,%
r3
)
lg
%
r9
,
8
(%
r2
,%
r3
)
mlgr
%
r8
,%
r5
mlgr
%
r8
,%
r5
algr
%
r9
,%
r6
alcgr
%
r9
,%
r6
alcgr
%
r8
,
zero
stg
%
r9
,
8
(%
r2
,%
r1
)
stg
%
r9
,
8
(%
r2
,%
r1
)
lg
%
r7
,
16
(%
r2
,%
r3
)
lg
%
r7
,
16
(%
r2
,%
r3
)
mlgr
%
r6
,%
r5
mlgr
%
r6
,%
r5
algr
%
r7
,%
r8
alcgr
%
r7
,%
r8
alcgr
%
r6
,
zero
stg
%
r7
,
16
(%
r2
,%
r1
)
stg
%
r7
,
16
(%
r2
,%
r1
)
lg
%
r9
,
24
(%
r2
,%
r3
)
lg
%
r9
,
24
(%
r2
,%
r3
)
mlgr
%
r8
,%
r5
mlgr
%
r8
,%
r5
algr
%
r9
,%
r6
alcgr
%
r9
,%
r6
alcgr
%
r8
,
zero
stg
%
r9
,
24
(%
r2
,%
r1
)
stg
%
r9
,
24
(%
r2
,%
r1
)
la
%
r2
,
32
(%
r2
)
//
i
+=
4
la
%
r2
,
32
(%
r2
)
//
i
+=
4
brct
%
r
10
,
.
Loop4_mul
brct
%
r
4
,
.
Loop4_mul
lghi
%
r10
,
3
la
%
r10
,
1
(%
r10
)
//
see
if
len
%4
is
zero
...
nr
%
r4
,%
r10
//
cnt
=
len
%4
brct
%
r10
,
.
Loop1_madd
//
without
touching
condition
code
:
-)
jz
.
Lend_mul
.
Lend_mul
:
alcgr
%
r8
,
zero
//
collect
carry
bit
lgr
%
r2
,%
r8
lmg
%
r6
,%
r10
,
48
(%
r15
)
br
%
r14
.
Loop1_mul
:
.
Loop1_mul
:
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
lg
%
r7
,
0
(%
r2
,%
r3
)
//
ap
[
i
]
mlgr
%
r6
,%
r5
//
*=
w
mlgr
%
r6
,%
r5
//
*=
w
algr
%
r7
,%
r8
//
+=
carry
alcgr
%
r7
,%
r8
//
+=
carry
alcgr
%
r6
,
zero
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
stg
%
r7
,
0
(%
r2
,%
r1
)
//
rp
[
i
]=
lgr
%
r8
,%
r6
lgr
%
r8
,%
r6
la
%
r2
,
8
(%
r2
)
//
i
++
la
%
r2
,
8
(%
r2
)
//
i
++
brct
%
r
4
,
.
Loop1_mul
brct
%
r
10
,
.
Loop1_mul
.
Lend_mul
:
j
.
Lend_mul
lgr
%
r2
,%
r8
lmg
%
r6
,%
r10
,
48
(%
r15
)
br
%
r14
.
size
bn_mul_words
,.-
bn_mul_words
.
size
bn_mul_words
,.-
bn_mul_words
//
void
bn_sqr_words
(
BN_ULONG
*
r2
,
BN_ULONG
*
r2
,
int
r4
)
//
void
bn_sqr_words
(
BN_ULONG
*
r2
,
BN_ULONG
*
r2
,
int
r4
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录