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