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