]> git.ipfire.org Git - thirdparty/openssl.git/blob - crypto/alphacpuid.s
Type-checked (and modern C compliant) OBJ_bsearch.
[thirdparty/openssl.git] / crypto / alphacpuid.s
1 .text
2
3 .set noat
4
5 .globl OPENSSL_cpuid_setup
6 .ent OPENSSL_cpuid_setup
7 OPENSSL_cpuid_setup:
8 .frame $30,0,$26
9 .prologue 0
10 ret ($26)
11 .end OPENSSL_cpuid_setup
12
13 .globl OPENSSL_wipe_cpu
14 .ent OPENSSL_wipe_cpu
15 OPENSSL_wipe_cpu:
16 .frame $30,0,$26
17 .prologue 0
18 clr $1
19 clr $2
20 clr $3
21 clr $4
22 clr $5
23 clr $6
24 clr $7
25 clr $8
26 clr $16
27 clr $17
28 clr $18
29 clr $19
30 clr $20
31 clr $21
32 clr $22
33 clr $23
34 clr $24
35 clr $25
36 clr $27
37 clr $at
38 clr $29
39 fclr $f0
40 fclr $f1
41 fclr $f10
42 fclr $f11
43 fclr $f12
44 fclr $f13
45 fclr $f14
46 fclr $f15
47 fclr $f16
48 fclr $f17
49 fclr $f18
50 fclr $f19
51 fclr $f20
52 fclr $f21
53 fclr $f22
54 fclr $f23
55 fclr $f24
56 fclr $f25
57 fclr $f26
58 fclr $f27
59 fclr $f28
60 fclr $f29
61 fclr $f30
62 mov $sp,$0
63 ret ($26)
64 .end OPENSSL_wipe_cpu
65
66 .globl OPENSSL_atomic_add
67 .ent OPENSSL_atomic_add
68 OPENSSL_atomic_add:
69 .frame $30,0,$26
70 .prologue 0
71 1: ldl_l $0,($16)
72 addl $0,$17,$1
73 stl_c $1,($16)
74 beq $1,1b
75 addl $0,$17,$0
76 ret ($26)
77 .end OPENSSL_atomic_add
78
79 .globl OPENSSL_rdtsc
80 .ent OPENSSL_rdtsc
81 OPENSSL_rdtsc:
82 .frame $30,0,$26
83 .prologue 0
84 rpcc $0
85 ret ($26)
86 .end OPENSSL_rdtsc
87
88 .globl OPENSSL_cleanse
89 .ent OPENSSL_cleanse
90 OPENSSL_cleanse:
91 .frame $30,0,$26
92 .prologue 0
93 and $16,7,$0
94 bic $17,7,$at
95 beq $at,.Little
96 beq $0,.Laligned
97
98 .Little:
99 ldq_u $1,0($16)
100 mov $16,$2
101 .Lalign:
102 mskbl $1,$16,$1
103 lda $16,1($16)
104 subq $17,1,$17
105 subq $0,1,$0
106 beq $17,.Lout
107 bne $0,.Lalign
108 .Lout: stq_u $1,0($2)
109 beq $17,.Ldone
110 bic $17,7,$at
111 mov $17,$0
112 beq $at,.Little
113
114 .Laligned:
115 stq $31,0($16)
116 subq $17,8,$17
117 lda $16,8($16)
118 bic $17,7,$at
119 bne $at,.Laligned
120 beq $17,.Ldone
121 mov $17,$0
122 br .Little
123 .Ldone: ret ($26)
124 .end OPENSSL_cleanse