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,">$stdout";
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)
139 my ($out,$cnt,$max)=("\$16","\$17","\$18");
140 my ($tick,$lasttick)=("\$19","\$20");
141 my ($diff,$lastdiff)=("\$21","\$22");
142 my ($v0,$ra,$sp,$zero)=("\$0","\$26","\$30","\$31");
145 .globl OPENSSL_instrument_bus
146 .ent OPENSSL_instrument_bus
147 OPENSSL_instrument_bus:
157 addl $diff,$tick,$tick
163 subq $tick,$lasttick,$diff
168 addl $diff,$tick,$tick
178 .end OPENSSL_instrument_bus
180 .globl OPENSSL_instrument_bus2
181 .ent OPENSSL_instrument_bus2
182 OPENSSL_instrument_bus2:
192 addl $diff,$tick,$tick
198 subq $tick,$lasttick,$diff
204 addl $diff,$tick,$tick
213 subq $tick,$lasttick,$diff
215 subq $lastdiff,$diff,$tick
219 s4addq $tick,$out,$out
225 .end OPENSSL_instrument_bus2