2 # Copyright 2010-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
11 open STDOUT,">$output";
18 .globl OPENSSL_cpuid_setup
19 .ent OPENSSL_cpuid_setup
24 .end OPENSSL_cpuid_setup
26 .globl OPENSSL_wipe_cpu
79 .globl OPENSSL_atomic_add
80 .ent OPENSSL_atomic_add
90 .end OPENSSL_atomic_add
101 .globl OPENSSL_cleanse
123 .Lout: stq_u $1,0($2)
167 my ($out,$cnt,$max)=("\$16","\$17","\$18");
168 my ($tick,$lasttick)=("\$19","\$20");
169 my ($diff,$lastdiff)=("\$21","\$22");
170 my ($v0,$ra,$sp,$zero)=("\$0","\$26","\$30","\$31");
173 .globl OPENSSL_instrument_bus
174 .ent OPENSSL_instrument_bus
175 OPENSSL_instrument_bus:
185 addl $diff,$tick,$tick
191 subq $tick,$lasttick,$diff
196 addl $diff,$tick,$tick
206 .end OPENSSL_instrument_bus
208 .globl OPENSSL_instrument_bus2
209 .ent OPENSSL_instrument_bus2
210 OPENSSL_instrument_bus2:
220 addl $diff,$tick,$tick
226 subq $tick,$lasttick,$diff
232 addl $diff,$tick,$tick
241 subq $tick,$lasttick,$diff
243 subq $lastdiff,$diff,$tick
247 s4addq $tick,$out,$out
253 .end OPENSSL_instrument_bus2