Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
3f9562a6
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看板
提交
3f9562a6
编写于
10月 31, 2013
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sha/asm/sha1-ppc.pl: add little-endian support.
Submitted by: Marcelo Cerri
上级
e6e29bc4
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
4 deletion
+26
-4
crypto/sha/asm/sha1-ppc.pl
crypto/sha/asm/sha1-ppc.pl
+26
-4
未找到文件。
crypto/sha/asm/sha1-ppc.pl
浏览文件 @
3f9562a6
...
...
@@ -38,6 +38,14 @@ if ($flavour =~ /64/) {
$PUSH
=
"
stw
";
}
else
{
die
"
nonsense
$flavour
";
}
# Define endianess based on flavour
# i.e.: linux64le
$LITTLE_ENDIAN
=
0
;
if
(
$flavour
=~
/le$/
)
{
die
"
little-endian is 64-bit only:
$flavour
"
if
(
$SIZE_T
==
4
);
$LITTLE_ENDIAN
=
1
;
}
$
0
=~
m/(.*[\/\\])[^\/\\]+$/
;
$dir
=
$
1
;
(
$xlate
=
"
${dir}
ppc-xlate.pl
"
and
-
f
$xlate
)
or
(
$xlate
=
"
${dir}
../../perlasm/ppc-xlate.pl
"
and
-
f
$xlate
)
or
...
...
@@ -68,14 +76,28 @@ $T ="r12";
@X
=
("
r16
","
r17
","
r18
","
r19
","
r20
","
r21
","
r22
","
r23
",
"
r24
","
r25
","
r26
","
r27
","
r28
","
r29
","
r30
","
r31
");
sub
loadbe
{
my
(
$dst
,
$src
,
$temp_reg
)
=
@_
;
$code
.=<<
___
if
(
!
$LITTLE_ENDIAN
);
lwz
$dst
,
$src
___
$code
.=<<
___
if
(
$LITTLE_ENDIAN
);
lwz
$temp_reg
,
$src
rotlwi
$dst
,
$temp_reg
,
8
rlwimi
$dst
,
$temp_reg
,
24
,
0
,
7
rlwimi
$dst
,
$temp_reg
,
24
,
16
,
23
___
}
sub
BODY_00_19
{
my
(
$i
,
$a
,
$b
,
$c
,
$d
,
$e
,
$f
)
=
@_
;
my
$j
=
$i
+
1
;
$code
.=<<
___
if
(
$i
==
0
);
lwz
@X
[
$i
],`
$i
*4
`(
$inp
)
___
# Since the last value of $f is discarded, we can use
# it as a temp reg to swap byte-order when needed.
loadbe
("
@X
[
$i
]
","
`
$i
*4`(
$inp
)
",
$f
)
if
(
$i
==
0
);
loadbe
("
@X
[
$j
]
","
`
$j
*4`(
$inp
)
",
$f
)
if
(
$i
<
15
);
$code
.=<<
___
if
(
$i
<
15
);
lwz
@X
[
$j
],`
$j
*4
`(
$inp
)
add
$f
,
$K
,
$e
rotlwi
$e
,
$a
,
5
add
$f
,
$f
,
@X
[
$i
]
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录