sha1-sparcv9a.S revision 1.1.1.1 1 .section ".text",#alloc,#execinstr
2
3 .align 64
4 vis_const:
5 .long 0x5a827999,0x5a827999 ! K_00_19
6 .long 0x6ed9eba1,0x6ed9eba1 ! K_20_39
7 .long 0x8f1bbcdc,0x8f1bbcdc ! K_40_59
8 .long 0xca62c1d6,0xca62c1d6 ! K_60_79
9 .long 0x00000100,0x00000100
10 .align 64
11 .type vis_const,#object
12 .size vis_const,(.-vis_const)
13
14 .globl sha1_block_data_order
15 sha1_block_data_order:
16 save %sp,-192,%sp
17 add %fp,2047-256,%g1
18
19 1: call .+8
20 add %o7,vis_const-1b,%i3
21
22 ldd [%i3+0],%f34
23 ldd [%i3+8],%f36
24 ldd [%i3+16],%f38
25 ldd [%i3+24],%f40
26 ldd [%i3+32],%f32
27
28 ld [%i0+0],%o0
29 and %g1,-256,%g1
30 ld [%i0+4],%o1
31 sub %g1,2047+192,%sp
32 ld [%i0+8],%o2
33 and %i1,7,%g4
34 ld [%i0+12],%o3
35 and %i1,-8,%i1
36 ld [%i0+16],%o4
37
38 ! X[16] is maintained in FP register bank
39 .word 0x81b00304 !alignaddr %g0,%g4,%g0
40 ldd [%i1+0],%f0
41 sub %i1,-64,%o5
42 ldd [%i1+8],%f2
43 and %o5,-64,%o5
44 ldd [%i1+16],%f4
45 and %o5,255,%o5
46 ldd [%i1+24],%f6
47 add %g1,%o5,%o5
48 ldd [%i1+32],%f8
49 ldd [%i1+40],%f10
50 ldd [%i1+48],%f12
51 brz,pt %g4,.Laligned
52 ldd [%i1+56],%f14
53
54 ldd [%i1+64],%f16
55 .word 0x81b00902 !faligndata %f0,%f2,%f0
56 .word 0x85b08904 !faligndata %f2,%f4,%f2
57 .word 0x89b10906 !faligndata %f4,%f6,%f4
58 .word 0x8db18908 !faligndata %f6,%f8,%f6
59 .word 0x91b2090a !faligndata %f8,%f10,%f8
60 .word 0x95b2890c !faligndata %f10,%f12,%f10
61 .word 0x99b3090e !faligndata %f12,%f14,%f12
62 .word 0x9db38910 !faligndata %f14,%f16,%f14
63
64 .Laligned:
65 mov 5,%i3
66 dec 1,%i2
67 .word 0x81b0031b !alignaddr %g0,%i3,%g0
68 .word 0xa1b0ca40 !fpadd32 %f34,%f0,%f16
69 .word 0xa5b0ca42 !fpadd32 %f34,%f2,%f18
70 .word 0xa9b0ca44 !fpadd32 %f34,%f4,%f20
71 .word 0xadb0ca46 !fpadd32 %f34,%f6,%f22
72 .word 0xb1b0ca48 !fpadd32 %f34,%f8,%f24
73 .word 0xb5b0ca4a !fpadd32 %f34,%f10,%f26
74 .word 0xb9b0ca4c !fpadd32 %f34,%f12,%f28
75 .word 0xbdb0ca4e !fpadd32 %f34,%f14,%f30
76 std %f16,[%o5+0]
77 mov %o0,%l0
78 std %f18,[%o5+8]
79 mov %o1,%l1
80 std %f20,[%o5+16]
81 mov %o2,%l2
82 std %f22,[%o5+24]
83 mov %o3,%l3
84 std %f24,[%o5+32]
85 mov %o4,%l4
86 std %f26,[%o5+40]
87 .word 0x81b34da0 !fxors %f13,%f0,%f0
88 std %f28,[%o5+48]
89 ba .Loop
90 std %f30,[%o5+56]
91 .align 32
92 .Loop:
93 sll %l0,5,%i3 !! 0
94 and %l2,%l1,%g5
95 ld [%o5+0],%o7
96 .word 0x83b38da1 !fxors %f14,%f1,%f1! 0/ 0/ 0:X[1]^=X[14]
97 srl %l0,27,%i4
98 add %i3,%l4,%l4
99 .word 0xa5b08d88 !fxor %f2,%f8,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
100 sll %l1,30,%i5
101 add %i4,%l4,%l4
102 andn %l3,%l1,%i4
103 add %o7,%l4,%l4
104 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
105 srl %l1,2,%l1
106 or %i4,%g5,%i4
107 or %i5,%l1,%l1
108 add %i4,%l4,%l4
109 .word 0xa5b00900 !faligndata %f0,%f0,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
110 sll %l4,5,%i3 !! 1
111 and %l1,%l0,%g5
112 ld [%o5+4],%o7
113 .word 0x81b00a40 !fpadd32 %f0,%f0,%f0 ! 4/ 8/ 6:X[0,1]<<=1
114 srl %l4,27,%i4
115 add %i3,%l3,%l3
116 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
117 sll %l0,30,%i5
118 add %i4,%l3,%l3
119 .word 0xa9b0ca4e !fpadd32 %f34,%f14,%f20 !
120 andn %l2,%l0,%i4
121 add %o7,%l3,%l3
122 .word 0x85b3cda2 !fxors %f15,%f2,%f2 !-1/-1/-1:X[0]^=X[13]
123 srl %l0,2,%l0
124 or %i4,%g5,%i4
125 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 8/14/10:X[0,1]|=Tmp
126 or %i5,%l0,%l0
127 add %i4,%l3,%l3
128 sll %l3,5,%i3 !! 2
129 and %l0,%l4,%g5
130 ld [%o5+8],%o7
131 .word 0x87b00da3 !fxors %f0,%f3,%f3! 0/ 0/ 0:X[1]^=X[14]
132 srl %l3,27,%i4
133 add %i3,%l2,%l2
134 .word 0xa5b10d8a !fxor %f4,%f10,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
135 sll %l4,30,%i5
136 add %i4,%l2,%l2
137 andn %l1,%l4,%i4
138 add %o7,%l2,%l2
139 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
140 srl %l4,2,%l4
141 or %i4,%g5,%i4
142 or %i5,%l4,%l4
143 add %i4,%l2,%l2
144 .word 0xa5b08902 !faligndata %f2,%f2,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
145 sll %l2,5,%i3 !! 3
146 and %l4,%l3,%g5
147 ld [%o5+12],%o7
148 .word 0x85b08a42 !fpadd32 %f2,%f2,%f2 ! 4/ 8/ 6:X[0,1]<<=1
149 srl %l2,27,%i4
150 add %i3,%l1,%l1
151 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
152 sll %l3,30,%i5
153 add %i4,%l1,%l1
154 .word 0xa9b0ca40 !fpadd32 %f34,%f0,%f20 !
155 andn %l0,%l3,%i4
156 add %o7,%l1,%l1
157 .word 0x89b04da4 !fxors %f1,%f4,%f4 !-1/-1/-1:X[0]^=X[13]
158 srl %l3,2,%l3
159 or %i4,%g5,%i4
160 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 8/14/10:X[0,1]|=Tmp
161 or %i5,%l3,%l3
162 add %i4,%l1,%l1
163 std %f20,[%o5+0] !
164 sll %l1,5,%i3 !! 4
165 and %l3,%l2,%g5
166 ld [%o5+16],%o7
167 .word 0x8bb08da5 !fxors %f2,%f5,%f5! 0/ 0/ 0:X[1]^=X[14]
168 srl %l1,27,%i4
169 add %i3,%l0,%l0
170 .word 0xa5b18d8c !fxor %f6,%f12,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
171 sll %l2,30,%i5
172 add %i4,%l0,%l0
173 andn %l4,%l2,%i4
174 add %o7,%l0,%l0
175 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
176 srl %l2,2,%l2
177 or %i4,%g5,%i4
178 or %i5,%l2,%l2
179 add %i4,%l0,%l0
180 .word 0xa5b10904 !faligndata %f4,%f4,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
181 sll %l0,5,%i3 !! 5
182 and %l2,%l1,%g5
183 ld [%o5+20],%o7
184 .word 0x89b10a44 !fpadd32 %f4,%f4,%f4 ! 4/ 8/ 6:X[0,1]<<=1
185 srl %l0,27,%i4
186 add %i3,%l4,%l4
187 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
188 sll %l1,30,%i5
189 add %i4,%l4,%l4
190 .word 0xa9b0ca42 !fpadd32 %f34,%f2,%f20 !
191 andn %l3,%l1,%i4
192 add %o7,%l4,%l4
193 .word 0x8db0cda6 !fxors %f3,%f6,%f6 !-1/-1/-1:X[0]^=X[13]
194 srl %l1,2,%l1
195 or %i4,%g5,%i4
196 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 8/14/10:X[0,1]|=Tmp
197 or %i5,%l1,%l1
198 add %i4,%l4,%l4
199 std %f20,[%o5+8] !
200 sll %l4,5,%i3 !! 6
201 and %l1,%l0,%g5
202 ld [%o5+24],%o7
203 .word 0x8fb10da7 !fxors %f4,%f7,%f7! 0/ 0/ 0:X[1]^=X[14]
204 srl %l4,27,%i4
205 add %i3,%l3,%l3
206 .word 0xa5b20d8e !fxor %f8,%f14,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
207 sll %l0,30,%i5
208 add %i4,%l3,%l3
209 andn %l2,%l0,%i4
210 add %o7,%l3,%l3
211 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
212 srl %l0,2,%l0
213 or %i4,%g5,%i4
214 or %i5,%l0,%l0
215 add %i4,%l3,%l3
216 .word 0xa5b18906 !faligndata %f6,%f6,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
217 sll %l3,5,%i3 !! 7
218 and %l0,%l4,%g5
219 ld [%o5+28],%o7
220 .word 0x8db18a46 !fpadd32 %f6,%f6,%f6 ! 4/ 8/ 6:X[0,1]<<=1
221 srl %l3,27,%i4
222 add %i3,%l2,%l2
223 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
224 sll %l4,30,%i5
225 add %i4,%l2,%l2
226 .word 0xa9b14a44 !fpadd32 %f36,%f4,%f20 !
227 andn %l1,%l4,%i4
228 add %o7,%l2,%l2
229 .word 0x91b14da8 !fxors %f5,%f8,%f8 !-1/-1/-1:X[0]^=X[13]
230 srl %l4,2,%l4
231 or %i4,%g5,%i4
232 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 8/14/10:X[0,1]|=Tmp
233 or %i5,%l4,%l4
234 add %i4,%l2,%l2
235 std %f20,[%o5+16] !
236 sll %l2,5,%i3 !! 8
237 and %l4,%l3,%g5
238 ld [%o5+32],%o7
239 .word 0x93b18da9 !fxors %f6,%f9,%f9! 0/ 0/ 0:X[1]^=X[14]
240 srl %l2,27,%i4
241 add %i3,%l1,%l1
242 .word 0xa5b28d80 !fxor %f10,%f0,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
243 sll %l3,30,%i5
244 add %i4,%l1,%l1
245 andn %l0,%l3,%i4
246 add %o7,%l1,%l1
247 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
248 srl %l3,2,%l3
249 or %i4,%g5,%i4
250 or %i5,%l3,%l3
251 add %i4,%l1,%l1
252 .word 0xa5b20908 !faligndata %f8,%f8,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
253 sll %l1,5,%i3 !! 9
254 and %l3,%l2,%g5
255 ld [%o5+36],%o7
256 .word 0x91b20a48 !fpadd32 %f8,%f8,%f8 ! 4/ 8/ 6:X[0,1]<<=1
257 srl %l1,27,%i4
258 add %i3,%l0,%l0
259 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
260 sll %l2,30,%i5
261 add %i4,%l0,%l0
262 .word 0xa9b14a46 !fpadd32 %f36,%f6,%f20 !
263 andn %l4,%l2,%i4
264 add %o7,%l0,%l0
265 .word 0x95b1cdaa !fxors %f7,%f10,%f10 !-1/-1/-1:X[0]^=X[13]
266 srl %l2,2,%l2
267 or %i4,%g5,%i4
268 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 8/14/10:X[0,1]|=Tmp
269 or %i5,%l2,%l2
270 add %i4,%l0,%l0
271 std %f20,[%o5+24] !
272 sll %l0,5,%i3 !! 10
273 and %l2,%l1,%g5
274 ld [%o5+40],%o7
275 .word 0x97b20dab !fxors %f8,%f11,%f11! 0/ 0/ 0:X[1]^=X[14]
276 srl %l0,27,%i4
277 add %i3,%l4,%l4
278 .word 0xa5b30d82 !fxor %f12,%f2,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
279 sll %l1,30,%i5
280 add %i4,%l4,%l4
281 andn %l3,%l1,%i4
282 add %o7,%l4,%l4
283 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
284 srl %l1,2,%l1
285 or %i4,%g5,%i4
286 or %i5,%l1,%l1
287 add %i4,%l4,%l4
288 .word 0xa5b2890a !faligndata %f10,%f10,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
289 sll %l4,5,%i3 !! 11
290 and %l1,%l0,%g5
291 ld [%o5+44],%o7
292 .word 0x95b28a4a !fpadd32 %f10,%f10,%f10 ! 4/ 8/ 6:X[0,1]<<=1
293 srl %l4,27,%i4
294 add %i3,%l3,%l3
295 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
296 sll %l0,30,%i5
297 add %i4,%l3,%l3
298 .word 0xa9b14a48 !fpadd32 %f36,%f8,%f20 !
299 andn %l2,%l0,%i4
300 add %o7,%l3,%l3
301 .word 0x99b24dac !fxors %f9,%f12,%f12 !-1/-1/-1:X[0]^=X[13]
302 srl %l0,2,%l0
303 or %i4,%g5,%i4
304 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 8/14/10:X[0,1]|=Tmp
305 or %i5,%l0,%l0
306 add %i4,%l3,%l3
307 std %f20,[%o5+32] !
308 sll %l3,5,%i3 !! 12
309 and %l0,%l4,%g5
310 ld [%o5+48],%o7
311 .word 0x9bb28dad !fxors %f10,%f13,%f13! 0/ 0/ 0:X[1]^=X[14]
312 srl %l3,27,%i4
313 add %i3,%l2,%l2
314 .word 0xa5b38d84 !fxor %f14,%f4,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
315 sll %l4,30,%i5
316 add %i4,%l2,%l2
317 andn %l1,%l4,%i4
318 add %o7,%l2,%l2
319 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
320 srl %l4,2,%l4
321 or %i4,%g5,%i4
322 or %i5,%l4,%l4
323 add %i4,%l2,%l2
324 .word 0xa5b3090c !faligndata %f12,%f12,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
325 sll %l2,5,%i3 !! 13
326 and %l4,%l3,%g5
327 ld [%o5+52],%o7
328 .word 0x99b30a4c !fpadd32 %f12,%f12,%f12 ! 4/ 8/ 6:X[0,1]<<=1
329 srl %l2,27,%i4
330 add %i3,%l1,%l1
331 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
332 sll %l3,30,%i5
333 add %i4,%l1,%l1
334 .word 0xa9b14a4a !fpadd32 %f36,%f10,%f20 !
335 andn %l0,%l3,%i4
336 add %o7,%l1,%l1
337 .word 0x9db2cdae !fxors %f11,%f14,%f14 !-1/-1/-1:X[0]^=X[13]
338 srl %l3,2,%l3
339 or %i4,%g5,%i4
340 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 8/14/10:X[0,1]|=Tmp
341 or %i5,%l3,%l3
342 add %i4,%l1,%l1
343 std %f20,[%o5+40] !
344 sll %l1,5,%i3 !! 14
345 and %l3,%l2,%g5
346 ld [%o5+56],%o7
347 .word 0x9fb30daf !fxors %f12,%f15,%f15! 0/ 0/ 0:X[1]^=X[14]
348 srl %l1,27,%i4
349 add %i3,%l0,%l0
350 .word 0xa5b00d86 !fxor %f0,%f6,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
351 sll %l2,30,%i5
352 add %i4,%l0,%l0
353 andn %l4,%l2,%i4
354 add %o7,%l0,%l0
355 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
356 srl %l2,2,%l2
357 or %i4,%g5,%i4
358 or %i5,%l2,%l2
359 add %i4,%l0,%l0
360 .word 0xa5b3890e !faligndata %f14,%f14,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
361 sll %l0,5,%i3 !! 15
362 and %l2,%l1,%g5
363 ld [%o5+60],%o7
364 .word 0x9db38a4e !fpadd32 %f14,%f14,%f14 ! 4/ 8/ 6:X[0,1]<<=1
365 srl %l0,27,%i4
366 add %i3,%l4,%l4
367 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
368 sll %l1,30,%i5
369 add %i4,%l4,%l4
370 .word 0xa9b14a4c !fpadd32 %f36,%f12,%f20 !
371 andn %l3,%l1,%i4
372 add %o7,%l4,%l4
373 .word 0x81b34da0 !fxors %f13,%f0,%f0 !-1/-1/-1:X[0]^=X[13]
374 srl %l1,2,%l1
375 or %i4,%g5,%i4
376 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 8/14/10:X[0,1]|=Tmp
377 or %i5,%l1,%l1
378 add %i4,%l4,%l4
379 std %f20,[%o5+48] !
380 sll %l4,5,%i3 !! 16
381 and %l1,%l0,%g5
382 ld [%o5+0],%o7
383 .word 0x83b38da1 !fxors %f14,%f1,%f1! 0/ 0/ 0:X[1]^=X[14]
384 srl %l4,27,%i4
385 add %i3,%l3,%l3
386 .word 0xa5b08d88 !fxor %f2,%f8,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
387 sll %l0,30,%i5
388 add %i4,%l3,%l3
389 andn %l2,%l0,%i4
390 add %o7,%l3,%l3
391 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
392 srl %l0,2,%l0
393 or %i4,%g5,%i4
394 or %i5,%l0,%l0
395 add %i4,%l3,%l3
396 .word 0xa5b00900 !faligndata %f0,%f0,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
397 sll %l3,5,%i3 !! 17
398 and %l0,%l4,%g5
399 ld [%o5+4],%o7
400 .word 0x81b00a40 !fpadd32 %f0,%f0,%f0 ! 4/ 8/ 6:X[0,1]<<=1
401 srl %l3,27,%i4
402 add %i3,%l2,%l2
403 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
404 sll %l4,30,%i5
405 add %i4,%l2,%l2
406 .word 0xa9b14a4e !fpadd32 %f36,%f14,%f20 !
407 andn %l1,%l4,%i4
408 add %o7,%l2,%l2
409 .word 0x85b3cda2 !fxors %f15,%f2,%f2 !-1/-1/-1:X[0]^=X[13]
410 srl %l4,2,%l4
411 or %i4,%g5,%i4
412 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 8/14/10:X[0,1]|=Tmp
413 or %i5,%l4,%l4
414 add %i4,%l2,%l2
415 std %f20,[%o5+56] !
416 sll %l2,5,%i3 !! 18
417 and %l4,%l3,%g5
418 ld [%o5+8],%o7
419 .word 0x87b00da3 !fxors %f0,%f3,%f3! 0/ 0/ 0:X[1]^=X[14]
420 srl %l2,27,%i4
421 add %i3,%l1,%l1
422 .word 0xa5b10d8a !fxor %f4,%f10,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
423 sll %l3,30,%i5
424 add %i4,%l1,%l1
425 andn %l0,%l3,%i4
426 add %o7,%l1,%l1
427 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
428 srl %l3,2,%l3
429 or %i4,%g5,%i4
430 or %i5,%l3,%l3
431 add %i4,%l1,%l1
432 .word 0xa5b08902 !faligndata %f2,%f2,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
433 sll %l1,5,%i3 !! 19
434 and %l3,%l2,%g5
435 ld [%o5+12],%o7
436 .word 0x85b08a42 !fpadd32 %f2,%f2,%f2 ! 4/ 8/ 6:X[0,1]<<=1
437 srl %l1,27,%i4
438 add %i3,%l0,%l0
439 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
440 sll %l2,30,%i5
441 add %i4,%l0,%l0
442 .word 0xa9b14a40 !fpadd32 %f36,%f0,%f20 !
443 andn %l4,%l2,%i4
444 add %o7,%l0,%l0
445 .word 0x89b04da4 !fxors %f1,%f4,%f4 !-1/-1/-1:X[0]^=X[13]
446 srl %l2,2,%l2
447 or %i4,%g5,%i4
448 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 8/14/10:X[0,1]|=Tmp
449 or %i5,%l2,%l2
450 add %i4,%l0,%l0
451 std %f20,[%o5+0] !
452 sll %l0,5,%i3 !! 20
453 ld [%o5+16],%o7
454 .word 0x8bb08da5 !fxors %f2,%f5,%f5! 0/ 0/ 0:X[1]^=X[14]
455 srl %l0,27,%i4
456 add %i3,%l4,%l4
457 .word 0xa5b18d8c !fxor %f6,%f12,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
458 xor %l2,%l1,%i3
459 add %i4,%l4,%l4
460 sll %l1,30,%i5
461 xor %l3,%i3,%i4
462 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
463 srl %l1,2,%l1
464 add %i4,%l4,%l4
465 or %i5,%l1,%l1
466 add %o7,%l4,%l4
467 .word 0xa5b10904 !faligndata %f4,%f4,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
468 sll %l4,5,%i3 !! 21
469 ld [%o5+20],%o7
470 .word 0x89b10a44 !fpadd32 %f4,%f4,%f4 ! 4/ 8/ 6:X[0,1]<<=1
471 srl %l4,27,%i4
472 add %i3,%l3,%l3
473 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
474 xor %l1,%l0,%i3
475 add %i4,%l3,%l3
476 .word 0xa9b14a42 !fpadd32 %f36,%f2,%f20 !
477 sll %l0,30,%i5
478 xor %l2,%i3,%i4
479 .word 0x8db0cda6 !fxors %f3,%f6,%f6 !-1/-1/-1:X[0]^=X[13]
480 srl %l0,2,%l0
481 add %i4,%l3,%l3
482 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 8/14/10:X[0,1]|=Tmp
483 or %i5,%l0,%l0
484 add %o7,%l3,%l3
485 std %f20,[%o5+8] !
486 sll %l3,5,%i3 !! 22
487 ld [%o5+24],%o7
488 .word 0x8fb10da7 !fxors %f4,%f7,%f7! 0/ 0/ 0:X[1]^=X[14]
489 srl %l3,27,%i4
490 add %i3,%l2,%l2
491 .word 0xa5b20d8e !fxor %f8,%f14,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
492 xor %l0,%l4,%i3
493 add %i4,%l2,%l2
494 sll %l4,30,%i5
495 xor %l1,%i3,%i4
496 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
497 srl %l4,2,%l4
498 add %i4,%l2,%l2
499 or %i5,%l4,%l4
500 add %o7,%l2,%l2
501 .word 0xa5b18906 !faligndata %f6,%f6,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
502 sll %l2,5,%i3 !! 23
503 ld [%o5+28],%o7
504 .word 0x8db18a46 !fpadd32 %f6,%f6,%f6 ! 4/ 8/ 6:X[0,1]<<=1
505 srl %l2,27,%i4
506 add %i3,%l1,%l1
507 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
508 xor %l4,%l3,%i3
509 add %i4,%l1,%l1
510 .word 0xa9b14a44 !fpadd32 %f36,%f4,%f20 !
511 sll %l3,30,%i5
512 xor %l0,%i3,%i4
513 .word 0x91b14da8 !fxors %f5,%f8,%f8 !-1/-1/-1:X[0]^=X[13]
514 srl %l3,2,%l3
515 add %i4,%l1,%l1
516 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 8/14/10:X[0,1]|=Tmp
517 or %i5,%l3,%l3
518 add %o7,%l1,%l1
519 std %f20,[%o5+16] !
520 sll %l1,5,%i3 !! 24
521 ld [%o5+32],%o7
522 .word 0x93b18da9 !fxors %f6,%f9,%f9! 0/ 0/ 0:X[1]^=X[14]
523 srl %l1,27,%i4
524 add %i3,%l0,%l0
525 .word 0xa5b28d80 !fxor %f10,%f0,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
526 xor %l3,%l2,%i3
527 add %i4,%l0,%l0
528 sll %l2,30,%i5
529 xor %l4,%i3,%i4
530 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
531 srl %l2,2,%l2
532 add %i4,%l0,%l0
533 or %i5,%l2,%l2
534 add %o7,%l0,%l0
535 .word 0xa5b20908 !faligndata %f8,%f8,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
536 sll %l0,5,%i3 !! 25
537 ld [%o5+36],%o7
538 .word 0x91b20a48 !fpadd32 %f8,%f8,%f8 ! 4/ 8/ 6:X[0,1]<<=1
539 srl %l0,27,%i4
540 add %i3,%l4,%l4
541 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
542 xor %l2,%l1,%i3
543 add %i4,%l4,%l4
544 .word 0xa9b14a46 !fpadd32 %f36,%f6,%f20 !
545 sll %l1,30,%i5
546 xor %l3,%i3,%i4
547 .word 0x95b1cdaa !fxors %f7,%f10,%f10 !-1/-1/-1:X[0]^=X[13]
548 srl %l1,2,%l1
549 add %i4,%l4,%l4
550 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 8/14/10:X[0,1]|=Tmp
551 or %i5,%l1,%l1
552 add %o7,%l4,%l4
553 std %f20,[%o5+24] !
554 sll %l4,5,%i3 !! 26
555 ld [%o5+40],%o7
556 .word 0x97b20dab !fxors %f8,%f11,%f11! 0/ 0/ 0:X[1]^=X[14]
557 srl %l4,27,%i4
558 add %i3,%l3,%l3
559 .word 0xa5b30d82 !fxor %f12,%f2,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
560 xor %l1,%l0,%i3
561 add %i4,%l3,%l3
562 sll %l0,30,%i5
563 xor %l2,%i3,%i4
564 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
565 srl %l0,2,%l0
566 add %i4,%l3,%l3
567 or %i5,%l0,%l0
568 add %o7,%l3,%l3
569 .word 0xa5b2890a !faligndata %f10,%f10,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
570 sll %l3,5,%i3 !! 27
571 ld [%o5+44],%o7
572 .word 0x95b28a4a !fpadd32 %f10,%f10,%f10 ! 4/ 8/ 6:X[0,1]<<=1
573 srl %l3,27,%i4
574 add %i3,%l2,%l2
575 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
576 xor %l0,%l4,%i3
577 add %i4,%l2,%l2
578 .word 0xa9b1ca48 !fpadd32 %f38,%f8,%f20 !
579 sll %l4,30,%i5
580 xor %l1,%i3,%i4
581 .word 0x99b24dac !fxors %f9,%f12,%f12 !-1/-1/-1:X[0]^=X[13]
582 srl %l4,2,%l4
583 add %i4,%l2,%l2
584 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 8/14/10:X[0,1]|=Tmp
585 or %i5,%l4,%l4
586 add %o7,%l2,%l2
587 std %f20,[%o5+32] !
588 sll %l2,5,%i3 !! 28
589 ld [%o5+48],%o7
590 .word 0x9bb28dad !fxors %f10,%f13,%f13! 0/ 0/ 0:X[1]^=X[14]
591 srl %l2,27,%i4
592 add %i3,%l1,%l1
593 .word 0xa5b38d84 !fxor %f14,%f4,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
594 xor %l4,%l3,%i3
595 add %i4,%l1,%l1
596 sll %l3,30,%i5
597 xor %l0,%i3,%i4
598 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
599 srl %l3,2,%l3
600 add %i4,%l1,%l1
601 or %i5,%l3,%l3
602 add %o7,%l1,%l1
603 .word 0xa5b3090c !faligndata %f12,%f12,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
604 sll %l1,5,%i3 !! 29
605 ld [%o5+52],%o7
606 .word 0x99b30a4c !fpadd32 %f12,%f12,%f12 ! 4/ 8/ 6:X[0,1]<<=1
607 srl %l1,27,%i4
608 add %i3,%l0,%l0
609 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
610 xor %l3,%l2,%i3
611 add %i4,%l0,%l0
612 .word 0xa9b1ca4a !fpadd32 %f38,%f10,%f20 !
613 sll %l2,30,%i5
614 xor %l4,%i3,%i4
615 .word 0x9db2cdae !fxors %f11,%f14,%f14 !-1/-1/-1:X[0]^=X[13]
616 srl %l2,2,%l2
617 add %i4,%l0,%l0
618 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 8/14/10:X[0,1]|=Tmp
619 or %i5,%l2,%l2
620 add %o7,%l0,%l0
621 std %f20,[%o5+40] !
622 sll %l0,5,%i3 !! 30
623 ld [%o5+56],%o7
624 .word 0x9fb30daf !fxors %f12,%f15,%f15! 0/ 0/ 0:X[1]^=X[14]
625 srl %l0,27,%i4
626 add %i3,%l4,%l4
627 .word 0xa5b00d86 !fxor %f0,%f6,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
628 xor %l2,%l1,%i3
629 add %i4,%l4,%l4
630 sll %l1,30,%i5
631 xor %l3,%i3,%i4
632 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
633 srl %l1,2,%l1
634 add %i4,%l4,%l4
635 or %i5,%l1,%l1
636 add %o7,%l4,%l4
637 .word 0xa5b3890e !faligndata %f14,%f14,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
638 sll %l4,5,%i3 !! 31
639 ld [%o5+60],%o7
640 .word 0x9db38a4e !fpadd32 %f14,%f14,%f14 ! 4/ 8/ 6:X[0,1]<<=1
641 srl %l4,27,%i4
642 add %i3,%l3,%l3
643 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
644 xor %l1,%l0,%i3
645 add %i4,%l3,%l3
646 .word 0xa9b1ca4c !fpadd32 %f38,%f12,%f20 !
647 sll %l0,30,%i5
648 xor %l2,%i3,%i4
649 .word 0x81b34da0 !fxors %f13,%f0,%f0 !-1/-1/-1:X[0]^=X[13]
650 srl %l0,2,%l0
651 add %i4,%l3,%l3
652 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 8/14/10:X[0,1]|=Tmp
653 or %i5,%l0,%l0
654 add %o7,%l3,%l3
655 std %f20,[%o5+48] !
656 sll %l3,5,%i3 !! 32
657 ld [%o5+0],%o7
658 .word 0x83b38da1 !fxors %f14,%f1,%f1! 0/ 0/ 0:X[1]^=X[14]
659 srl %l3,27,%i4
660 add %i3,%l2,%l2
661 .word 0xa5b08d88 !fxor %f2,%f8,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
662 xor %l0,%l4,%i3
663 add %i4,%l2,%l2
664 sll %l4,30,%i5
665 xor %l1,%i3,%i4
666 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
667 srl %l4,2,%l4
668 add %i4,%l2,%l2
669 or %i5,%l4,%l4
670 add %o7,%l2,%l2
671 .word 0xa5b00900 !faligndata %f0,%f0,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
672 sll %l2,5,%i3 !! 33
673 ld [%o5+4],%o7
674 .word 0x81b00a40 !fpadd32 %f0,%f0,%f0 ! 4/ 8/ 6:X[0,1]<<=1
675 srl %l2,27,%i4
676 add %i3,%l1,%l1
677 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
678 xor %l4,%l3,%i3
679 add %i4,%l1,%l1
680 .word 0xa9b1ca4e !fpadd32 %f38,%f14,%f20 !
681 sll %l3,30,%i5
682 xor %l0,%i3,%i4
683 .word 0x85b3cda2 !fxors %f15,%f2,%f2 !-1/-1/-1:X[0]^=X[13]
684 srl %l3,2,%l3
685 add %i4,%l1,%l1
686 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 8/14/10:X[0,1]|=Tmp
687 or %i5,%l3,%l3
688 add %o7,%l1,%l1
689 std %f20,[%o5+56] !
690 sll %l1,5,%i3 !! 34
691 ld [%o5+8],%o7
692 .word 0x87b00da3 !fxors %f0,%f3,%f3! 0/ 0/ 0:X[1]^=X[14]
693 srl %l1,27,%i4
694 add %i3,%l0,%l0
695 .word 0xa5b10d8a !fxor %f4,%f10,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
696 xor %l3,%l2,%i3
697 add %i4,%l0,%l0
698 sll %l2,30,%i5
699 xor %l4,%i3,%i4
700 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
701 srl %l2,2,%l2
702 add %i4,%l0,%l0
703 or %i5,%l2,%l2
704 add %o7,%l0,%l0
705 .word 0xa5b08902 !faligndata %f2,%f2,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
706 sll %l0,5,%i3 !! 35
707 ld [%o5+12],%o7
708 .word 0x85b08a42 !fpadd32 %f2,%f2,%f2 ! 4/ 8/ 6:X[0,1]<<=1
709 srl %l0,27,%i4
710 add %i3,%l4,%l4
711 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
712 xor %l2,%l1,%i3
713 add %i4,%l4,%l4
714 .word 0xa9b1ca40 !fpadd32 %f38,%f0,%f20 !
715 sll %l1,30,%i5
716 xor %l3,%i3,%i4
717 .word 0x89b04da4 !fxors %f1,%f4,%f4 !-1/-1/-1:X[0]^=X[13]
718 srl %l1,2,%l1
719 add %i4,%l4,%l4
720 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 8/14/10:X[0,1]|=Tmp
721 or %i5,%l1,%l1
722 add %o7,%l4,%l4
723 std %f20,[%o5+0] !
724 sll %l4,5,%i3 !! 36
725 ld [%o5+16],%o7
726 .word 0x8bb08da5 !fxors %f2,%f5,%f5! 0/ 0/ 0:X[1]^=X[14]
727 srl %l4,27,%i4
728 add %i3,%l3,%l3
729 .word 0xa5b18d8c !fxor %f6,%f12,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
730 xor %l1,%l0,%i3
731 add %i4,%l3,%l3
732 sll %l0,30,%i5
733 xor %l2,%i3,%i4
734 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
735 srl %l0,2,%l0
736 add %i4,%l3,%l3
737 or %i5,%l0,%l0
738 add %o7,%l3,%l3
739 .word 0xa5b10904 !faligndata %f4,%f4,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
740 sll %l3,5,%i3 !! 37
741 ld [%o5+20],%o7
742 .word 0x89b10a44 !fpadd32 %f4,%f4,%f4 ! 4/ 8/ 6:X[0,1]<<=1
743 srl %l3,27,%i4
744 add %i3,%l2,%l2
745 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
746 xor %l0,%l4,%i3
747 add %i4,%l2,%l2
748 .word 0xa9b1ca42 !fpadd32 %f38,%f2,%f20 !
749 sll %l4,30,%i5
750 xor %l1,%i3,%i4
751 .word 0x8db0cda6 !fxors %f3,%f6,%f6 !-1/-1/-1:X[0]^=X[13]
752 srl %l4,2,%l4
753 add %i4,%l2,%l2
754 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 8/14/10:X[0,1]|=Tmp
755 or %i5,%l4,%l4
756 add %o7,%l2,%l2
757 std %f20,[%o5+8] !
758 sll %l2,5,%i3 !! 38
759 ld [%o5+24],%o7
760 .word 0x8fb10da7 !fxors %f4,%f7,%f7! 0/ 0/ 0:X[1]^=X[14]
761 srl %l2,27,%i4
762 add %i3,%l1,%l1
763 .word 0xa5b20d8e !fxor %f8,%f14,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
764 xor %l4,%l3,%i3
765 add %i4,%l1,%l1
766 sll %l3,30,%i5
767 xor %l0,%i3,%i4
768 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
769 srl %l3,2,%l3
770 add %i4,%l1,%l1
771 or %i5,%l3,%l3
772 add %o7,%l1,%l1
773 .word 0xa5b18906 !faligndata %f6,%f6,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
774 sll %l1,5,%i3 !! 39
775 ld [%o5+28],%o7
776 .word 0x8db18a46 !fpadd32 %f6,%f6,%f6 ! 4/ 8/ 6:X[0,1]<<=1
777 srl %l1,27,%i4
778 add %i3,%l0,%l0
779 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
780 xor %l3,%l2,%i3
781 add %i4,%l0,%l0
782 .word 0xa9b1ca44 !fpadd32 %f38,%f4,%f20 !
783 sll %l2,30,%i5
784 xor %l4,%i3,%i4
785 .word 0x91b14da8 !fxors %f5,%f8,%f8 !-1/-1/-1:X[0]^=X[13]
786 srl %l2,2,%l2
787 add %i4,%l0,%l0
788 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 8/14/10:X[0,1]|=Tmp
789 or %i5,%l2,%l2
790 add %o7,%l0,%l0
791 std %f20,[%o5+16] !
792 sll %l0,5,%i3 !! 40
793 ld [%o5+32],%o7
794 .word 0x93b18da9 !fxors %f6,%f9,%f9! 0/ 0/ 0:X[1]^=X[14]
795 srl %l0,27,%i4
796 add %i3,%l4,%l4
797 .word 0xa5b28d80 !fxor %f10,%f0,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
798 and %l2,%l1,%i3
799 add %i4,%l4,%l4
800 sll %l1,30,%i5
801 or %l2,%l1,%i4
802 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
803 srl %l1,2,%l1
804 and %l3,%i4,%i4
805 add %o7,%l4,%l4
806 or %i4,%i3,%i4
807 .word 0xa5b20908 !faligndata %f8,%f8,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
808 or %i5,%l1,%l1
809 add %i4,%l4,%l4
810 .word 0x91b20a48 !fpadd32 %f8,%f8,%f8 ! 4/ 8/ 6:X[0,1]<<=1
811 sll %l4,5,%i3 !! 41
812 ld [%o5+36],%o7
813 srl %l4,27,%i4
814 add %i3,%l3,%l3
815 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
816 and %l1,%l0,%i3
817 add %i4,%l3,%l3
818 .word 0xa9b1ca46 !fpadd32 %f38,%f6,%f20 !
819 sll %l0,30,%i5
820 or %l1,%l0,%i4
821 .word 0x95b1cdaa !fxors %f7,%f10,%f10 !-1/-1/-1:X[0]^=X[13]
822 srl %l0,2,%l0
823 and %l2,%i4,%i4
824 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 8/14/10:X[0,1]|=Tmp
825 add %o7,%l3,%l3
826 or %i4,%i3,%i4
827 or %i5,%l0,%l0
828 add %i4,%l3,%l3
829 std %f20,[%o5+24] !
830 sll %l3,5,%i3 !! 42
831 ld [%o5+40],%o7
832 .word 0x97b20dab !fxors %f8,%f11,%f11! 0/ 0/ 0:X[1]^=X[14]
833 srl %l3,27,%i4
834 add %i3,%l2,%l2
835 .word 0xa5b30d82 !fxor %f12,%f2,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
836 and %l0,%l4,%i3
837 add %i4,%l2,%l2
838 sll %l4,30,%i5
839 or %l0,%l4,%i4
840 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
841 srl %l4,2,%l4
842 and %l1,%i4,%i4
843 add %o7,%l2,%l2
844 or %i4,%i3,%i4
845 .word 0xa5b2890a !faligndata %f10,%f10,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
846 or %i5,%l4,%l4
847 add %i4,%l2,%l2
848 .word 0x95b28a4a !fpadd32 %f10,%f10,%f10 ! 4/ 8/ 6:X[0,1]<<=1
849 sll %l2,5,%i3 !! 43
850 ld [%o5+44],%o7
851 srl %l2,27,%i4
852 add %i3,%l1,%l1
853 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
854 and %l4,%l3,%i3
855 add %i4,%l1,%l1
856 .word 0xa9b1ca48 !fpadd32 %f38,%f8,%f20 !
857 sll %l3,30,%i5
858 or %l4,%l3,%i4
859 .word 0x99b24dac !fxors %f9,%f12,%f12 !-1/-1/-1:X[0]^=X[13]
860 srl %l3,2,%l3
861 and %l0,%i4,%i4
862 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 8/14/10:X[0,1]|=Tmp
863 add %o7,%l1,%l1
864 or %i4,%i3,%i4
865 or %i5,%l3,%l3
866 add %i4,%l1,%l1
867 std %f20,[%o5+32] !
868 sll %l1,5,%i3 !! 44
869 ld [%o5+48],%o7
870 .word 0x9bb28dad !fxors %f10,%f13,%f13! 0/ 0/ 0:X[1]^=X[14]
871 srl %l1,27,%i4
872 add %i3,%l0,%l0
873 .word 0xa5b38d84 !fxor %f14,%f4,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
874 and %l3,%l2,%i3
875 add %i4,%l0,%l0
876 sll %l2,30,%i5
877 or %l3,%l2,%i4
878 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
879 srl %l2,2,%l2
880 and %l4,%i4,%i4
881 add %o7,%l0,%l0
882 or %i4,%i3,%i4
883 .word 0xa5b3090c !faligndata %f12,%f12,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
884 or %i5,%l2,%l2
885 add %i4,%l0,%l0
886 .word 0x99b30a4c !fpadd32 %f12,%f12,%f12 ! 4/ 8/ 6:X[0,1]<<=1
887 sll %l0,5,%i3 !! 45
888 ld [%o5+52],%o7
889 srl %l0,27,%i4
890 add %i3,%l4,%l4
891 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
892 and %l2,%l1,%i3
893 add %i4,%l4,%l4
894 .word 0xa9b1ca4a !fpadd32 %f38,%f10,%f20 !
895 sll %l1,30,%i5
896 or %l2,%l1,%i4
897 .word 0x9db2cdae !fxors %f11,%f14,%f14 !-1/-1/-1:X[0]^=X[13]
898 srl %l1,2,%l1
899 and %l3,%i4,%i4
900 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 8/14/10:X[0,1]|=Tmp
901 add %o7,%l4,%l4
902 or %i4,%i3,%i4
903 or %i5,%l1,%l1
904 add %i4,%l4,%l4
905 std %f20,[%o5+40] !
906 sll %l4,5,%i3 !! 46
907 ld [%o5+56],%o7
908 .word 0x9fb30daf !fxors %f12,%f15,%f15! 0/ 0/ 0:X[1]^=X[14]
909 srl %l4,27,%i4
910 add %i3,%l3,%l3
911 .word 0xa5b00d86 !fxor %f0,%f6,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
912 and %l1,%l0,%i3
913 add %i4,%l3,%l3
914 sll %l0,30,%i5
915 or %l1,%l0,%i4
916 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
917 srl %l0,2,%l0
918 and %l2,%i4,%i4
919 add %o7,%l3,%l3
920 or %i4,%i3,%i4
921 .word 0xa5b3890e !faligndata %f14,%f14,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
922 or %i5,%l0,%l0
923 add %i4,%l3,%l3
924 .word 0x9db38a4e !fpadd32 %f14,%f14,%f14 ! 4/ 8/ 6:X[0,1]<<=1
925 sll %l3,5,%i3 !! 47
926 ld [%o5+60],%o7
927 srl %l3,27,%i4
928 add %i3,%l2,%l2
929 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
930 and %l0,%l4,%i3
931 add %i4,%l2,%l2
932 .word 0xa9b24a4c !fpadd32 %f40,%f12,%f20 !
933 sll %l4,30,%i5
934 or %l0,%l4,%i4
935 .word 0x81b34da0 !fxors %f13,%f0,%f0 !-1/-1/-1:X[0]^=X[13]
936 srl %l4,2,%l4
937 and %l1,%i4,%i4
938 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 8/14/10:X[0,1]|=Tmp
939 add %o7,%l2,%l2
940 or %i4,%i3,%i4
941 or %i5,%l4,%l4
942 add %i4,%l2,%l2
943 std %f20,[%o5+48] !
944 sll %l2,5,%i3 !! 48
945 ld [%o5+0],%o7
946 .word 0x83b38da1 !fxors %f14,%f1,%f1! 0/ 0/ 0:X[1]^=X[14]
947 srl %l2,27,%i4
948 add %i3,%l1,%l1
949 .word 0xa5b08d88 !fxor %f2,%f8,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
950 and %l4,%l3,%i3
951 add %i4,%l1,%l1
952 sll %l3,30,%i5
953 or %l4,%l3,%i4
954 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
955 srl %l3,2,%l3
956 and %l0,%i4,%i4
957 add %o7,%l1,%l1
958 or %i4,%i3,%i4
959 .word 0xa5b00900 !faligndata %f0,%f0,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
960 or %i5,%l3,%l3
961 add %i4,%l1,%l1
962 .word 0x81b00a40 !fpadd32 %f0,%f0,%f0 ! 4/ 8/ 6:X[0,1]<<=1
963 sll %l1,5,%i3 !! 49
964 ld [%o5+4],%o7
965 srl %l1,27,%i4
966 add %i3,%l0,%l0
967 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
968 and %l3,%l2,%i3
969 add %i4,%l0,%l0
970 .word 0xa9b24a4e !fpadd32 %f40,%f14,%f20 !
971 sll %l2,30,%i5
972 or %l3,%l2,%i4
973 .word 0x85b3cda2 !fxors %f15,%f2,%f2 !-1/-1/-1:X[0]^=X[13]
974 srl %l2,2,%l2
975 and %l4,%i4,%i4
976 .word 0x81b48d80 !fxor %f18,%f0,%f0 ! 8/14/10:X[0,1]|=Tmp
977 add %o7,%l0,%l0
978 or %i4,%i3,%i4
979 or %i5,%l2,%l2
980 add %i4,%l0,%l0
981 std %f20,[%o5+56] !
982 sll %l0,5,%i3 !! 50
983 ld [%o5+8],%o7
984 .word 0x87b00da3 !fxors %f0,%f3,%f3! 0/ 0/ 0:X[1]^=X[14]
985 srl %l0,27,%i4
986 add %i3,%l4,%l4
987 .word 0xa5b10d8a !fxor %f4,%f10,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
988 and %l2,%l1,%i3
989 add %i4,%l4,%l4
990 sll %l1,30,%i5
991 or %l2,%l1,%i4
992 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
993 srl %l1,2,%l1
994 and %l3,%i4,%i4
995 add %o7,%l4,%l4
996 or %i4,%i3,%i4
997 .word 0xa5b08902 !faligndata %f2,%f2,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
998 or %i5,%l1,%l1
999 add %i4,%l4,%l4
1000 .word 0x85b08a42 !fpadd32 %f2,%f2,%f2 ! 4/ 8/ 6:X[0,1]<<=1
1001 sll %l4,5,%i3 !! 51
1002 ld [%o5+12],%o7
1003 srl %l4,27,%i4
1004 add %i3,%l3,%l3
1005 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1006 and %l1,%l0,%i3
1007 add %i4,%l3,%l3
1008 .word 0xa9b24a40 !fpadd32 %f40,%f0,%f20 !
1009 sll %l0,30,%i5
1010 or %l1,%l0,%i4
1011 .word 0x89b04da4 !fxors %f1,%f4,%f4 !-1/-1/-1:X[0]^=X[13]
1012 srl %l0,2,%l0
1013 and %l2,%i4,%i4
1014 .word 0x85b48d82 !fxor %f18,%f2,%f2 ! 8/14/10:X[0,1]|=Tmp
1015 add %o7,%l3,%l3
1016 or %i4,%i3,%i4
1017 or %i5,%l0,%l0
1018 add %i4,%l3,%l3
1019 std %f20,[%o5+0] !
1020 sll %l3,5,%i3 !! 52
1021 ld [%o5+16],%o7
1022 .word 0x8bb08da5 !fxors %f2,%f5,%f5! 0/ 0/ 0:X[1]^=X[14]
1023 srl %l3,27,%i4
1024 add %i3,%l2,%l2
1025 .word 0xa5b18d8c !fxor %f6,%f12,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
1026 and %l0,%l4,%i3
1027 add %i4,%l2,%l2
1028 sll %l4,30,%i5
1029 or %l0,%l4,%i4
1030 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
1031 srl %l4,2,%l4
1032 and %l1,%i4,%i4
1033 add %o7,%l2,%l2
1034 or %i4,%i3,%i4
1035 .word 0xa5b10904 !faligndata %f4,%f4,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
1036 or %i5,%l4,%l4
1037 add %i4,%l2,%l2
1038 .word 0x89b10a44 !fpadd32 %f4,%f4,%f4 ! 4/ 8/ 6:X[0,1]<<=1
1039 sll %l2,5,%i3 !! 53
1040 ld [%o5+20],%o7
1041 srl %l2,27,%i4
1042 add %i3,%l1,%l1
1043 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1044 and %l4,%l3,%i3
1045 add %i4,%l1,%l1
1046 .word 0xa9b24a42 !fpadd32 %f40,%f2,%f20 !
1047 sll %l3,30,%i5
1048 or %l4,%l3,%i4
1049 .word 0x8db0cda6 !fxors %f3,%f6,%f6 !-1/-1/-1:X[0]^=X[13]
1050 srl %l3,2,%l3
1051 and %l0,%i4,%i4
1052 .word 0x89b48d84 !fxor %f18,%f4,%f4 ! 8/14/10:X[0,1]|=Tmp
1053 add %o7,%l1,%l1
1054 or %i4,%i3,%i4
1055 or %i5,%l3,%l3
1056 add %i4,%l1,%l1
1057 std %f20,[%o5+8] !
1058 sll %l1,5,%i3 !! 54
1059 ld [%o5+24],%o7
1060 .word 0x8fb10da7 !fxors %f4,%f7,%f7! 0/ 0/ 0:X[1]^=X[14]
1061 srl %l1,27,%i4
1062 add %i3,%l0,%l0
1063 .word 0xa5b20d8e !fxor %f8,%f14,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
1064 and %l3,%l2,%i3
1065 add %i4,%l0,%l0
1066 sll %l2,30,%i5
1067 or %l3,%l2,%i4
1068 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
1069 srl %l2,2,%l2
1070 and %l4,%i4,%i4
1071 add %o7,%l0,%l0
1072 or %i4,%i3,%i4
1073 .word 0xa5b18906 !faligndata %f6,%f6,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
1074 or %i5,%l2,%l2
1075 add %i4,%l0,%l0
1076 .word 0x8db18a46 !fpadd32 %f6,%f6,%f6 ! 4/ 8/ 6:X[0,1]<<=1
1077 sll %l0,5,%i3 !! 55
1078 ld [%o5+28],%o7
1079 srl %l0,27,%i4
1080 add %i3,%l4,%l4
1081 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1082 and %l2,%l1,%i3
1083 add %i4,%l4,%l4
1084 .word 0xa9b24a44 !fpadd32 %f40,%f4,%f20 !
1085 sll %l1,30,%i5
1086 or %l2,%l1,%i4
1087 .word 0x91b14da8 !fxors %f5,%f8,%f8 !-1/-1/-1:X[0]^=X[13]
1088 srl %l1,2,%l1
1089 and %l3,%i4,%i4
1090 .word 0x8db48d86 !fxor %f18,%f6,%f6 ! 8/14/10:X[0,1]|=Tmp
1091 add %o7,%l4,%l4
1092 or %i4,%i3,%i4
1093 or %i5,%l1,%l1
1094 add %i4,%l4,%l4
1095 std %f20,[%o5+16] !
1096 sll %l4,5,%i3 !! 56
1097 ld [%o5+32],%o7
1098 .word 0x93b18da9 !fxors %f6,%f9,%f9! 0/ 0/ 0:X[1]^=X[14]
1099 srl %l4,27,%i4
1100 add %i3,%l3,%l3
1101 .word 0xa5b28d80 !fxor %f10,%f0,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
1102 and %l1,%l0,%i3
1103 add %i4,%l3,%l3
1104 sll %l0,30,%i5
1105 or %l1,%l0,%i4
1106 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
1107 srl %l0,2,%l0
1108 and %l2,%i4,%i4
1109 add %o7,%l3,%l3
1110 or %i4,%i3,%i4
1111 .word 0xa5b20908 !faligndata %f8,%f8,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
1112 or %i5,%l0,%l0
1113 add %i4,%l3,%l3
1114 .word 0x91b20a48 !fpadd32 %f8,%f8,%f8 ! 4/ 8/ 6:X[0,1]<<=1
1115 sll %l3,5,%i3 !! 57
1116 ld [%o5+36],%o7
1117 srl %l3,27,%i4
1118 add %i3,%l2,%l2
1119 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1120 and %l0,%l4,%i3
1121 add %i4,%l2,%l2
1122 .word 0xa9b24a46 !fpadd32 %f40,%f6,%f20 !
1123 sll %l4,30,%i5
1124 or %l0,%l4,%i4
1125 .word 0x95b1cdaa !fxors %f7,%f10,%f10 !-1/-1/-1:X[0]^=X[13]
1126 srl %l4,2,%l4
1127 and %l1,%i4,%i4
1128 .word 0x91b48d88 !fxor %f18,%f8,%f8 ! 8/14/10:X[0,1]|=Tmp
1129 add %o7,%l2,%l2
1130 or %i4,%i3,%i4
1131 or %i5,%l4,%l4
1132 add %i4,%l2,%l2
1133 std %f20,[%o5+24] !
1134 sll %l2,5,%i3 !! 58
1135 ld [%o5+40],%o7
1136 .word 0x97b20dab !fxors %f8,%f11,%f11! 0/ 0/ 0:X[1]^=X[14]
1137 srl %l2,27,%i4
1138 add %i3,%l1,%l1
1139 .word 0xa5b30d82 !fxor %f12,%f2,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
1140 and %l4,%l3,%i3
1141 add %i4,%l1,%l1
1142 sll %l3,30,%i5
1143 or %l4,%l3,%i4
1144 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
1145 srl %l3,2,%l3
1146 and %l0,%i4,%i4
1147 add %o7,%l1,%l1
1148 or %i4,%i3,%i4
1149 .word 0xa5b2890a !faligndata %f10,%f10,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
1150 or %i5,%l3,%l3
1151 add %i4,%l1,%l1
1152 .word 0x95b28a4a !fpadd32 %f10,%f10,%f10 ! 4/ 8/ 6:X[0,1]<<=1
1153 sll %l1,5,%i3 !! 59
1154 ld [%o5+44],%o7
1155 srl %l1,27,%i4
1156 add %i3,%l0,%l0
1157 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1158 and %l3,%l2,%i3
1159 add %i4,%l0,%l0
1160 .word 0xa9b24a48 !fpadd32 %f40,%f8,%f20 !
1161 sll %l2,30,%i5
1162 or %l3,%l2,%i4
1163 .word 0x99b24dac !fxors %f9,%f12,%f12 !-1/-1/-1:X[0]^=X[13]
1164 srl %l2,2,%l2
1165 and %l4,%i4,%i4
1166 .word 0x95b48d8a !fxor %f18,%f10,%f10 ! 8/14/10:X[0,1]|=Tmp
1167 add %o7,%l0,%l0
1168 or %i4,%i3,%i4
1169 or %i5,%l2,%l2
1170 add %i4,%l0,%l0
1171 std %f20,[%o5+32] !
1172 sll %l0,5,%i3 !! 60
1173 ld [%o5+48],%o7
1174 .word 0x9bb28dad !fxors %f10,%f13,%f13! 0/ 0/ 0:X[1]^=X[14]
1175 srl %l0,27,%i4
1176 add %i3,%l4,%l4
1177 .word 0xa5b38d84 !fxor %f14,%f4,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
1178 xor %l2,%l1,%i3
1179 add %i4,%l4,%l4
1180 sll %l1,30,%i5
1181 xor %l3,%i3,%i4
1182 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
1183 srl %l1,2,%l1
1184 add %i4,%l4,%l4
1185 or %i5,%l1,%l1
1186 add %o7,%l4,%l4
1187 .word 0xa5b3090c !faligndata %f12,%f12,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
1188 sll %l4,5,%i3 !! 61
1189 ld [%o5+52],%o7
1190 .word 0x99b30a4c !fpadd32 %f12,%f12,%f12 ! 4/ 8/ 6:X[0,1]<<=1
1191 srl %l4,27,%i4
1192 add %i3,%l3,%l3
1193 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1194 xor %l1,%l0,%i3
1195 add %i4,%l3,%l3
1196 .word 0xa9b24a4a !fpadd32 %f40,%f10,%f20 !
1197 sll %l0,30,%i5
1198 xor %l2,%i3,%i4
1199 .word 0x9db2cdae !fxors %f11,%f14,%f14 !-1/-1/-1:X[0]^=X[13]
1200 srl %l0,2,%l0
1201 add %i4,%l3,%l3
1202 .word 0x99b48d8c !fxor %f18,%f12,%f12 ! 8/14/10:X[0,1]|=Tmp
1203 or %i5,%l0,%l0
1204 add %o7,%l3,%l3
1205 std %f20,[%o5+40] !
1206 sll %l3,5,%i3 !! 62
1207 ld [%o5+56],%o7
1208 .word 0x9fb30daf !fxors %f12,%f15,%f15! 0/ 0/ 0:X[1]^=X[14]
1209 srl %l3,27,%i4
1210 add %i3,%l2,%l2
1211 .word 0xa5b00d86 !fxor %f0,%f6,%f18! 1/ 1/ 1:Tmp=X[2,3]^X[8,9]
1212 xor %l0,%l4,%i3
1213 add %i4,%l2,%l2
1214 sll %l4,30,%i5
1215 xor %l1,%i3,%i4
1216 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 2/ 4/ 3:X[0,1]^=X[2,3]^X[8,9]
1217 srl %l4,2,%l4
1218 add %i4,%l2,%l2
1219 or %i5,%l4,%l4
1220 add %o7,%l2,%l2
1221 .word 0xa5b3890e !faligndata %f14,%f14,%f18 ! 3/ 7/ 5:Tmp=X[0,1]>>>24
1222 sll %l2,5,%i3 !! 63
1223 ld [%o5+60],%o7
1224 .word 0x9db38a4e !fpadd32 %f14,%f14,%f14 ! 4/ 8/ 6:X[0,1]<<=1
1225 srl %l2,27,%i4
1226 add %i3,%l1,%l1
1227 .word 0xa5b486e1 !fmul8ulx16 %f18,%f32,%f18 ! 5/10/ 7:Tmp>>=7, Tmp&=1
1228 xor %l4,%l3,%i3
1229 add %i4,%l1,%l1
1230 .word 0xa9b24a4c !fpadd32 %f40,%f12,%f20 !
1231 sll %l3,30,%i5
1232 xor %l0,%i3,%i4
1233 .word 0x81b34da0 !fxors %f13,%f0,%f0 !-1/-1/-1:X[0]^=X[13]
1234 srl %l3,2,%l3
1235 add %i4,%l1,%l1
1236 .word 0x9db48d8e !fxor %f18,%f14,%f14 ! 8/14/10:X[0,1]|=Tmp
1237 or %i5,%l3,%l3
1238 add %o7,%l1,%l1
1239 std %f20,[%o5+48] !
1240 sll %l1,5,%i3 !! 64
1241 ld [%o5+0],%o7
1242 .word 0xa9b24a4e !fpadd32 %f40,%f14,%f20
1243 srl %l1,27,%i4
1244 add %i3,%l0,%l0
1245 xor %l3,%l2,%i3
1246 add %i4,%l0,%l0
1247 sll %l2,30,%i5
1248 xor %l4,%i3,%i4
1249 std %f20,[%o5+56]
1250 srl %l2,2,%l2
1251 add %i4,%l0,%l0
1252 or %i5,%l2,%l2
1253 add %o7,%l0,%l0
1254 sll %l0,5,%i3 !! 65
1255 ld [%o5+4],%o7
1256 srl %l0,27,%i4
1257 add %i3,%l4,%l4
1258 xor %l2,%l1,%i3
1259 add %i4,%l4,%l4
1260 sll %l1,30,%i5
1261 xor %l3,%i3,%i4
1262 srl %l1,2,%l1
1263 add %i4,%l4,%l4
1264 or %i5,%l1,%l1
1265 add %o7,%l4,%l4
1266 sll %l4,5,%i3 !! 66
1267 ld [%o5+8],%o7
1268 srl %l4,27,%i4
1269 add %i3,%l3,%l3
1270 xor %l1,%l0,%i3
1271 add %i4,%l3,%l3
1272 sll %l0,30,%i5
1273 xor %l2,%i3,%i4
1274 srl %l0,2,%l0
1275 add %i4,%l3,%l3
1276 or %i5,%l0,%l0
1277 add %o7,%l3,%l3
1278 sll %l3,5,%i3 !! 67
1279 ld [%o5+12],%o7
1280 srl %l3,27,%i4
1281 add %i3,%l2,%l2
1282 xor %l0,%l4,%i3
1283 add %i4,%l2,%l2
1284 sll %l4,30,%i5
1285 xor %l1,%i3,%i4
1286 srl %l4,2,%l4
1287 add %i4,%l2,%l2
1288 or %i5,%l4,%l4
1289 add %o7,%l2,%l2
1290 sll %l2,5,%i3 !! 68
1291 ld [%o5+16],%o7
1292 srl %l2,27,%i4
1293 add %i3,%l1,%l1
1294 xor %l4,%l3,%i3
1295 add %i4,%l1,%l1
1296 sll %l3,30,%i5
1297 xor %l0,%i3,%i4
1298 srl %l3,2,%l3
1299 add %i4,%l1,%l1
1300 or %i5,%l3,%l3
1301 add %o7,%l1,%l1
1302 sll %l1,5,%i3 !! 69
1303 ld [%o5+20],%o7
1304 srl %l1,27,%i4
1305 add %i3,%l0,%l0
1306 xor %l3,%l2,%i3
1307 add %i4,%l0,%l0
1308 sll %l2,30,%i5
1309 xor %l4,%i3,%i4
1310 srl %l2,2,%l2
1311 add %i4,%l0,%l0
1312 or %i5,%l2,%l2
1313 add %o7,%l0,%l0
1314 tst %i2
1315 bz,pn %xcc,.Ltail
1316 nop
1317 sll %l0,5,%i3 !! 70
1318 ld [%o5+24],%o7
1319 srl %l0,27,%i4
1320 add %i3,%l4,%l4
1321 ldd [%i1+64],%f0
1322 xor %l2,%l1,%i3
1323 add %i4,%l4,%l4
1324 sll %l1,30,%i5
1325 xor %l3,%i3,%i4
1326 srl %l1,2,%l1
1327 add %i4,%l4,%l4
1328 or %i5,%l1,%l1
1329 add %o7,%l4,%l4
1330
1331 and %i1,-64,%g5
1332 inc 64,%i1
1333 and %g5,255,%g5
1334 .word 0x81b00304 !alignaddr %g0,%g4,%g0
1335 add %g1,%g5,%g5
1336 ldd [%i1+8],%f2
1337 sll %l4,5,%i3 !! 71
1338 ld [%o5+28],%o7
1339 srl %l4,27,%i4
1340 add %i3,%l3,%l3
1341 xor %l1,%l0,%i3
1342 add %i4,%l3,%l3
1343 sll %l0,30,%i5
1344 xor %l2,%i3,%i4
1345 srl %l0,2,%l0
1346 add %i4,%l3,%l3
1347 or %i5,%l0,%l0
1348 add %o7,%l3,%l3
1349 ldd [%i1+16],%f4
1350 .word 0x81b00902 !faligndata %f0,%f2,%f0
1351 sll %l3,5,%i3 !! 72
1352 ld [%o5+32],%o7
1353 srl %l3,27,%i4
1354 add %i3,%l2,%l2
1355 xor %l0,%l4,%i3
1356 add %i4,%l2,%l2
1357 .word 0xa9b0ca40 !fpadd32 %f34,%f0,%f20
1358 sll %l4,30,%i5
1359 xor %l1,%i3,%i4
1360 srl %l4,2,%l4
1361 add %i4,%l2,%l2
1362 or %i5,%l4,%l4
1363 add %o7,%l2,%l2
1364 ldd [%i1+24],%f6
1365 std %f20,[%g5+0]
1366 .word 0x85b08904 !faligndata %f2,%f4,%f2
1367 sll %l2,5,%i3 !! 73
1368 ld [%o5+36],%o7
1369 srl %l2,27,%i4
1370 add %i3,%l1,%l1
1371 xor %l4,%l3,%i3
1372 add %i4,%l1,%l1
1373 .word 0xa9b0ca42 !fpadd32 %f34,%f2,%f20
1374 sll %l3,30,%i5
1375 xor %l0,%i3,%i4
1376 srl %l3,2,%l3
1377 add %i4,%l1,%l1
1378 or %i5,%l3,%l3
1379 add %o7,%l1,%l1
1380 ldd [%i1+32],%f8
1381 std %f20,[%g5+8]
1382 .word 0x89b10906 !faligndata %f4,%f6,%f4
1383 sll %l1,5,%i3 !! 74
1384 ld [%o5+40],%o7
1385 srl %l1,27,%i4
1386 add %i3,%l0,%l0
1387 xor %l3,%l2,%i3
1388 add %i4,%l0,%l0
1389 .word 0xa9b0ca44 !fpadd32 %f34,%f4,%f20
1390 sll %l2,30,%i5
1391 xor %l4,%i3,%i4
1392 srl %l2,2,%l2
1393 add %i4,%l0,%l0
1394 or %i5,%l2,%l2
1395 add %o7,%l0,%l0
1396 ldd [%i1+40],%f10
1397 std %f20,[%g5+16]
1398 .word 0x8db18908 !faligndata %f6,%f8,%f6
1399 sll %l0,5,%i3 !! 75
1400 ld [%o5+44],%o7
1401 srl %l0,27,%i4
1402 add %i3,%l4,%l4
1403 xor %l2,%l1,%i3
1404 add %i4,%l4,%l4
1405 .word 0xa9b0ca46 !fpadd32 %f34,%f6,%f20
1406 sll %l1,30,%i5
1407 xor %l3,%i3,%i4
1408 srl %l1,2,%l1
1409 add %i4,%l4,%l4
1410 or %i5,%l1,%l1
1411 add %o7,%l4,%l4
1412 ldd [%i1+48],%f12
1413 std %f20,[%g5+24]
1414 .word 0x91b2090a !faligndata %f8,%f10,%f8
1415 sll %l4,5,%i3 !! 76
1416 ld [%o5+48],%o7
1417 srl %l4,27,%i4
1418 add %i3,%l3,%l3
1419 xor %l1,%l0,%i3
1420 add %i4,%l3,%l3
1421 .word 0xa9b0ca48 !fpadd32 %f34,%f8,%f20
1422 sll %l0,30,%i5
1423 xor %l2,%i3,%i4
1424 srl %l0,2,%l0
1425 add %i4,%l3,%l3
1426 or %i5,%l0,%l0
1427 add %o7,%l3,%l3
1428 ldd [%i1+56],%f14
1429 std %f20,[%g5+32]
1430 .word 0x95b2890c !faligndata %f10,%f12,%f10
1431 sll %l3,5,%i3 !! 77
1432 ld [%o5+52],%o7
1433 srl %l3,27,%i4
1434 add %i3,%l2,%l2
1435 xor %l0,%l4,%i3
1436 add %i4,%l2,%l2
1437 .word 0xa9b0ca4a !fpadd32 %f34,%f10,%f20
1438 sll %l4,30,%i5
1439 xor %l1,%i3,%i4
1440 srl %l4,2,%l4
1441 add %i4,%l2,%l2
1442 or %i5,%l4,%l4
1443 add %o7,%l2,%l2
1444 add %g4,63,%i3
1445 and %i3,-8,%i3
1446 ldd [%i1+%i3],%f16
1447 std %f20,[%g5+40]
1448 .word 0x99b3090e !faligndata %f12,%f14,%f12
1449 sll %l2,5,%i3 !! 78
1450 ld [%o5+56],%o7
1451 srl %l2,27,%i4
1452 add %i3,%l1,%l1
1453 xor %l4,%l3,%i3
1454 add %i4,%l1,%l1
1455 .word 0xa9b0ca4c !fpadd32 %f34,%f12,%f20
1456 sll %l3,30,%i5
1457 xor %l0,%i3,%i4
1458 srl %l3,2,%l3
1459 add %i4,%l1,%l1
1460 or %i5,%l3,%l3
1461 add %o7,%l1,%l1
1462 std %f20,[%g5+48]
1463 .word 0x9db38910 !faligndata %f14,%f16,%f14
1464 sll %l1,5,%i3 !! 79
1465 ld [%o5+60],%o7
1466 srl %l1,27,%i4
1467 add %i3,%l0,%l0
1468 xor %l3,%l2,%i3
1469 add %i4,%l0,%l0
1470 .word 0xa9b0ca4e !fpadd32 %f34,%f14,%f20
1471 sll %l2,30,%i5
1472 xor %l4,%i3,%i4
1473 srl %l2,2,%l2
1474 add %i4,%l0,%l0
1475 or %i5,%l2,%l2
1476 add %o7,%l0,%l0
1477 std %f20,[%g5+56]
1478 add %l0,%o0,%o0
1479 add %l1,%o1,%o1
1480 add %l2,%o2,%o2
1481 add %l3,%o3,%o3
1482 add %l4,%o4,%o4
1483 mov 5,%i3
1484 .word 0x81b34da0 !fxors %f13,%f0,%f0
1485 mov %o0,%l0
1486 mov %o1,%l1
1487 mov %o2,%l2
1488 mov %o3,%l3
1489 mov %o4,%l4
1490 .word 0x81b0031b !alignaddr %g0,%i3,%g0
1491 dec 1,%i2
1492 ba .Loop
1493 mov %g5,%o5
1494
1495 .align 32
1496 .Ltail:
1497 sll %l0,5,%i3 !! 70
1498 ld [%o5+24],%o7
1499 srl %l0,27,%i4
1500 add %i3,%l4,%l4
1501 xor %l2,%l1,%i3
1502 add %i4,%l4,%l4
1503 sll %l1,30,%i5
1504 xor %l3,%i3,%i4
1505 srl %l1,2,%l1
1506 add %i4,%l4,%l4
1507 or %i5,%l1,%l1
1508 add %o7,%l4,%l4
1509 sll %l4,5,%i3 !! 71
1510 ld [%o5+28],%o7
1511 srl %l4,27,%i4
1512 add %i3,%l3,%l3
1513 xor %l1,%l0,%i3
1514 add %i4,%l3,%l3
1515 sll %l0,30,%i5
1516 xor %l2,%i3,%i4
1517 srl %l0,2,%l0
1518 add %i4,%l3,%l3
1519 or %i5,%l0,%l0
1520 add %o7,%l3,%l3
1521 sll %l3,5,%i3 !! 72
1522 ld [%o5+32],%o7
1523 srl %l3,27,%i4
1524 add %i3,%l2,%l2
1525 xor %l0,%l4,%i3
1526 add %i4,%l2,%l2
1527 sll %l4,30,%i5
1528 xor %l1,%i3,%i4
1529 srl %l4,2,%l4
1530 add %i4,%l2,%l2
1531 or %i5,%l4,%l4
1532 add %o7,%l2,%l2
1533 sll %l2,5,%i3 !! 73
1534 ld [%o5+36],%o7
1535 srl %l2,27,%i4
1536 add %i3,%l1,%l1
1537 xor %l4,%l3,%i3
1538 add %i4,%l1,%l1
1539 sll %l3,30,%i5
1540 xor %l0,%i3,%i4
1541 srl %l3,2,%l3
1542 add %i4,%l1,%l1
1543 or %i5,%l3,%l3
1544 add %o7,%l1,%l1
1545 sll %l1,5,%i3 !! 74
1546 ld [%o5+40],%o7
1547 srl %l1,27,%i4
1548 add %i3,%l0,%l0
1549 xor %l3,%l2,%i3
1550 add %i4,%l0,%l0
1551 sll %l2,30,%i5
1552 xor %l4,%i3,%i4
1553 srl %l2,2,%l2
1554 add %i4,%l0,%l0
1555 or %i5,%l2,%l2
1556 add %o7,%l0,%l0
1557 sll %l0,5,%i3 !! 75
1558 ld [%o5+44],%o7
1559 srl %l0,27,%i4
1560 add %i3,%l4,%l4
1561 xor %l2,%l1,%i3
1562 add %i4,%l4,%l4
1563 sll %l1,30,%i5
1564 xor %l3,%i3,%i4
1565 srl %l1,2,%l1
1566 add %i4,%l4,%l4
1567 or %i5,%l1,%l1
1568 add %o7,%l4,%l4
1569 sll %l4,5,%i3 !! 76
1570 ld [%o5+48],%o7
1571 srl %l4,27,%i4
1572 add %i3,%l3,%l3
1573 xor %l1,%l0,%i3
1574 add %i4,%l3,%l3
1575 sll %l0,30,%i5
1576 xor %l2,%i3,%i4
1577 srl %l0,2,%l0
1578 add %i4,%l3,%l3
1579 or %i5,%l0,%l0
1580 add %o7,%l3,%l3
1581 sll %l3,5,%i3 !! 77
1582 ld [%o5+52],%o7
1583 srl %l3,27,%i4
1584 add %i3,%l2,%l2
1585 xor %l0,%l4,%i3
1586 add %i4,%l2,%l2
1587 sll %l4,30,%i5
1588 xor %l1,%i3,%i4
1589 srl %l4,2,%l4
1590 add %i4,%l2,%l2
1591 or %i5,%l4,%l4
1592 add %o7,%l2,%l2
1593 sll %l2,5,%i3 !! 78
1594 ld [%o5+56],%o7
1595 srl %l2,27,%i4
1596 add %i3,%l1,%l1
1597 xor %l4,%l3,%i3
1598 add %i4,%l1,%l1
1599 sll %l3,30,%i5
1600 xor %l0,%i3,%i4
1601 srl %l3,2,%l3
1602 add %i4,%l1,%l1
1603 or %i5,%l3,%l3
1604 add %o7,%l1,%l1
1605 sll %l1,5,%i3 !! 79
1606 ld [%o5+60],%o7
1607 srl %l1,27,%i4
1608 add %i3,%l0,%l0
1609 xor %l3,%l2,%i3
1610 add %i4,%l0,%l0
1611 sll %l2,30,%i5
1612 xor %l4,%i3,%i4
1613 srl %l2,2,%l2
1614 add %i4,%l0,%l0
1615 or %i5,%l2,%l2
1616 add %o7,%l0,%l0
1617 add %l0,%o0,%o0
1618 add %l1,%o1,%o1
1619 add %l2,%o2,%o2
1620 add %l3,%o3,%o3
1621 add %l4,%o4,%o4
1622
1623 st %o0,[%i0+0]
1624 st %o1,[%i0+4]
1625 st %o2,[%i0+8]
1626 st %o3,[%i0+12]
1627 st %o4,[%i0+16]
1628
1629 ret
1630 restore
1631 .type sha1_block_data_order,#function
1632 .size sha1_block_data_order,(.-sha1_block_data_order)
1633 .asciz "SHA1 block transform for SPARCv9a, CRYPTOGAMS by <appro (at) openssl.org>"
1634 .align 4
1635