2 # Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
4 # Licensed under the OpenSSL license (the "License"). You may not use
5 # this file except in compliance with the License. You can obtain a copy
6 # in the file LICENSE in the source distribution or at
7 # https://www.openssl.org/source/license.html
13 $0 =~ m/(.*[\/\\])[^\
/\\]+$/; $dir=$1;
14 ( $xlate="${dir}arm-xlate.pl" and -f
$xlate ) or
15 ( $xlate="${dir}perlasm/arm-xlate.pl" and -f
$xlate) or
16 die "can't locate arm-xlate.pl";
18 open OUT
,"| \"$^X\" $xlate $flavour $output";
28 .globl _armv7_neon_probe
29 .type _armv7_neon_probe
,%function
31 orr v15
.16b
, v15
.16b
, v15
.16b
33 .size _armv7_neon_probe
,.-_armv7_neon_probe
36 .type _armv7_tick
,%function
44 .size _armv7_tick
,.-_armv7_tick
46 .globl _armv8_aes_probe
47 .type _armv8_aes_probe
,%function
51 .size _armv8_aes_probe
,.-_armv8_aes_probe
53 .globl _armv8_sha1_probe
54 .type _armv8_sha1_probe
,%function
58 .size _armv8_sha1_probe
,.-_armv8_sha1_probe
60 .globl _armv8_sha256_probe
61 .type _armv8_sha256_probe
,%function
63 sha256su0 v0
.4s
, v0
.4s
65 .size _armv8_sha256_probe
,.-_armv8_sha256_probe
67 .globl _armv8_pmull_probe
68 .type _armv8_pmull_probe
,%function
70 pmull v0
.1q
, v0
.1d
, v0
.1d
72 .size _armv8_pmull_probe
,.-_armv8_pmull_probe
74 .globl _armv8_sha512_probe
75 .type _armv8_sha512_probe
,%function
77 .long
0xcec08000 // sha512su0 v0
.2d
,v0
.2d
79 .size _armv8_sha512_probe
,.-_armv8_sha512_probe
81 .globl OPENSSL_cleanse
82 .type OPENSSL_cleanse
,%function
85 cbz x1
,.Lret
// len
==0?
90 strb wzr
,[x0
],#1 // store byte-by-byte
97 b
.eq .Laligned
// inp is aligned
98 strb wzr
,[x0
],#1 // store byte-by-byte
104 str xzr
,[x0
],#8 // store word-by-word
107 b
.ne .Laligned
// len
>=8
108 cbnz x1
,.Little
// len
!=0?
110 .size OPENSSL_cleanse
,.-OPENSSL_cleanse
113 .type CRYPTO_memcmp
,%function
117 cbz x2
,.Lno_data
// len
==0?
130 .size CRYPTO_memcmp
,.-CRYPTO_memcmp