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