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