projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
crypto/armcap.c: detect hardware-assisted SHA512 support.
[openssl.git]
/
crypto
/
arm64cpuid.pl
diff --git
a/crypto/arm64cpuid.pl
b/crypto/arm64cpuid.pl
index c0af608142b972144283c1c2270ca23f057a714f..68734f5bedb4076a9bed32a144fe81cf4c77e238 100755
(executable)
--- a/
crypto/arm64cpuid.pl
+++ b/
crypto/arm64cpuid.pl
@@
-63,6
+63,7
@@
_armv8_sha256_probe:
sha256su0 v0.4s, v0.4s
ret
.size _armv8_sha256_probe,.-_armv8_sha256_probe
sha256su0 v0.4s, v0.4s
ret
.size _armv8_sha256_probe,.-_armv8_sha256_probe
+
.globl _armv8_pmull_probe
.type _armv8_pmull_probe,%function
_armv8_pmull_probe:
.globl _armv8_pmull_probe
.type _armv8_pmull_probe,%function
_armv8_pmull_probe:
@@
-70,6
+71,13
@@
_armv8_pmull_probe:
ret
.size _armv8_pmull_probe,.-_armv8_pmull_probe
ret
.size _armv8_pmull_probe,.-_armv8_pmull_probe
+.globl _armv8_sha512_probe
+.type _armv8_sha512_probe,%function
+_armv8_sha512_probe:
+ .long 0xcec08000 // sha512su0 v0.2d,v0.2d
+ ret
+.size _armv8_sha512_probe,.-_armv8_sha512_probe
+
.globl OPENSSL_cleanse
.type OPENSSL_cleanse,%function
.align 5
.globl OPENSSL_cleanse
.type OPENSSL_cleanse,%function
.align 5
@@
-100,6
+108,26
@@
OPENSSL_cleanse:
cbnz x1,.Little // len!=0?
ret
.size OPENSSL_cleanse,.-OPENSSL_cleanse
cbnz x1,.Little // len!=0?
ret
.size OPENSSL_cleanse,.-OPENSSL_cleanse
+
+.globl CRYPTO_memcmp
+.type CRYPTO_memcmp,%function
+.align 4
+CRYPTO_memcmp:
+ eor w3,w3,w3
+ cbz x2,.Lno_data // len==0?
+.Loop_cmp:
+ ldrb w4,[x0],#1
+ ldrb w5,[x1],#1
+ eor w4,w4,w5
+ orr w3,w3,w4
+ subs x2,x2,#1
+ b.ne .Loop_cmp
+
+.Lno_data:
+ neg w0,w3
+ lsr w0,w0,#31
+ ret
+.size CRYPTO_memcmp,.-CRYPTO_memcmp
___
print $code;
___
print $code;