8914 loader: gcc 4.4.4 fails to allocate register for do_cpuid()
[unleashed.git] / lib / libcrypto / alphacpuid.pl
blob0ff4ae22e33c3b3d7be1a6b2a1280cd42403960a
1 #!/usr/bin/env perl
2 print <<'___';
3 .text
5 .set noat
7 .globl OPENSSL_cpuid_setup
8 .ent OPENSSL_cpuid_setup
9 OPENSSL_cpuid_setup:
10 .frame $30,0,$26
11 .prologue 0
12 ret ($26)
13 .end OPENSSL_cpuid_setup
15 .globl OPENSSL_wipe_cpu
16 .ent OPENSSL_wipe_cpu
17 OPENSSL_wipe_cpu:
18 .frame $30,0,$26
19 .prologue 0
20 clr $1
21 clr $2
22 clr $3
23 clr $4
24 clr $5
25 clr $6
26 clr $7
27 clr $8
28 clr $16
29 clr $17
30 clr $18
31 clr $19
32 clr $20
33 clr $21
34 clr $22
35 clr $23
36 clr $24
37 clr $25
38 clr $27
39 clr $at
40 clr $29
41 fclr $f0
42 fclr $f1
43 fclr $f10
44 fclr $f11
45 fclr $f12
46 fclr $f13
47 fclr $f14
48 fclr $f15
49 fclr $f16
50 fclr $f17
51 fclr $f18
52 fclr $f19
53 fclr $f20
54 fclr $f21
55 fclr $f22
56 fclr $f23
57 fclr $f24
58 fclr $f25
59 fclr $f26
60 fclr $f27
61 fclr $f28
62 fclr $f29
63 fclr $f30
64 mov $sp,$0
65 ret ($26)
66 .end OPENSSL_wipe_cpu
68 .globl OPENSSL_atomic_add
69 .ent OPENSSL_atomic_add
70 OPENSSL_atomic_add:
71 .frame $30,0,$26
72 .prologue 0
73 1: ldl_l $0,0($16)
74 addl $0,$17,$1
75 stl_c $1,0($16)
76 beq $1,1b
77 addl $0,$17,$0
78 ret ($26)
79 .end OPENSSL_atomic_add
80 ___