Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
f6ff1aa8
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f6ff1aa8
编写于
8月 13, 2012
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sha512-x86_64.pl: revert previous change and solve the problem through
perlasm/x86_64-xlate.pl instead.
上级
3a5485a9
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
44 addition
and
5 deletion
+44
-5
crypto/perlasm/x86_64-xlate.pl
crypto/perlasm/x86_64-xlate.pl
+39
-0
crypto/sha/asm/sha512-x86_64.pl
crypto/sha/asm/sha512-x86_64.pl
+5
-5
未找到文件。
crypto/perlasm/x86_64-xlate.pl
浏览文件 @
f6ff1aa8
...
@@ -772,6 +772,45 @@ my $rdrand = sub {
...
@@ -772,6 +772,45 @@ my $rdrand = sub {
}
}
};
};
sub
rxb
{
local
*opcode
=
shift
;
my
(
$dst
,
$src1
,
$src2
,
$rxb
)
=
@_
;
$rxb
|=
0x7
<<
5
;
$rxb
&=~
(
0x04
<<
5
)
if
(
$dst
>=
8
);
$rxb
&=~
(
0x01
<<
5
)
if
(
$src1
>=
8
);
$rxb
&=~
(
0x02
<<
5
)
if
(
$src2
>=
8
);
push
@opcode
,
$rxb
;
}
my
$vprotd
=
sub
{
if
(
shift
=~
/\$([x0-9a-f]+),\s*%xmm([0-9]+),\s*%xmm([0-9]+)/
)
{
my
@opcode
=
(
0x8f
);
rxb
(
\
@opcode
,
$
3
,
$
2
,
-
1
,
0x08
);
push
@opcode
,
0x78
,
0xc2
;
push
@opcode
,
0xc0
|
(
$
2
&
7
)
|
((
$
3
&
7
)
<<
3
);
# ModR/M
my
$c
=
$
1
;
push
@opcode
,
$c
=~
/^0/
?
oct
(
$c
):
$c
;
@opcode
;
}
else
{
();
}
};
my
$vprotq
=
sub
{
if
(
shift
=~
/\$([x0-9a-f]+),\s*%xmm([0-9]+),\s*%xmm([0-9]+)/
)
{
my
@opcode
=
(
0x8f
);
rxb
(
\
@opcode
,
$
3
,
$
2
,
-
1
,
0x08
);
push
@opcode
,
0x78
,
0xc3
;
push
@opcode
,
0xc0
|
(
$
2
&
7
)
|
((
$
3
&
7
)
<<
3
);
# ModR/M
my
$c
=
$
1
;
push
@opcode
,
$c
=~
/^0/
?
oct
(
$c
):
$c
;
@opcode
;
}
else
{
();
}
};
if
(
$nasm
)
{
if
(
$nasm
)
{
print
<<___;
print
<<___;
default rel
default rel
...
...
crypto/sha/asm/sha512-x86_64.pl
浏览文件 @
f6ff1aa8
...
@@ -95,13 +95,13 @@ die "can't locate x86_64-xlate.pl";
...
@@ -95,13 +95,13 @@ die "can't locate x86_64-xlate.pl";
$avx
=
1
if
(`
$ENV
{CC} -Wa,-v -c -o /dev/null -x assembler /dev/null 2>&1
`
$avx
=
1
if
(`
$ENV
{CC} -Wa,-v -c -o /dev/null -x assembler /dev/null 2>&1
`
=~
/GNU assembler version ([2-9]\.[0-9]+)/
&&
=~
/GNU assembler version ([2-9]\.[0-9]+)/
&&
((
$xop
=
$
1
>=
2.21
)
||
$
1
>=
2.19
)
);
$
1
>=
2.19
);
$avx
=
1
if
(
!
$avx
&&
$win64
&&
(
$flavour
=~
/nasm/
||
$ENV
{
ASM
}
=~
/nasm/
)
&&
$avx
=
1
if
(
!
$avx
&&
$win64
&&
(
$flavour
=~
/nasm/
||
$ENV
{
ASM
}
=~
/nasm/
)
&&
`
nasm -v 2>&1
`
=~
/NASM version ([2-9]\.[0-9]+)/
&&
`
nasm -v 2>&1
`
=~
/NASM version ([2-9]\.[0-9]+)/
&&
(
$xop
=
$
1
>=
2.09
)
);
$
1
>=
2.09
);
$avx
=
1
if
(
!
$avx
&&
$win64
&&
(
$flavour
=~
/masm/
||
$ENV
{
ASM
}
=~
/ml64/
)
&&
$avx
=
1
if
(
!
$avx
&&
$win64
&&
(
$flavour
=~
/masm/
||
$ENV
{
ASM
}
=~
/ml64/
)
&&
`
ml64 2>&1
`
=~
/Version ([0-9]+)\./
&&
`
ml64 2>&1
`
=~
/Version ([0-9]+)\./
&&
(
$xop
=
$
1
>=
10
)
);
$
1
>=
10
);
open
STDOUT
,"
|
\"
$^X
\"
$xlate
$flavour
$output
";
open
STDOUT
,"
|
\"
$^X
\"
$xlate
$flavour
$output
";
...
@@ -237,7 +237,7 @@ $code.=<<___ if ($SZ==4 || $avx);
...
@@ -237,7 +237,7 @@ $code.=<<___ if ($SZ==4 || $avx);
mov
0
(
%r11
),
%r10d
mov
0
(
%r11
),
%r10d
mov
4
(
%r11
),
%r11d
mov
4
(
%r11
),
%r11d
___
___
$code
.=<<
___
if
(
$avx
&&
$
xop
&&
$
SZ
==
8
);
$code
.=<<
___
if
(
$avx
&&
$SZ
==
8
);
test
\
$
`
1<<11
`,
%r11d
# check for XOP
test
\
$
`
1<<11
`,
%r11d
# check for XOP
jnz
.
Lxop_shortcut
jnz
.
Lxop_shortcut
___
___
...
@@ -824,7 +824,7 @@ if ($avx) {{
...
@@ -824,7 +824,7 @@ if ($avx) {{
######################################################################
######################################################################
# XOP code path
# XOP code path
#
#
if
(
$
xop
&&
$
SZ
==
8
)
{
# SHA512 only
if
(
$SZ
==
8
)
{
# SHA512 only
$code
.=
<<___;
$code
.=
<<___;
.type ${func}_xop,\@function,4
.type ${func}_xop,\@function,4
.align 64
.align 64
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录