2 # Copyright 2010-2016 The OpenSSL Project Authors. All Rights Reserved.
4 # Licensed under the Apache License 2.0 (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
10 $output = pop and open STDOUT,">$output";
17 .globl OPENSSL_cpuid_setup
18 .ent OPENSSL_cpuid_setup
23 .end OPENSSL_cpuid_setup
25 .globl OPENSSL_wipe_cpu
78 .globl OPENSSL_atomic_add
79 .ent OPENSSL_atomic_add
89 .end OPENSSL_atomic_add
100 .globl OPENSSL_cleanse
122 .Lout: stq_u $1,0($2)
166 my ($out,$cnt,$max)=("\$16","\$17","\$18");
167 my ($tick,$lasttick)=("\$19","\$20");
168 my ($diff,$lastdiff)=("\$21","\$22");
169 my ($v0,$ra,$sp,$zero)=("\$0","\$26","\$30","\$31");
172 .globl OPENSSL_instrument_bus
173 .ent OPENSSL_instrument_bus
174 OPENSSL_instrument_bus:
184 addl $diff,$tick,$tick
190 subq $tick,$lasttick,$diff
195 addl $diff,$tick,$tick
205 .end OPENSSL_instrument_bus
207 .globl OPENSSL_instrument_bus2
208 .ent OPENSSL_instrument_bus2
209 OPENSSL_instrument_bus2:
219 addl $diff,$tick,$tick
225 subq $tick,$lasttick,$diff
231 addl $diff,$tick,$tick
240 subq $tick,$lasttick,$diff
242 subq $lastdiff,$diff,$tick
246 s4addq $tick,$out,$out
252 .end OPENSSL_instrument_bus2
256 close STDOUT or die "error closing STDOUT";