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
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