Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
1b0fe79f
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看板
提交
1b0fe79f
编写于
7月 09, 2014
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
x86_64 assembly pack: improve masm support.
上级
d11c70b2
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
23 addition
and
13 deletion
+23
-13
crypto/aes/asm/aesni-sha256-x86_64.pl
crypto/aes/asm/aesni-sha256-x86_64.pl
+1
-1
crypto/bn/asm/rsaz-x86_64.pl
crypto/bn/asm/rsaz-x86_64.pl
+1
-1
crypto/bn/asm/x86_64-mont.pl
crypto/bn/asm/x86_64-mont.pl
+4
-2
crypto/bn/asm/x86_64-mont5.pl
crypto/bn/asm/x86_64-mont5.pl
+1
-1
crypto/modes/asm/aesni-gcm-x86_64.pl
crypto/modes/asm/aesni-gcm-x86_64.pl
+2
-2
crypto/perlasm/x86_64-xlate.pl
crypto/perlasm/x86_64-xlate.pl
+14
-6
未找到文件。
crypto/aes/asm/aesni-sha256-x86_64.pl
浏览文件 @
1b0fe79f
...
...
@@ -56,7 +56,7 @@ if (!$avx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) &&
if
(
!
$avx
&&
$win64
&&
(
$flavour
=~
/masm/
||
$ENV
{
ASM
}
=~
/ml64/
)
&&
`
ml64 2>&1
`
=~
/Version ([0-9]+)\./
)
{
$avx
=
(
$
1
>=
10
)
+
(
$
1
>=
1
1
);
$avx
=
(
$
1
>=
10
)
+
(
$
1
>=
1
2
);
}
if
(
!
$avx
&&
`
$ENV
{CC} -v 2>&1
`
=~
/(^clang version|based on LLVM) ([3-9]\.[0-9]+)/
)
{
...
...
crypto/bn/asm/rsaz-x86_64.pl
浏览文件 @
1b0fe79f
...
...
@@ -110,7 +110,7 @@ if (!$addx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) &&
if
(
!
$addx
&&
$win64
&&
(
$flavour
=~
/masm/
||
$ENV
{
ASM
}
=~
/ml64/
)
&&
`
ml64 2>&1
`
=~
/Version ([0-9]+)\./
)
{
$addx
=
(
$
1
>=
1
1
);
$addx
=
(
$
1
>=
1
2
);
}
if
(
!
$addx
&&
`
$ENV
{CC} -v 2>&1
`
=~
/(^clang version|based on LLVM) ([3-9])\.([0-9]+)/
)
{
...
...
crypto/bn/asm/x86_64-mont.pl
浏览文件 @
1b0fe79f
...
...
@@ -65,7 +65,7 @@ if (!$addx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) &&
if
(
!
$addx
&&
$win64
&&
(
$flavour
=~
/masm/
||
$ENV
{
ASM
}
=~
/ml64/
)
&&
`
ml64 2>&1
`
=~
/Version ([0-9]+)\./
)
{
$addx
=
(
$
1
>=
1
1
);
$addx
=
(
$
1
>=
1
2
);
}
# int bn_mul_mont(
...
...
@@ -742,9 +742,11 @@ my @A0=("%r10","%r11");
my
@A1
=
("
%r12
","
%r13
");
my
(
$a0
,
$a1
,
$ai
)
=
("
%r14
","
%r15
","
%rbx
");
$code
.=<<
___
if
(
$addx
);
.
extern
bn_sqrx8x_internal
# see x86_64-mont5 module
___
$code
.=
<<___;
.extern bn_sqr8x_internal # see x86_64-mont5 module
.extern bn_sqrx8x_internal # see x86_64-mont5 module
.type bn_sqr8x_mont,\@function,6
.align 32
...
...
crypto/bn/asm/x86_64-mont5.pl
浏览文件 @
1b0fe79f
...
...
@@ -50,7 +50,7 @@ if (!$addx && $win64 && ($flavour =~ /nasm/ || $ENV{ASM} =~ /nasm/) &&
if
(
!
$addx
&&
$win64
&&
(
$flavour
=~
/masm/
||
$ENV
{
ASM
}
=~
/ml64/
)
&&
`
ml64 2>&1
`
=~
/Version ([0-9]+)\./
)
{
$addx
=
(
$
1
>=
1
1
);
$addx
=
(
$
1
>=
1
2
);
}
# int bn_mul_mont_gather5(
...
...
crypto/modes/asm/aesni-gcm-x86_64.pl
浏览文件 @
1b0fe79f
...
...
@@ -92,7 +92,7 @@ _aesni_ctr32_ghash_6x:
.align 32
.Loop6x:
add \$
6<<24
,$counter
add \$
`6<<24`
,$counter
jc .Lhandle_ctr32 # discard $inout[1-5]?
vmovdqu 0x00-0x20($Xip),$Hkey # $Hkey^1
vpaddb $T2,$inout5,$T1 # next counter value
...
...
@@ -520,7 +520,7 @@ _aesni_ctr32_6x:
vmovups 0x10-0x80($key),$rndkey
lea 0x20-0x80($key),%r12
vpxor $Z0,$T1,$inout0
add \$
6<<24
,$counter
add \$
`6<<24`
,$counter
jc .Lhandle_ctr32_2
vpaddb $T2,$T1,$inout1
vpaddb $T2,$inout1,$inout2
...
...
crypto/perlasm/x86_64-xlate.pl
浏览文件 @
1b0fe79f
...
...
@@ -270,15 +270,20 @@ my %globals;
sprintf
"
%s%s(%%%s)
",
$self
->
{
asterisk
},
$self
->
{
label
},
$self
->
{
base
};
}
}
else
{
%szmap
=
(
b
=>
"
BYTE
$PTR
",
w
=>
"
WORD
$PTR
",
l
=>
"
DWORD
$PTR
",
q
=>
"
QWORD
$PTR
",
o
=>
"
OWORD
$PTR
",
x
=>
"
XMMWORD
$PTR
",
y=>"" );
%szmap
=
(
b
=>
"
BYTE
$PTR
",
w
=>
"
WORD
$PTR
",
l
=>
"
DWORD
$PTR
",
d
=>
"
DWORD
$PTR
",
q
=>
"
QWORD
$PTR
",
o
=>
"
OWORD
$PTR
",
x
=>
"
XMMWORD
$PTR
",
y=>"YMMWORD$PTR", z=>"ZMMWORD$PTR" );
$self->{label} =
~
s/\./\$/g
;
$self
->
{
label
}
=~
s/(?<![\w\$\.])0x([0-9a-f]+)/0$1h/ig
;
$self
->
{
label
}
=
"
(
$self
->{label})
"
if
(
$self
->
{
label
}
=~
/[\*\+\-\/]/
);
$sz
=
"
q
"
if
(
$self
->
{
asterisk
}
||
opcode
->
mnemonic
()
=~
/^v?movq$/
);
$sz
=
"
l
"
if
(
opcode
->
mnemonic
()
=~
/^v?movd$/
);
(
$self
->
{
asterisk
})
&&
(
$sz
=
"
q
")
||
(
opcode
->
mnemonic
()
=~
/^v?mov([qd])$/
)
&&
(
$sz
=
$
1
)
||
(
opcode
->
mnemonic
()
=~
/^v?pinsr([qdwb])$/
)
&&
(
$sz
=
$
1
)
||
(
opcode
->
mnemonic
()
=~
/^vpbroadcast([qdwb])$/
)
&&
(
$sz
=
$
1
)
||
(
opcode
->
mnemonic
()
=~
/^vinsert[fi]128$/
)
&&
(
$sz
=
"
x
");
if
(
defined
(
$self
->
{
index
}))
{
sprintf
"
%s[%s%s*%d%s]
",
$szmap
{
$sz
},
...
...
@@ -536,7 +541,7 @@ my %globals;
$v
=
"
$current_segment
\t
ENDS
\n
"
if
(
$current_segment
);
$current_segment
=
"
.text
\$
";
$v
.=
"
$current_segment
\t
SEGMENT
";
$v
.=
$masm
>=
$masmref
?
"
ALIGN(
64
)
"
:
"
PAGE
";
$v
.=
$masm
>=
$masmref
?
"
ALIGN(
256
)
"
:
"
PAGE
";
$v
.=
"
'CODE'
";
}
$self
->
{
value
}
=
$v
;
...
...
@@ -834,6 +839,8 @@ if ($nasm) {
print
<<___;
default rel
%define XMMWORD
%define YMMWORD
%define ZMMWORD
___
}
elsif
(
$masm
)
{
print
<<___;
...
...
@@ -897,6 +904,7 @@ while($line=<>) {
# $insn.=$sz compensates for movq, pinsrw, ...
if
(
$arg
=~
/^xmm[0-9]+$/
)
{
$insn
.=
$sz
;
$sz
=
"
x
"
if
(
!
$sz
);
last
;
}
if
(
$arg
=~
/^ymm[0-9]+$/
)
{
$insn
.=
$sz
;
$sz
=
"
y
"
if
(
!
$sz
);
last
;
}
if
(
$arg
=~
/^zmm[0-9]+$/
)
{
$insn
.=
$sz
;
$sz
=
"
z
"
if
(
!
$sz
);
last
;
}
if
(
$arg
=~
/^mm[0-9]+$/
)
{
$insn
.=
$sz
;
$sz
=
"
q
"
if
(
!
$sz
);
last
;
}
}
@args
=
reverse
(
@args
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录