2 # Copyright 2015-2016 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
66 .globl _armv8_pmull_probe
67 .type _armv8_pmull_probe
,%function
69 pmull v0
.1q
, v0
.1d
, v0
.1d
71 .size _armv8_pmull_probe
,.-_armv8_pmull_probe
73 .globl OPENSSL_cleanse
74 .type OPENSSL_cleanse
,%function
77 cbz x1
,.Lret
// len
==0?
82 strb wzr
,[x0
],#1 // store byte-by-byte
89 b
.eq .Laligned
// inp is aligned
90 strb wzr
,[x0
],#1 // store byte-by-byte
96 str xzr
,[x0
],#8 // store word-by-word
99 b
.ne .Laligned
// len
>=8
100 cbnz x1
,.Little
// len
!=0?
102 .size OPENSSL_cleanse
,.-OPENSSL_cleanse
105 .type CRYPTO_memcmp
,%function
109 cbz x2
,.Lno_data
// len
==0?
122 .size CRYPTO_memcmp
,.-CRYPTO_memcmp