Home | History | Annotate | Line # | Download | only in sparc64
      1  1.1  martin #ifndef __ASSEMBLER__
      2  1.1  martin # define __ASSEMBLER__ 1
      3  1.1  martin #endif
      4  1.1  martin #include "crypto/sparc_arch.h"
      5  1.1  martin 
      6  1.1  martin #ifdef __arch64__
      7  1.1  martin .register	%g2,#scratch
      8  1.1  martin .register	%g3,#scratch
      9  1.1  martin #endif
     10  1.1  martin 
     11  1.1  martin .section	".text",#alloc,#execinstr
     12  1.1  martin 
     13  1.1  martin .align	64
     14  1.1  martin K256:
     15  1.1  martin .type	K256,#object
     16  1.1  martin 	.long	0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5
     17  1.1  martin 	.long	0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5
     18  1.1  martin 	.long	0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3
     19  1.1  martin 	.long	0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174
     20  1.1  martin 	.long	0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc
     21  1.1  martin 	.long	0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da
     22  1.1  martin 	.long	0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7
     23  1.1  martin 	.long	0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967
     24  1.1  martin 	.long	0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13
     25  1.1  martin 	.long	0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85
     26  1.1  martin 	.long	0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3
     27  1.1  martin 	.long	0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070
     28  1.1  martin 	.long	0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5
     29  1.1  martin 	.long	0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3
     30  1.1  martin 	.long	0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208
     31  1.1  martin 	.long	0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
     32  1.1  martin .size	K256,.-K256
     33  1.1  martin 
     34  1.1  martin #ifdef __PIC__
     35  1.1  martin SPARC_PIC_THUNK(%g1)
     36  1.1  martin #endif
     37  1.1  martin 
     38  1.1  martin .globl	sha256_block_data_order
     39  1.1  martin .align	32
     40  1.1  martin sha256_block_data_order:
     41  1.1  martin 	SPARC_LOAD_ADDRESS_LEAF(OPENSSL_sparcv9cap_P,%g1,%g5)
     42  1.1  martin 	ld	[%g1+4],%g1		! OPENSSL_sparcv9cap_P[1]
     43  1.1  martin 
     44  1.1  martin 	andcc	%g1, CFR_SHA256, %g0
     45  1.1  martin 	be	.Lsoftware
     46  1.1  martin 	nop
     47  1.1  martin 	ld	[%o0 + 0x00], %f0
     48  1.1  martin 	ld	[%o0 + 0x04], %f1
     49  1.1  martin 	ld	[%o0 + 0x08], %f2
     50  1.1  martin 	ld	[%o0 + 0x0c], %f3
     51  1.1  martin 	ld	[%o0 + 0x10], %f4
     52  1.1  martin 	ld	[%o0 + 0x14], %f5
     53  1.1  martin 	andcc	%o1, 0x7, %g0
     54  1.1  martin 	ld	[%o0 + 0x18], %f6
     55  1.1  martin 	bne,pn	%icc, .Lhwunaligned
     56  1.1  martin 	 ld	[%o0 + 0x1c], %f7
     57  1.1  martin 
     58  1.1  martin .Lhwloop:
     59  1.1  martin 	ldd	[%o1 + 0x00], %f8
     60  1.1  martin 	ldd	[%o1 + 0x08], %f10
     61  1.1  martin 	ldd	[%o1 + 0x10], %f12
     62  1.1  martin 	ldd	[%o1 + 0x18], %f14
     63  1.1  martin 	ldd	[%o1 + 0x20], %f16
     64  1.1  martin 	ldd	[%o1 + 0x28], %f18
     65  1.1  martin 	ldd	[%o1 + 0x30], %f20
     66  1.1  martin 	subcc	%o2, 1, %o2		! done yet?
     67  1.1  martin 	ldd	[%o1 + 0x38], %f22
     68  1.1  martin 	add	%o1, 0x40, %o1
     69  1.1  martin 	prefetch [%o1 + 63], 20
     70  1.1  martin 
     71  1.1  martin 	.word	0x81b02840		! SHA256
     72  1.1  martin 
     73  1.1  martin 	bne,pt	SIZE_T_CC, .Lhwloop
     74  1.1  martin 	nop
     75  1.1  martin 
     76  1.1  martin .Lhwfinish:
     77  1.1  martin 	st	%f0, [%o0 + 0x00]	! store context
     78  1.1  martin 	st	%f1, [%o0 + 0x04]
     79  1.1  martin 	st	%f2, [%o0 + 0x08]
     80  1.1  martin 	st	%f3, [%o0 + 0x0c]
     81  1.1  martin 	st	%f4, [%o0 + 0x10]
     82  1.1  martin 	st	%f5, [%o0 + 0x14]
     83  1.1  martin 	st	%f6, [%o0 + 0x18]
     84  1.1  martin 	retl
     85  1.1  martin 	 st	%f7, [%o0 + 0x1c]
     86  1.1  martin 
     87  1.1  martin .align	8
     88  1.1  martin .Lhwunaligned:
     89  1.1  martin 	.word	0x93b24300 !alignaddr	%o1,%g0,%o1
     90  1.1  martin 
     91  1.1  martin 	ldd	[%o1 + 0x00], %f10
     92  1.1  martin .Lhwunaligned_loop:
     93  1.1  martin 	ldd	[%o1 + 0x08], %f12
     94  1.1  martin 	ldd	[%o1 + 0x10], %f14
     95  1.1  martin 	ldd	[%o1 + 0x18], %f16
     96  1.1  martin 	ldd	[%o1 + 0x20], %f18
     97  1.1  martin 	ldd	[%o1 + 0x28], %f20
     98  1.1  martin 	ldd	[%o1 + 0x30], %f22
     99  1.1  martin 	ldd	[%o1 + 0x38], %f24
    100  1.1  martin 	subcc	%o2, 1, %o2		! done yet?
    101  1.1  martin 	ldd	[%o1 + 0x40], %f26
    102  1.1  martin 	add	%o1, 0x40, %o1
    103  1.1  martin 	prefetch [%o1 + 63], 20
    104  1.1  martin 
    105  1.1  martin 	.word	0x91b2890c !faligndata	%f10,%f12,%f8
    106  1.1  martin 	.word	0x95b3090e !faligndata	%f12,%f14,%f10
    107  1.1  martin 	.word	0x99b38910 !faligndata	%f14,%f16,%f12
    108  1.1  martin 	.word	0x9db40912 !faligndata	%f16,%f18,%f14
    109  1.1  martin 	.word	0xa1b48914 !faligndata	%f18,%f20,%f16
    110  1.1  martin 	.word	0xa5b50916 !faligndata	%f20,%f22,%f18
    111  1.1  martin 	.word	0xa9b58918 !faligndata	%f22,%f24,%f20
    112  1.1  martin 	.word	0xadb6091a !faligndata	%f24,%f26,%f22
    113  1.1  martin 
    114  1.1  martin 	.word	0x81b02840		! SHA256
    115  1.1  martin 
    116  1.1  martin 	bne,pt	SIZE_T_CC, .Lhwunaligned_loop
    117  1.1  martin 	.word	0x95b68f9a !for	%f26,%f26,%f10	! %f10=%f26
    118  1.1  martin 
    119  1.1  martin 	ba	.Lhwfinish
    120  1.1  martin 	nop
    121  1.1  martin .align	16
    122  1.1  martin .Lsoftware:
    123  1.1  martin 	save	%sp,-STACK_FRAME-0,%sp
    124  1.1  martin 	and	%i1,7,%i4
    125  1.1  martin 	sllx	%i2,6,%i2
    126  1.1  martin 	andn	%i1,7,%i1
    127  1.1  martin 	sll	%i4,3,%i4
    128  1.1  martin 	add	%i1,%i2,%i2
    129  1.1  martin .Lpic:	call	.+8
    130  1.1  martin 	add	%o7,K256-.Lpic,%i3
    131  1.1  martin 
    132  1.1  martin 	ld	[%i0+0],%l0
    133  1.1  martin 	ld	[%i0+4],%l1
    134  1.1  martin 	ld	[%i0+8],%l2
    135  1.1  martin 	ld	[%i0+12],%l3
    136  1.1  martin 	ld	[%i0+16],%l4
    137  1.1  martin 	ld	[%i0+20],%l5
    138  1.1  martin 	ld	[%i0+24],%l6
    139  1.1  martin 	ld	[%i0+28],%l7
    140  1.1  martin 
    141  1.1  martin .Lloop:
    142  1.1  martin 	ldx	[%i1+0],%o0
    143  1.1  martin 	ldx	[%i1+16],%o2
    144  1.1  martin 	ldx	[%i1+32],%o4
    145  1.1  martin 	ldx	[%i1+48],%g1
    146  1.1  martin 	ldx	[%i1+8],%o1
    147  1.1  martin 	ldx	[%i1+24],%o3
    148  1.1  martin 	subcc	%g0,%i4,%i5 ! should be 64-%i4, but -%i4 works too
    149  1.1  martin 	ldx	[%i1+40],%o5
    150  1.1  martin 	bz,pt	%icc,.Laligned
    151  1.1  martin 	ldx	[%i1+56],%o7
    152  1.1  martin 
    153  1.1  martin 	sllx	%o0,%i4,%o0
    154  1.1  martin 	ldx	[%i1+64],%g2
    155  1.1  martin 	srlx	%o1,%i5,%g4
    156  1.1  martin 	sllx	%o1,%i4,%o1
    157  1.1  martin 	or	%g4,%o0,%o0
    158  1.1  martin 	srlx	%o2,%i5,%g4
    159  1.1  martin 	sllx	%o2,%i4,%o2
    160  1.1  martin 	or	%g4,%o1,%o1
    161  1.1  martin 	srlx	%o3,%i5,%g4
    162  1.1  martin 	sllx	%o3,%i4,%o3
    163  1.1  martin 	or	%g4,%o2,%o2
    164  1.1  martin 	srlx	%o4,%i5,%g4
    165  1.1  martin 	sllx	%o4,%i4,%o4
    166  1.1  martin 	or	%g4,%o3,%o3
    167  1.1  martin 	srlx	%o5,%i5,%g4
    168  1.1  martin 	sllx	%o5,%i4,%o5
    169  1.1  martin 	or	%g4,%o4,%o4
    170  1.1  martin 	srlx	%g1,%i5,%g4
    171  1.1  martin 	sllx	%g1,%i4,%g1
    172  1.1  martin 	or	%g4,%o5,%o5
    173  1.1  martin 	srlx	%o7,%i5,%g4
    174  1.1  martin 	sllx	%o7,%i4,%o7
    175  1.1  martin 	or	%g4,%g1,%g1
    176  1.1  martin 	srlx	%g2,%i5,%g2
    177  1.1  martin 	or	%g2,%o7,%o7
    178  1.1  martin .Laligned:
    179  1.1  martin 	srlx	%o0,32,%g2
    180  1.1  martin 	add	%l7,%g2,%g2
    181  1.1  martin 	srl	%l4,6,%l7	!! 0
    182  1.1  martin 	xor	%l5,%l6,%g5
    183  1.1  martin 	sll	%l4,7,%g4
    184  1.1  martin 	and	%l4,%g5,%g5
    185  1.1  martin 	srl	%l4,11,%g3
    186  1.1  martin 	xor	%g4,%l7,%l7
    187  1.1  martin 	sll	%l4,21,%g4
    188  1.1  martin 	xor	%g3,%l7,%l7
    189  1.1  martin 	srl	%l4,25,%g3
    190  1.1  martin 	xor	%g4,%l7,%l7
    191  1.1  martin 	sll	%l4,26,%g4
    192  1.1  martin 	xor	%g3,%l7,%l7
    193  1.1  martin 	xor	%l6,%g5,%g5		! Ch(e,f,g)
    194  1.1  martin 	xor	%g4,%l7,%g3		! Sigma1(e)
    195  1.1  martin 
    196  1.1  martin 	srl	%l0,2,%l7
    197  1.1  martin 	add	%g5,%g2,%g2
    198  1.1  martin 	ld	[%i3+0],%g5	! K[0]
    199  1.1  martin 	sll	%l0,10,%g4
    200  1.1  martin 	add	%g3,%g2,%g2
    201  1.1  martin 	srl	%l0,13,%g3
    202  1.1  martin 	xor	%g4,%l7,%l7
    203  1.1  martin 	sll	%l0,19,%g4
    204  1.1  martin 	xor	%g3,%l7,%l7
    205  1.1  martin 	srl	%l0,22,%g3
    206  1.1  martin 	xor	%g4,%l7,%l7
    207  1.1  martin 	sll	%l0,30,%g4
    208  1.1  martin 	xor	%g3,%l7,%l7
    209  1.1  martin 	xor	%g4,%l7,%l7		! Sigma0(a)
    210  1.1  martin 
    211  1.1  martin 	or	%l0,%l1,%g3
    212  1.1  martin 	and	%l0,%l1,%g4
    213  1.1  martin 	and	%l2,%g3,%g3
    214  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    215  1.1  martin 	add	%g5,%g2,%g2		! +=K[0]
    216  1.1  martin 	add	%g4,%l7,%l7
    217  1.1  martin 
    218  1.1  martin 	add	%g2,%l3,%l3
    219  1.1  martin 	add	%g2,%l7,%l7
    220  1.1  martin 	add	%o0,%l6,%g2
    221  1.1  martin 	srl	%l3,6,%l6	!! 1
    222  1.1  martin 	xor	%l4,%l5,%g5
    223  1.1  martin 	sll	%l3,7,%g4
    224  1.1  martin 	and	%l3,%g5,%g5
    225  1.1  martin 	srl	%l3,11,%g3
    226  1.1  martin 	xor	%g4,%l6,%l6
    227  1.1  martin 	sll	%l3,21,%g4
    228  1.1  martin 	xor	%g3,%l6,%l6
    229  1.1  martin 	srl	%l3,25,%g3
    230  1.1  martin 	xor	%g4,%l6,%l6
    231  1.1  martin 	sll	%l3,26,%g4
    232  1.1  martin 	xor	%g3,%l6,%l6
    233  1.1  martin 	xor	%l5,%g5,%g5		! Ch(e,f,g)
    234  1.1  martin 	xor	%g4,%l6,%g3		! Sigma1(e)
    235  1.1  martin 
    236  1.1  martin 	srl	%l7,2,%l6
    237  1.1  martin 	add	%g5,%g2,%g2
    238  1.1  martin 	ld	[%i3+4],%g5	! K[1]
    239  1.1  martin 	sll	%l7,10,%g4
    240  1.1  martin 	add	%g3,%g2,%g2
    241  1.1  martin 	srl	%l7,13,%g3
    242  1.1  martin 	xor	%g4,%l6,%l6
    243  1.1  martin 	sll	%l7,19,%g4
    244  1.1  martin 	xor	%g3,%l6,%l6
    245  1.1  martin 	srl	%l7,22,%g3
    246  1.1  martin 	xor	%g4,%l6,%l6
    247  1.1  martin 	sll	%l7,30,%g4
    248  1.1  martin 	xor	%g3,%l6,%l6
    249  1.1  martin 	xor	%g4,%l6,%l6		! Sigma0(a)
    250  1.1  martin 
    251  1.1  martin 	or	%l7,%l0,%g3
    252  1.1  martin 	and	%l7,%l0,%g4
    253  1.1  martin 	and	%l1,%g3,%g3
    254  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    255  1.1  martin 	add	%g5,%g2,%g2		! +=K[1]
    256  1.1  martin 	add	%g4,%l6,%l6
    257  1.1  martin 
    258  1.1  martin 	add	%g2,%l2,%l2
    259  1.1  martin 	add	%g2,%l6,%l6
    260  1.1  martin 	srlx	%o1,32,%g2
    261  1.1  martin 	add	%l5,%g2,%g2
    262  1.1  martin 	srl	%l2,6,%l5	!! 2
    263  1.1  martin 	xor	%l3,%l4,%g5
    264  1.1  martin 	sll	%l2,7,%g4
    265  1.1  martin 	and	%l2,%g5,%g5
    266  1.1  martin 	srl	%l2,11,%g3
    267  1.1  martin 	xor	%g4,%l5,%l5
    268  1.1  martin 	sll	%l2,21,%g4
    269  1.1  martin 	xor	%g3,%l5,%l5
    270  1.1  martin 	srl	%l2,25,%g3
    271  1.1  martin 	xor	%g4,%l5,%l5
    272  1.1  martin 	sll	%l2,26,%g4
    273  1.1  martin 	xor	%g3,%l5,%l5
    274  1.1  martin 	xor	%l4,%g5,%g5		! Ch(e,f,g)
    275  1.1  martin 	xor	%g4,%l5,%g3		! Sigma1(e)
    276  1.1  martin 
    277  1.1  martin 	srl	%l6,2,%l5
    278  1.1  martin 	add	%g5,%g2,%g2
    279  1.1  martin 	ld	[%i3+8],%g5	! K[2]
    280  1.1  martin 	sll	%l6,10,%g4
    281  1.1  martin 	add	%g3,%g2,%g2
    282  1.1  martin 	srl	%l6,13,%g3
    283  1.1  martin 	xor	%g4,%l5,%l5
    284  1.1  martin 	sll	%l6,19,%g4
    285  1.1  martin 	xor	%g3,%l5,%l5
    286  1.1  martin 	srl	%l6,22,%g3
    287  1.1  martin 	xor	%g4,%l5,%l5
    288  1.1  martin 	sll	%l6,30,%g4
    289  1.1  martin 	xor	%g3,%l5,%l5
    290  1.1  martin 	xor	%g4,%l5,%l5		! Sigma0(a)
    291  1.1  martin 
    292  1.1  martin 	or	%l6,%l7,%g3
    293  1.1  martin 	and	%l6,%l7,%g4
    294  1.1  martin 	and	%l0,%g3,%g3
    295  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    296  1.1  martin 	add	%g5,%g2,%g2		! +=K[2]
    297  1.1  martin 	add	%g4,%l5,%l5
    298  1.1  martin 
    299  1.1  martin 	add	%g2,%l1,%l1
    300  1.1  martin 	add	%g2,%l5,%l5
    301  1.1  martin 	add	%o1,%l4,%g2
    302  1.1  martin 	srl	%l1,6,%l4	!! 3
    303  1.1  martin 	xor	%l2,%l3,%g5
    304  1.1  martin 	sll	%l1,7,%g4
    305  1.1  martin 	and	%l1,%g5,%g5
    306  1.1  martin 	srl	%l1,11,%g3
    307  1.1  martin 	xor	%g4,%l4,%l4
    308  1.1  martin 	sll	%l1,21,%g4
    309  1.1  martin 	xor	%g3,%l4,%l4
    310  1.1  martin 	srl	%l1,25,%g3
    311  1.1  martin 	xor	%g4,%l4,%l4
    312  1.1  martin 	sll	%l1,26,%g4
    313  1.1  martin 	xor	%g3,%l4,%l4
    314  1.1  martin 	xor	%l3,%g5,%g5		! Ch(e,f,g)
    315  1.1  martin 	xor	%g4,%l4,%g3		! Sigma1(e)
    316  1.1  martin 
    317  1.1  martin 	srl	%l5,2,%l4
    318  1.1  martin 	add	%g5,%g2,%g2
    319  1.1  martin 	ld	[%i3+12],%g5	! K[3]
    320  1.1  martin 	sll	%l5,10,%g4
    321  1.1  martin 	add	%g3,%g2,%g2
    322  1.1  martin 	srl	%l5,13,%g3
    323  1.1  martin 	xor	%g4,%l4,%l4
    324  1.1  martin 	sll	%l5,19,%g4
    325  1.1  martin 	xor	%g3,%l4,%l4
    326  1.1  martin 	srl	%l5,22,%g3
    327  1.1  martin 	xor	%g4,%l4,%l4
    328  1.1  martin 	sll	%l5,30,%g4
    329  1.1  martin 	xor	%g3,%l4,%l4
    330  1.1  martin 	xor	%g4,%l4,%l4		! Sigma0(a)
    331  1.1  martin 
    332  1.1  martin 	or	%l5,%l6,%g3
    333  1.1  martin 	and	%l5,%l6,%g4
    334  1.1  martin 	and	%l7,%g3,%g3
    335  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    336  1.1  martin 	add	%g5,%g2,%g2		! +=K[3]
    337  1.1  martin 	add	%g4,%l4,%l4
    338  1.1  martin 
    339  1.1  martin 	add	%g2,%l0,%l0
    340  1.1  martin 	add	%g2,%l4,%l4
    341  1.1  martin 	srlx	%o2,32,%g2
    342  1.1  martin 	add	%l3,%g2,%g2
    343  1.1  martin 	srl	%l0,6,%l3	!! 4
    344  1.1  martin 	xor	%l1,%l2,%g5
    345  1.1  martin 	sll	%l0,7,%g4
    346  1.1  martin 	and	%l0,%g5,%g5
    347  1.1  martin 	srl	%l0,11,%g3
    348  1.1  martin 	xor	%g4,%l3,%l3
    349  1.1  martin 	sll	%l0,21,%g4
    350  1.1  martin 	xor	%g3,%l3,%l3
    351  1.1  martin 	srl	%l0,25,%g3
    352  1.1  martin 	xor	%g4,%l3,%l3
    353  1.1  martin 	sll	%l0,26,%g4
    354  1.1  martin 	xor	%g3,%l3,%l3
    355  1.1  martin 	xor	%l2,%g5,%g5		! Ch(e,f,g)
    356  1.1  martin 	xor	%g4,%l3,%g3		! Sigma1(e)
    357  1.1  martin 
    358  1.1  martin 	srl	%l4,2,%l3
    359  1.1  martin 	add	%g5,%g2,%g2
    360  1.1  martin 	ld	[%i3+16],%g5	! K[4]
    361  1.1  martin 	sll	%l4,10,%g4
    362  1.1  martin 	add	%g3,%g2,%g2
    363  1.1  martin 	srl	%l4,13,%g3
    364  1.1  martin 	xor	%g4,%l3,%l3
    365  1.1  martin 	sll	%l4,19,%g4
    366  1.1  martin 	xor	%g3,%l3,%l3
    367  1.1  martin 	srl	%l4,22,%g3
    368  1.1  martin 	xor	%g4,%l3,%l3
    369  1.1  martin 	sll	%l4,30,%g4
    370  1.1  martin 	xor	%g3,%l3,%l3
    371  1.1  martin 	xor	%g4,%l3,%l3		! Sigma0(a)
    372  1.1  martin 
    373  1.1  martin 	or	%l4,%l5,%g3
    374  1.1  martin 	and	%l4,%l5,%g4
    375  1.1  martin 	and	%l6,%g3,%g3
    376  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    377  1.1  martin 	add	%g5,%g2,%g2		! +=K[4]
    378  1.1  martin 	add	%g4,%l3,%l3
    379  1.1  martin 
    380  1.1  martin 	add	%g2,%l7,%l7
    381  1.1  martin 	add	%g2,%l3,%l3
    382  1.1  martin 	add	%o2,%l2,%g2
    383  1.1  martin 	srl	%l7,6,%l2	!! 5
    384  1.1  martin 	xor	%l0,%l1,%g5
    385  1.1  martin 	sll	%l7,7,%g4
    386  1.1  martin 	and	%l7,%g5,%g5
    387  1.1  martin 	srl	%l7,11,%g3
    388  1.1  martin 	xor	%g4,%l2,%l2
    389  1.1  martin 	sll	%l7,21,%g4
    390  1.1  martin 	xor	%g3,%l2,%l2
    391  1.1  martin 	srl	%l7,25,%g3
    392  1.1  martin 	xor	%g4,%l2,%l2
    393  1.1  martin 	sll	%l7,26,%g4
    394  1.1  martin 	xor	%g3,%l2,%l2
    395  1.1  martin 	xor	%l1,%g5,%g5		! Ch(e,f,g)
    396  1.1  martin 	xor	%g4,%l2,%g3		! Sigma1(e)
    397  1.1  martin 
    398  1.1  martin 	srl	%l3,2,%l2
    399  1.1  martin 	add	%g5,%g2,%g2
    400  1.1  martin 	ld	[%i3+20],%g5	! K[5]
    401  1.1  martin 	sll	%l3,10,%g4
    402  1.1  martin 	add	%g3,%g2,%g2
    403  1.1  martin 	srl	%l3,13,%g3
    404  1.1  martin 	xor	%g4,%l2,%l2
    405  1.1  martin 	sll	%l3,19,%g4
    406  1.1  martin 	xor	%g3,%l2,%l2
    407  1.1  martin 	srl	%l3,22,%g3
    408  1.1  martin 	xor	%g4,%l2,%l2
    409  1.1  martin 	sll	%l3,30,%g4
    410  1.1  martin 	xor	%g3,%l2,%l2
    411  1.1  martin 	xor	%g4,%l2,%l2		! Sigma0(a)
    412  1.1  martin 
    413  1.1  martin 	or	%l3,%l4,%g3
    414  1.1  martin 	and	%l3,%l4,%g4
    415  1.1  martin 	and	%l5,%g3,%g3
    416  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    417  1.1  martin 	add	%g5,%g2,%g2		! +=K[5]
    418  1.1  martin 	add	%g4,%l2,%l2
    419  1.1  martin 
    420  1.1  martin 	add	%g2,%l6,%l6
    421  1.1  martin 	add	%g2,%l2,%l2
    422  1.1  martin 	srlx	%o3,32,%g2
    423  1.1  martin 	add	%l1,%g2,%g2
    424  1.1  martin 	srl	%l6,6,%l1	!! 6
    425  1.1  martin 	xor	%l7,%l0,%g5
    426  1.1  martin 	sll	%l6,7,%g4
    427  1.1  martin 	and	%l6,%g5,%g5
    428  1.1  martin 	srl	%l6,11,%g3
    429  1.1  martin 	xor	%g4,%l1,%l1
    430  1.1  martin 	sll	%l6,21,%g4
    431  1.1  martin 	xor	%g3,%l1,%l1
    432  1.1  martin 	srl	%l6,25,%g3
    433  1.1  martin 	xor	%g4,%l1,%l1
    434  1.1  martin 	sll	%l6,26,%g4
    435  1.1  martin 	xor	%g3,%l1,%l1
    436  1.1  martin 	xor	%l0,%g5,%g5		! Ch(e,f,g)
    437  1.1  martin 	xor	%g4,%l1,%g3		! Sigma1(e)
    438  1.1  martin 
    439  1.1  martin 	srl	%l2,2,%l1
    440  1.1  martin 	add	%g5,%g2,%g2
    441  1.1  martin 	ld	[%i3+24],%g5	! K[6]
    442  1.1  martin 	sll	%l2,10,%g4
    443  1.1  martin 	add	%g3,%g2,%g2
    444  1.1  martin 	srl	%l2,13,%g3
    445  1.1  martin 	xor	%g4,%l1,%l1
    446  1.1  martin 	sll	%l2,19,%g4
    447  1.1  martin 	xor	%g3,%l1,%l1
    448  1.1  martin 	srl	%l2,22,%g3
    449  1.1  martin 	xor	%g4,%l1,%l1
    450  1.1  martin 	sll	%l2,30,%g4
    451  1.1  martin 	xor	%g3,%l1,%l1
    452  1.1  martin 	xor	%g4,%l1,%l1		! Sigma0(a)
    453  1.1  martin 
    454  1.1  martin 	or	%l2,%l3,%g3
    455  1.1  martin 	and	%l2,%l3,%g4
    456  1.1  martin 	and	%l4,%g3,%g3
    457  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    458  1.1  martin 	add	%g5,%g2,%g2		! +=K[6]
    459  1.1  martin 	add	%g4,%l1,%l1
    460  1.1  martin 
    461  1.1  martin 	add	%g2,%l5,%l5
    462  1.1  martin 	add	%g2,%l1,%l1
    463  1.1  martin 	add	%o3,%l0,%g2
    464  1.1  martin 	srl	%l5,6,%l0	!! 7
    465  1.1  martin 	xor	%l6,%l7,%g5
    466  1.1  martin 	sll	%l5,7,%g4
    467  1.1  martin 	and	%l5,%g5,%g5
    468  1.1  martin 	srl	%l5,11,%g3
    469  1.1  martin 	xor	%g4,%l0,%l0
    470  1.1  martin 	sll	%l5,21,%g4
    471  1.1  martin 	xor	%g3,%l0,%l0
    472  1.1  martin 	srl	%l5,25,%g3
    473  1.1  martin 	xor	%g4,%l0,%l0
    474  1.1  martin 	sll	%l5,26,%g4
    475  1.1  martin 	xor	%g3,%l0,%l0
    476  1.1  martin 	xor	%l7,%g5,%g5		! Ch(e,f,g)
    477  1.1  martin 	xor	%g4,%l0,%g3		! Sigma1(e)
    478  1.1  martin 
    479  1.1  martin 	srl	%l1,2,%l0
    480  1.1  martin 	add	%g5,%g2,%g2
    481  1.1  martin 	ld	[%i3+28],%g5	! K[7]
    482  1.1  martin 	sll	%l1,10,%g4
    483  1.1  martin 	add	%g3,%g2,%g2
    484  1.1  martin 	srl	%l1,13,%g3
    485  1.1  martin 	xor	%g4,%l0,%l0
    486  1.1  martin 	sll	%l1,19,%g4
    487  1.1  martin 	xor	%g3,%l0,%l0
    488  1.1  martin 	srl	%l1,22,%g3
    489  1.1  martin 	xor	%g4,%l0,%l0
    490  1.1  martin 	sll	%l1,30,%g4
    491  1.1  martin 	xor	%g3,%l0,%l0
    492  1.1  martin 	xor	%g4,%l0,%l0		! Sigma0(a)
    493  1.1  martin 
    494  1.1  martin 	or	%l1,%l2,%g3
    495  1.1  martin 	and	%l1,%l2,%g4
    496  1.1  martin 	and	%l3,%g3,%g3
    497  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    498  1.1  martin 	add	%g5,%g2,%g2		! +=K[7]
    499  1.1  martin 	add	%g4,%l0,%l0
    500  1.1  martin 
    501  1.1  martin 	add	%g2,%l4,%l4
    502  1.1  martin 	add	%g2,%l0,%l0
    503  1.1  martin 	srlx	%o4,32,%g2
    504  1.1  martin 	add	%l7,%g2,%g2
    505  1.1  martin 	srl	%l4,6,%l7	!! 8
    506  1.1  martin 	xor	%l5,%l6,%g5
    507  1.1  martin 	sll	%l4,7,%g4
    508  1.1  martin 	and	%l4,%g5,%g5
    509  1.1  martin 	srl	%l4,11,%g3
    510  1.1  martin 	xor	%g4,%l7,%l7
    511  1.1  martin 	sll	%l4,21,%g4
    512  1.1  martin 	xor	%g3,%l7,%l7
    513  1.1  martin 	srl	%l4,25,%g3
    514  1.1  martin 	xor	%g4,%l7,%l7
    515  1.1  martin 	sll	%l4,26,%g4
    516  1.1  martin 	xor	%g3,%l7,%l7
    517  1.1  martin 	xor	%l6,%g5,%g5		! Ch(e,f,g)
    518  1.1  martin 	xor	%g4,%l7,%g3		! Sigma1(e)
    519  1.1  martin 
    520  1.1  martin 	srl	%l0,2,%l7
    521  1.1  martin 	add	%g5,%g2,%g2
    522  1.1  martin 	ld	[%i3+32],%g5	! K[8]
    523  1.1  martin 	sll	%l0,10,%g4
    524  1.1  martin 	add	%g3,%g2,%g2
    525  1.1  martin 	srl	%l0,13,%g3
    526  1.1  martin 	xor	%g4,%l7,%l7
    527  1.1  martin 	sll	%l0,19,%g4
    528  1.1  martin 	xor	%g3,%l7,%l7
    529  1.1  martin 	srl	%l0,22,%g3
    530  1.1  martin 	xor	%g4,%l7,%l7
    531  1.1  martin 	sll	%l0,30,%g4
    532  1.1  martin 	xor	%g3,%l7,%l7
    533  1.1  martin 	xor	%g4,%l7,%l7		! Sigma0(a)
    534  1.1  martin 
    535  1.1  martin 	or	%l0,%l1,%g3
    536  1.1  martin 	and	%l0,%l1,%g4
    537  1.1  martin 	and	%l2,%g3,%g3
    538  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    539  1.1  martin 	add	%g5,%g2,%g2		! +=K[8]
    540  1.1  martin 	add	%g4,%l7,%l7
    541  1.1  martin 
    542  1.1  martin 	add	%g2,%l3,%l3
    543  1.1  martin 	add	%g2,%l7,%l7
    544  1.1  martin 	add	%o4,%l6,%g2
    545  1.1  martin 	srl	%l3,6,%l6	!! 9
    546  1.1  martin 	xor	%l4,%l5,%g5
    547  1.1  martin 	sll	%l3,7,%g4
    548  1.1  martin 	and	%l3,%g5,%g5
    549  1.1  martin 	srl	%l3,11,%g3
    550  1.1  martin 	xor	%g4,%l6,%l6
    551  1.1  martin 	sll	%l3,21,%g4
    552  1.1  martin 	xor	%g3,%l6,%l6
    553  1.1  martin 	srl	%l3,25,%g3
    554  1.1  martin 	xor	%g4,%l6,%l6
    555  1.1  martin 	sll	%l3,26,%g4
    556  1.1  martin 	xor	%g3,%l6,%l6
    557  1.1  martin 	xor	%l5,%g5,%g5		! Ch(e,f,g)
    558  1.1  martin 	xor	%g4,%l6,%g3		! Sigma1(e)
    559  1.1  martin 
    560  1.1  martin 	srl	%l7,2,%l6
    561  1.1  martin 	add	%g5,%g2,%g2
    562  1.1  martin 	ld	[%i3+36],%g5	! K[9]
    563  1.1  martin 	sll	%l7,10,%g4
    564  1.1  martin 	add	%g3,%g2,%g2
    565  1.1  martin 	srl	%l7,13,%g3
    566  1.1  martin 	xor	%g4,%l6,%l6
    567  1.1  martin 	sll	%l7,19,%g4
    568  1.1  martin 	xor	%g3,%l6,%l6
    569  1.1  martin 	srl	%l7,22,%g3
    570  1.1  martin 	xor	%g4,%l6,%l6
    571  1.1  martin 	sll	%l7,30,%g4
    572  1.1  martin 	xor	%g3,%l6,%l6
    573  1.1  martin 	xor	%g4,%l6,%l6		! Sigma0(a)
    574  1.1  martin 
    575  1.1  martin 	or	%l7,%l0,%g3
    576  1.1  martin 	and	%l7,%l0,%g4
    577  1.1  martin 	and	%l1,%g3,%g3
    578  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    579  1.1  martin 	add	%g5,%g2,%g2		! +=K[9]
    580  1.1  martin 	add	%g4,%l6,%l6
    581  1.1  martin 
    582  1.1  martin 	add	%g2,%l2,%l2
    583  1.1  martin 	add	%g2,%l6,%l6
    584  1.1  martin 	srlx	%o5,32,%g2
    585  1.1  martin 	add	%l5,%g2,%g2
    586  1.1  martin 	srl	%l2,6,%l5	!! 10
    587  1.1  martin 	xor	%l3,%l4,%g5
    588  1.1  martin 	sll	%l2,7,%g4
    589  1.1  martin 	and	%l2,%g5,%g5
    590  1.1  martin 	srl	%l2,11,%g3
    591  1.1  martin 	xor	%g4,%l5,%l5
    592  1.1  martin 	sll	%l2,21,%g4
    593  1.1  martin 	xor	%g3,%l5,%l5
    594  1.1  martin 	srl	%l2,25,%g3
    595  1.1  martin 	xor	%g4,%l5,%l5
    596  1.1  martin 	sll	%l2,26,%g4
    597  1.1  martin 	xor	%g3,%l5,%l5
    598  1.1  martin 	xor	%l4,%g5,%g5		! Ch(e,f,g)
    599  1.1  martin 	xor	%g4,%l5,%g3		! Sigma1(e)
    600  1.1  martin 
    601  1.1  martin 	srl	%l6,2,%l5
    602  1.1  martin 	add	%g5,%g2,%g2
    603  1.1  martin 	ld	[%i3+40],%g5	! K[10]
    604  1.1  martin 	sll	%l6,10,%g4
    605  1.1  martin 	add	%g3,%g2,%g2
    606  1.1  martin 	srl	%l6,13,%g3
    607  1.1  martin 	xor	%g4,%l5,%l5
    608  1.1  martin 	sll	%l6,19,%g4
    609  1.1  martin 	xor	%g3,%l5,%l5
    610  1.1  martin 	srl	%l6,22,%g3
    611  1.1  martin 	xor	%g4,%l5,%l5
    612  1.1  martin 	sll	%l6,30,%g4
    613  1.1  martin 	xor	%g3,%l5,%l5
    614  1.1  martin 	xor	%g4,%l5,%l5		! Sigma0(a)
    615  1.1  martin 
    616  1.1  martin 	or	%l6,%l7,%g3
    617  1.1  martin 	and	%l6,%l7,%g4
    618  1.1  martin 	and	%l0,%g3,%g3
    619  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    620  1.1  martin 	add	%g5,%g2,%g2		! +=K[10]
    621  1.1  martin 	add	%g4,%l5,%l5
    622  1.1  martin 
    623  1.1  martin 	add	%g2,%l1,%l1
    624  1.1  martin 	add	%g2,%l5,%l5
    625  1.1  martin 	add	%o5,%l4,%g2
    626  1.1  martin 	srl	%l1,6,%l4	!! 11
    627  1.1  martin 	xor	%l2,%l3,%g5
    628  1.1  martin 	sll	%l1,7,%g4
    629  1.1  martin 	and	%l1,%g5,%g5
    630  1.1  martin 	srl	%l1,11,%g3
    631  1.1  martin 	xor	%g4,%l4,%l4
    632  1.1  martin 	sll	%l1,21,%g4
    633  1.1  martin 	xor	%g3,%l4,%l4
    634  1.1  martin 	srl	%l1,25,%g3
    635  1.1  martin 	xor	%g4,%l4,%l4
    636  1.1  martin 	sll	%l1,26,%g4
    637  1.1  martin 	xor	%g3,%l4,%l4
    638  1.1  martin 	xor	%l3,%g5,%g5		! Ch(e,f,g)
    639  1.1  martin 	xor	%g4,%l4,%g3		! Sigma1(e)
    640  1.1  martin 
    641  1.1  martin 	srl	%l5,2,%l4
    642  1.1  martin 	add	%g5,%g2,%g2
    643  1.1  martin 	ld	[%i3+44],%g5	! K[11]
    644  1.1  martin 	sll	%l5,10,%g4
    645  1.1  martin 	add	%g3,%g2,%g2
    646  1.1  martin 	srl	%l5,13,%g3
    647  1.1  martin 	xor	%g4,%l4,%l4
    648  1.1  martin 	sll	%l5,19,%g4
    649  1.1  martin 	xor	%g3,%l4,%l4
    650  1.1  martin 	srl	%l5,22,%g3
    651  1.1  martin 	xor	%g4,%l4,%l4
    652  1.1  martin 	sll	%l5,30,%g4
    653  1.1  martin 	xor	%g3,%l4,%l4
    654  1.1  martin 	xor	%g4,%l4,%l4		! Sigma0(a)
    655  1.1  martin 
    656  1.1  martin 	or	%l5,%l6,%g3
    657  1.1  martin 	and	%l5,%l6,%g4
    658  1.1  martin 	and	%l7,%g3,%g3
    659  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    660  1.1  martin 	add	%g5,%g2,%g2		! +=K[11]
    661  1.1  martin 	add	%g4,%l4,%l4
    662  1.1  martin 
    663  1.1  martin 	add	%g2,%l0,%l0
    664  1.1  martin 	add	%g2,%l4,%l4
    665  1.1  martin 	srlx	%g1,32,%g2
    666  1.1  martin 	add	%l3,%g2,%g2
    667  1.1  martin 	srl	%l0,6,%l3	!! 12
    668  1.1  martin 	xor	%l1,%l2,%g5
    669  1.1  martin 	sll	%l0,7,%g4
    670  1.1  martin 	and	%l0,%g5,%g5
    671  1.1  martin 	srl	%l0,11,%g3
    672  1.1  martin 	xor	%g4,%l3,%l3
    673  1.1  martin 	sll	%l0,21,%g4
    674  1.1  martin 	xor	%g3,%l3,%l3
    675  1.1  martin 	srl	%l0,25,%g3
    676  1.1  martin 	xor	%g4,%l3,%l3
    677  1.1  martin 	sll	%l0,26,%g4
    678  1.1  martin 	xor	%g3,%l3,%l3
    679  1.1  martin 	xor	%l2,%g5,%g5		! Ch(e,f,g)
    680  1.1  martin 	xor	%g4,%l3,%g3		! Sigma1(e)
    681  1.1  martin 
    682  1.1  martin 	srl	%l4,2,%l3
    683  1.1  martin 	add	%g5,%g2,%g2
    684  1.1  martin 	ld	[%i3+48],%g5	! K[12]
    685  1.1  martin 	sll	%l4,10,%g4
    686  1.1  martin 	add	%g3,%g2,%g2
    687  1.1  martin 	srl	%l4,13,%g3
    688  1.1  martin 	xor	%g4,%l3,%l3
    689  1.1  martin 	sll	%l4,19,%g4
    690  1.1  martin 	xor	%g3,%l3,%l3
    691  1.1  martin 	srl	%l4,22,%g3
    692  1.1  martin 	xor	%g4,%l3,%l3
    693  1.1  martin 	sll	%l4,30,%g4
    694  1.1  martin 	xor	%g3,%l3,%l3
    695  1.1  martin 	xor	%g4,%l3,%l3		! Sigma0(a)
    696  1.1  martin 
    697  1.1  martin 	or	%l4,%l5,%g3
    698  1.1  martin 	and	%l4,%l5,%g4
    699  1.1  martin 	and	%l6,%g3,%g3
    700  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    701  1.1  martin 	add	%g5,%g2,%g2		! +=K[12]
    702  1.1  martin 	add	%g4,%l3,%l3
    703  1.1  martin 
    704  1.1  martin 	add	%g2,%l7,%l7
    705  1.1  martin 	add	%g2,%l3,%l3
    706  1.1  martin 	add	%g1,%l2,%g2
    707  1.1  martin 	srl	%l7,6,%l2	!! 13
    708  1.1  martin 	xor	%l0,%l1,%g5
    709  1.1  martin 	sll	%l7,7,%g4
    710  1.1  martin 	and	%l7,%g5,%g5
    711  1.1  martin 	srl	%l7,11,%g3
    712  1.1  martin 	xor	%g4,%l2,%l2
    713  1.1  martin 	sll	%l7,21,%g4
    714  1.1  martin 	xor	%g3,%l2,%l2
    715  1.1  martin 	srl	%l7,25,%g3
    716  1.1  martin 	xor	%g4,%l2,%l2
    717  1.1  martin 	sll	%l7,26,%g4
    718  1.1  martin 	xor	%g3,%l2,%l2
    719  1.1  martin 	xor	%l1,%g5,%g5		! Ch(e,f,g)
    720  1.1  martin 	xor	%g4,%l2,%g3		! Sigma1(e)
    721  1.1  martin 
    722  1.1  martin 	srl	%l3,2,%l2
    723  1.1  martin 	add	%g5,%g2,%g2
    724  1.1  martin 	ld	[%i3+52],%g5	! K[13]
    725  1.1  martin 	sll	%l3,10,%g4
    726  1.1  martin 	add	%g3,%g2,%g2
    727  1.1  martin 	srl	%l3,13,%g3
    728  1.1  martin 	xor	%g4,%l2,%l2
    729  1.1  martin 	sll	%l3,19,%g4
    730  1.1  martin 	xor	%g3,%l2,%l2
    731  1.1  martin 	srl	%l3,22,%g3
    732  1.1  martin 	xor	%g4,%l2,%l2
    733  1.1  martin 	sll	%l3,30,%g4
    734  1.1  martin 	xor	%g3,%l2,%l2
    735  1.1  martin 	xor	%g4,%l2,%l2		! Sigma0(a)
    736  1.1  martin 
    737  1.1  martin 	or	%l3,%l4,%g3
    738  1.1  martin 	and	%l3,%l4,%g4
    739  1.1  martin 	and	%l5,%g3,%g3
    740  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    741  1.1  martin 	add	%g5,%g2,%g2		! +=K[13]
    742  1.1  martin 	add	%g4,%l2,%l2
    743  1.1  martin 
    744  1.1  martin 	add	%g2,%l6,%l6
    745  1.1  martin 	add	%g2,%l2,%l2
    746  1.1  martin 	srlx	%o7,32,%g2
    747  1.1  martin 	add	%l1,%g2,%g2
    748  1.1  martin 	srl	%l6,6,%l1	!! 14
    749  1.1  martin 	xor	%l7,%l0,%g5
    750  1.1  martin 	sll	%l6,7,%g4
    751  1.1  martin 	and	%l6,%g5,%g5
    752  1.1  martin 	srl	%l6,11,%g3
    753  1.1  martin 	xor	%g4,%l1,%l1
    754  1.1  martin 	sll	%l6,21,%g4
    755  1.1  martin 	xor	%g3,%l1,%l1
    756  1.1  martin 	srl	%l6,25,%g3
    757  1.1  martin 	xor	%g4,%l1,%l1
    758  1.1  martin 	sll	%l6,26,%g4
    759  1.1  martin 	xor	%g3,%l1,%l1
    760  1.1  martin 	xor	%l0,%g5,%g5		! Ch(e,f,g)
    761  1.1  martin 	xor	%g4,%l1,%g3		! Sigma1(e)
    762  1.1  martin 
    763  1.1  martin 	srl	%l2,2,%l1
    764  1.1  martin 	add	%g5,%g2,%g2
    765  1.1  martin 	ld	[%i3+56],%g5	! K[14]
    766  1.1  martin 	sll	%l2,10,%g4
    767  1.1  martin 	add	%g3,%g2,%g2
    768  1.1  martin 	srl	%l2,13,%g3
    769  1.1  martin 	xor	%g4,%l1,%l1
    770  1.1  martin 	sll	%l2,19,%g4
    771  1.1  martin 	xor	%g3,%l1,%l1
    772  1.1  martin 	srl	%l2,22,%g3
    773  1.1  martin 	xor	%g4,%l1,%l1
    774  1.1  martin 	sll	%l2,30,%g4
    775  1.1  martin 	xor	%g3,%l1,%l1
    776  1.1  martin 	xor	%g4,%l1,%l1		! Sigma0(a)
    777  1.1  martin 
    778  1.1  martin 	or	%l2,%l3,%g3
    779  1.1  martin 	and	%l2,%l3,%g4
    780  1.1  martin 	and	%l4,%g3,%g3
    781  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    782  1.1  martin 	add	%g5,%g2,%g2		! +=K[14]
    783  1.1  martin 	add	%g4,%l1,%l1
    784  1.1  martin 
    785  1.1  martin 	add	%g2,%l5,%l5
    786  1.1  martin 	add	%g2,%l1,%l1
    787  1.1  martin 	add	%o7,%l0,%g2
    788  1.1  martin 	srl	%l5,6,%l0	!! 15
    789  1.1  martin 	xor	%l6,%l7,%g5
    790  1.1  martin 	sll	%l5,7,%g4
    791  1.1  martin 	and	%l5,%g5,%g5
    792  1.1  martin 	srl	%l5,11,%g3
    793  1.1  martin 	xor	%g4,%l0,%l0
    794  1.1  martin 	sll	%l5,21,%g4
    795  1.1  martin 	xor	%g3,%l0,%l0
    796  1.1  martin 	srl	%l5,25,%g3
    797  1.1  martin 	xor	%g4,%l0,%l0
    798  1.1  martin 	sll	%l5,26,%g4
    799  1.1  martin 	xor	%g3,%l0,%l0
    800  1.1  martin 	xor	%l7,%g5,%g5		! Ch(e,f,g)
    801  1.1  martin 	xor	%g4,%l0,%g3		! Sigma1(e)
    802  1.1  martin 
    803  1.1  martin 	srl	%l1,2,%l0
    804  1.1  martin 	add	%g5,%g2,%g2
    805  1.1  martin 	ld	[%i3+60],%g5	! K[15]
    806  1.1  martin 	sll	%l1,10,%g4
    807  1.1  martin 	add	%g3,%g2,%g2
    808  1.1  martin 	srl	%l1,13,%g3
    809  1.1  martin 	xor	%g4,%l0,%l0
    810  1.1  martin 	sll	%l1,19,%g4
    811  1.1  martin 	xor	%g3,%l0,%l0
    812  1.1  martin 	srl	%l1,22,%g3
    813  1.1  martin 	xor	%g4,%l0,%l0
    814  1.1  martin 	sll	%l1,30,%g4
    815  1.1  martin 	xor	%g3,%l0,%l0
    816  1.1  martin 	xor	%g4,%l0,%l0		! Sigma0(a)
    817  1.1  martin 
    818  1.1  martin 	or	%l1,%l2,%g3
    819  1.1  martin 	and	%l1,%l2,%g4
    820  1.1  martin 	and	%l3,%g3,%g3
    821  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    822  1.1  martin 	add	%g5,%g2,%g2		! +=K[15]
    823  1.1  martin 	add	%g4,%l0,%l0
    824  1.1  martin 
    825  1.1  martin 	add	%g2,%l4,%l4
    826  1.1  martin 	add	%g2,%l0,%l0
    827  1.1  martin .L16_xx:
    828  1.1  martin 	srl	%o0,3,%g2		!! Xupdate(16)
    829  1.1  martin 	sll	%o0,14,%g4
    830  1.1  martin 	srl	%o0,7,%g3
    831  1.1  martin 	xor	%g4,%g2,%g2
    832  1.1  martin 	sll	%g4,11,%g4
    833  1.1  martin 	xor	%g3,%g2,%g2
    834  1.1  martin 	srl	%o0,18,%g3
    835  1.1  martin 	xor	%g4,%g2,%g2
    836  1.1  martin 	srlx	%o7,32,%i5
    837  1.1  martin 	srl	%i5,10,%g5
    838  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
    839  1.1  martin 	sll	%i5,13,%g4
    840  1.1  martin 	srl	%i5,17,%g3
    841  1.1  martin 	xor	%g4,%g5,%g5
    842  1.1  martin 	sll	%g4,2,%g4
    843  1.1  martin 	xor	%g3,%g5,%g5
    844  1.1  martin 	srl	%i5,19,%g3
    845  1.1  martin 	xor	%g4,%g5,%g5
    846  1.1  martin 	srlx	%o0,32,%g4		! X[i]
    847  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
    848  1.1  martin 	add	%o4,%g2,%g2			! +=X[i+9]
    849  1.1  martin 	add	%g5,%g4,%g4
    850  1.1  martin 	srl	%o0,0,%o0
    851  1.1  martin 	add	%g4,%g2,%g2
    852  1.1  martin 
    853  1.1  martin 	sllx	%g2,32,%g3
    854  1.1  martin 	or	%g3,%o0,%o0
    855  1.1  martin 	add	%l7,%g2,%g2
    856  1.1  martin 	srl	%l4,6,%l7	!! 16
    857  1.1  martin 	xor	%l5,%l6,%g5
    858  1.1  martin 	sll	%l4,7,%g4
    859  1.1  martin 	and	%l4,%g5,%g5
    860  1.1  martin 	srl	%l4,11,%g3
    861  1.1  martin 	xor	%g4,%l7,%l7
    862  1.1  martin 	sll	%l4,21,%g4
    863  1.1  martin 	xor	%g3,%l7,%l7
    864  1.1  martin 	srl	%l4,25,%g3
    865  1.1  martin 	xor	%g4,%l7,%l7
    866  1.1  martin 	sll	%l4,26,%g4
    867  1.1  martin 	xor	%g3,%l7,%l7
    868  1.1  martin 	xor	%l6,%g5,%g5		! Ch(e,f,g)
    869  1.1  martin 	xor	%g4,%l7,%g3		! Sigma1(e)
    870  1.1  martin 
    871  1.1  martin 	srl	%l0,2,%l7
    872  1.1  martin 	add	%g5,%g2,%g2
    873  1.1  martin 	ld	[%i3+64],%g5	! K[16]
    874  1.1  martin 	sll	%l0,10,%g4
    875  1.1  martin 	add	%g3,%g2,%g2
    876  1.1  martin 	srl	%l0,13,%g3
    877  1.1  martin 	xor	%g4,%l7,%l7
    878  1.1  martin 	sll	%l0,19,%g4
    879  1.1  martin 	xor	%g3,%l7,%l7
    880  1.1  martin 	srl	%l0,22,%g3
    881  1.1  martin 	xor	%g4,%l7,%l7
    882  1.1  martin 	sll	%l0,30,%g4
    883  1.1  martin 	xor	%g3,%l7,%l7
    884  1.1  martin 	xor	%g4,%l7,%l7		! Sigma0(a)
    885  1.1  martin 
    886  1.1  martin 	or	%l0,%l1,%g3
    887  1.1  martin 	and	%l0,%l1,%g4
    888  1.1  martin 	and	%l2,%g3,%g3
    889  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    890  1.1  martin 	add	%g5,%g2,%g2		! +=K[16]
    891  1.1  martin 	add	%g4,%l7,%l7
    892  1.1  martin 
    893  1.1  martin 	add	%g2,%l3,%l3
    894  1.1  martin 	add	%g2,%l7,%l7
    895  1.1  martin 	srlx	%o1,32,%i5
    896  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(17)
    897  1.1  martin 	sll	%i5,14,%g4
    898  1.1  martin 	srl	%i5,7,%g3
    899  1.1  martin 	xor	%g4,%g2,%g2
    900  1.1  martin 	sll	%g4,11,%g4
    901  1.1  martin 	xor	%g3,%g2,%g2
    902  1.1  martin 	srl	%i5,18,%g3
    903  1.1  martin 	xor	%g4,%g2,%g2
    904  1.1  martin 	srl	%o7,10,%g5
    905  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
    906  1.1  martin 	sll	%o7,13,%g4
    907  1.1  martin 	srl	%o7,17,%g3
    908  1.1  martin 	xor	%g4,%g5,%g5
    909  1.1  martin 	sll	%g4,2,%g4
    910  1.1  martin 	xor	%g3,%g5,%g5
    911  1.1  martin 	srl	%o7,19,%g3
    912  1.1  martin 	xor	%g4,%g5,%g5
    913  1.1  martin 	srlx	%o5,32,%g4	! X[i+9]
    914  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
    915  1.1  martin 	srl	%o0,0,%g3
    916  1.1  martin 	add	%g5,%g4,%g4
    917  1.1  martin 	add	%o0,%g2,%g2			! +=X[i]
    918  1.1  martin 	xor	%g3,%o0,%o0
    919  1.1  martin 	add	%g4,%g2,%g2
    920  1.1  martin 
    921  1.1  martin 	srl	%g2,0,%g2
    922  1.1  martin 	or	%g2,%o0,%o0
    923  1.1  martin 	add	%l6,%g2,%g2
    924  1.1  martin 	srl	%l3,6,%l6	!! 17
    925  1.1  martin 	xor	%l4,%l5,%g5
    926  1.1  martin 	sll	%l3,7,%g4
    927  1.1  martin 	and	%l3,%g5,%g5
    928  1.1  martin 	srl	%l3,11,%g3
    929  1.1  martin 	xor	%g4,%l6,%l6
    930  1.1  martin 	sll	%l3,21,%g4
    931  1.1  martin 	xor	%g3,%l6,%l6
    932  1.1  martin 	srl	%l3,25,%g3
    933  1.1  martin 	xor	%g4,%l6,%l6
    934  1.1  martin 	sll	%l3,26,%g4
    935  1.1  martin 	xor	%g3,%l6,%l6
    936  1.1  martin 	xor	%l5,%g5,%g5		! Ch(e,f,g)
    937  1.1  martin 	xor	%g4,%l6,%g3		! Sigma1(e)
    938  1.1  martin 
    939  1.1  martin 	srl	%l7,2,%l6
    940  1.1  martin 	add	%g5,%g2,%g2
    941  1.1  martin 	ld	[%i3+68],%g5	! K[17]
    942  1.1  martin 	sll	%l7,10,%g4
    943  1.1  martin 	add	%g3,%g2,%g2
    944  1.1  martin 	srl	%l7,13,%g3
    945  1.1  martin 	xor	%g4,%l6,%l6
    946  1.1  martin 	sll	%l7,19,%g4
    947  1.1  martin 	xor	%g3,%l6,%l6
    948  1.1  martin 	srl	%l7,22,%g3
    949  1.1  martin 	xor	%g4,%l6,%l6
    950  1.1  martin 	sll	%l7,30,%g4
    951  1.1  martin 	xor	%g3,%l6,%l6
    952  1.1  martin 	xor	%g4,%l6,%l6		! Sigma0(a)
    953  1.1  martin 
    954  1.1  martin 	or	%l7,%l0,%g3
    955  1.1  martin 	and	%l7,%l0,%g4
    956  1.1  martin 	and	%l1,%g3,%g3
    957  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
    958  1.1  martin 	add	%g5,%g2,%g2		! +=K[17]
    959  1.1  martin 	add	%g4,%l6,%l6
    960  1.1  martin 
    961  1.1  martin 	add	%g2,%l2,%l2
    962  1.1  martin 	add	%g2,%l6,%l6
    963  1.1  martin 	srl	%o1,3,%g2		!! Xupdate(18)
    964  1.1  martin 	sll	%o1,14,%g4
    965  1.1  martin 	srl	%o1,7,%g3
    966  1.1  martin 	xor	%g4,%g2,%g2
    967  1.1  martin 	sll	%g4,11,%g4
    968  1.1  martin 	xor	%g3,%g2,%g2
    969  1.1  martin 	srl	%o1,18,%g3
    970  1.1  martin 	xor	%g4,%g2,%g2
    971  1.1  martin 	srlx	%o0,32,%i5
    972  1.1  martin 	srl	%i5,10,%g5
    973  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
    974  1.1  martin 	sll	%i5,13,%g4
    975  1.1  martin 	srl	%i5,17,%g3
    976  1.1  martin 	xor	%g4,%g5,%g5
    977  1.1  martin 	sll	%g4,2,%g4
    978  1.1  martin 	xor	%g3,%g5,%g5
    979  1.1  martin 	srl	%i5,19,%g3
    980  1.1  martin 	xor	%g4,%g5,%g5
    981  1.1  martin 	srlx	%o1,32,%g4		! X[i]
    982  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
    983  1.1  martin 	add	%o5,%g2,%g2			! +=X[i+9]
    984  1.1  martin 	add	%g5,%g4,%g4
    985  1.1  martin 	srl	%o1,0,%o1
    986  1.1  martin 	add	%g4,%g2,%g2
    987  1.1  martin 
    988  1.1  martin 	sllx	%g2,32,%g3
    989  1.1  martin 	or	%g3,%o1,%o1
    990  1.1  martin 	add	%l5,%g2,%g2
    991  1.1  martin 	srl	%l2,6,%l5	!! 18
    992  1.1  martin 	xor	%l3,%l4,%g5
    993  1.1  martin 	sll	%l2,7,%g4
    994  1.1  martin 	and	%l2,%g5,%g5
    995  1.1  martin 	srl	%l2,11,%g3
    996  1.1  martin 	xor	%g4,%l5,%l5
    997  1.1  martin 	sll	%l2,21,%g4
    998  1.1  martin 	xor	%g3,%l5,%l5
    999  1.1  martin 	srl	%l2,25,%g3
   1000  1.1  martin 	xor	%g4,%l5,%l5
   1001  1.1  martin 	sll	%l2,26,%g4
   1002  1.1  martin 	xor	%g3,%l5,%l5
   1003  1.1  martin 	xor	%l4,%g5,%g5		! Ch(e,f,g)
   1004  1.1  martin 	xor	%g4,%l5,%g3		! Sigma1(e)
   1005  1.1  martin 
   1006  1.1  martin 	srl	%l6,2,%l5
   1007  1.1  martin 	add	%g5,%g2,%g2
   1008  1.1  martin 	ld	[%i3+72],%g5	! K[18]
   1009  1.1  martin 	sll	%l6,10,%g4
   1010  1.1  martin 	add	%g3,%g2,%g2
   1011  1.1  martin 	srl	%l6,13,%g3
   1012  1.1  martin 	xor	%g4,%l5,%l5
   1013  1.1  martin 	sll	%l6,19,%g4
   1014  1.1  martin 	xor	%g3,%l5,%l5
   1015  1.1  martin 	srl	%l6,22,%g3
   1016  1.1  martin 	xor	%g4,%l5,%l5
   1017  1.1  martin 	sll	%l6,30,%g4
   1018  1.1  martin 	xor	%g3,%l5,%l5
   1019  1.1  martin 	xor	%g4,%l5,%l5		! Sigma0(a)
   1020  1.1  martin 
   1021  1.1  martin 	or	%l6,%l7,%g3
   1022  1.1  martin 	and	%l6,%l7,%g4
   1023  1.1  martin 	and	%l0,%g3,%g3
   1024  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1025  1.1  martin 	add	%g5,%g2,%g2		! +=K[18]
   1026  1.1  martin 	add	%g4,%l5,%l5
   1027  1.1  martin 
   1028  1.1  martin 	add	%g2,%l1,%l1
   1029  1.1  martin 	add	%g2,%l5,%l5
   1030  1.1  martin 	srlx	%o2,32,%i5
   1031  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(19)
   1032  1.1  martin 	sll	%i5,14,%g4
   1033  1.1  martin 	srl	%i5,7,%g3
   1034  1.1  martin 	xor	%g4,%g2,%g2
   1035  1.1  martin 	sll	%g4,11,%g4
   1036  1.1  martin 	xor	%g3,%g2,%g2
   1037  1.1  martin 	srl	%i5,18,%g3
   1038  1.1  martin 	xor	%g4,%g2,%g2
   1039  1.1  martin 	srl	%o0,10,%g5
   1040  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1041  1.1  martin 	sll	%o0,13,%g4
   1042  1.1  martin 	srl	%o0,17,%g3
   1043  1.1  martin 	xor	%g4,%g5,%g5
   1044  1.1  martin 	sll	%g4,2,%g4
   1045  1.1  martin 	xor	%g3,%g5,%g5
   1046  1.1  martin 	srl	%o0,19,%g3
   1047  1.1  martin 	xor	%g4,%g5,%g5
   1048  1.1  martin 	srlx	%g1,32,%g4	! X[i+9]
   1049  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1050  1.1  martin 	srl	%o1,0,%g3
   1051  1.1  martin 	add	%g5,%g4,%g4
   1052  1.1  martin 	add	%o1,%g2,%g2			! +=X[i]
   1053  1.1  martin 	xor	%g3,%o1,%o1
   1054  1.1  martin 	add	%g4,%g2,%g2
   1055  1.1  martin 
   1056  1.1  martin 	srl	%g2,0,%g2
   1057  1.1  martin 	or	%g2,%o1,%o1
   1058  1.1  martin 	add	%l4,%g2,%g2
   1059  1.1  martin 	srl	%l1,6,%l4	!! 19
   1060  1.1  martin 	xor	%l2,%l3,%g5
   1061  1.1  martin 	sll	%l1,7,%g4
   1062  1.1  martin 	and	%l1,%g5,%g5
   1063  1.1  martin 	srl	%l1,11,%g3
   1064  1.1  martin 	xor	%g4,%l4,%l4
   1065  1.1  martin 	sll	%l1,21,%g4
   1066  1.1  martin 	xor	%g3,%l4,%l4
   1067  1.1  martin 	srl	%l1,25,%g3
   1068  1.1  martin 	xor	%g4,%l4,%l4
   1069  1.1  martin 	sll	%l1,26,%g4
   1070  1.1  martin 	xor	%g3,%l4,%l4
   1071  1.1  martin 	xor	%l3,%g5,%g5		! Ch(e,f,g)
   1072  1.1  martin 	xor	%g4,%l4,%g3		! Sigma1(e)
   1073  1.1  martin 
   1074  1.1  martin 	srl	%l5,2,%l4
   1075  1.1  martin 	add	%g5,%g2,%g2
   1076  1.1  martin 	ld	[%i3+76],%g5	! K[19]
   1077  1.1  martin 	sll	%l5,10,%g4
   1078  1.1  martin 	add	%g3,%g2,%g2
   1079  1.1  martin 	srl	%l5,13,%g3
   1080  1.1  martin 	xor	%g4,%l4,%l4
   1081  1.1  martin 	sll	%l5,19,%g4
   1082  1.1  martin 	xor	%g3,%l4,%l4
   1083  1.1  martin 	srl	%l5,22,%g3
   1084  1.1  martin 	xor	%g4,%l4,%l4
   1085  1.1  martin 	sll	%l5,30,%g4
   1086  1.1  martin 	xor	%g3,%l4,%l4
   1087  1.1  martin 	xor	%g4,%l4,%l4		! Sigma0(a)
   1088  1.1  martin 
   1089  1.1  martin 	or	%l5,%l6,%g3
   1090  1.1  martin 	and	%l5,%l6,%g4
   1091  1.1  martin 	and	%l7,%g3,%g3
   1092  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1093  1.1  martin 	add	%g5,%g2,%g2		! +=K[19]
   1094  1.1  martin 	add	%g4,%l4,%l4
   1095  1.1  martin 
   1096  1.1  martin 	add	%g2,%l0,%l0
   1097  1.1  martin 	add	%g2,%l4,%l4
   1098  1.1  martin 	srl	%o2,3,%g2		!! Xupdate(20)
   1099  1.1  martin 	sll	%o2,14,%g4
   1100  1.1  martin 	srl	%o2,7,%g3
   1101  1.1  martin 	xor	%g4,%g2,%g2
   1102  1.1  martin 	sll	%g4,11,%g4
   1103  1.1  martin 	xor	%g3,%g2,%g2
   1104  1.1  martin 	srl	%o2,18,%g3
   1105  1.1  martin 	xor	%g4,%g2,%g2
   1106  1.1  martin 	srlx	%o1,32,%i5
   1107  1.1  martin 	srl	%i5,10,%g5
   1108  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1109  1.1  martin 	sll	%i5,13,%g4
   1110  1.1  martin 	srl	%i5,17,%g3
   1111  1.1  martin 	xor	%g4,%g5,%g5
   1112  1.1  martin 	sll	%g4,2,%g4
   1113  1.1  martin 	xor	%g3,%g5,%g5
   1114  1.1  martin 	srl	%i5,19,%g3
   1115  1.1  martin 	xor	%g4,%g5,%g5
   1116  1.1  martin 	srlx	%o2,32,%g4		! X[i]
   1117  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1118  1.1  martin 	add	%g1,%g2,%g2			! +=X[i+9]
   1119  1.1  martin 	add	%g5,%g4,%g4
   1120  1.1  martin 	srl	%o2,0,%o2
   1121  1.1  martin 	add	%g4,%g2,%g2
   1122  1.1  martin 
   1123  1.1  martin 	sllx	%g2,32,%g3
   1124  1.1  martin 	or	%g3,%o2,%o2
   1125  1.1  martin 	add	%l3,%g2,%g2
   1126  1.1  martin 	srl	%l0,6,%l3	!! 20
   1127  1.1  martin 	xor	%l1,%l2,%g5
   1128  1.1  martin 	sll	%l0,7,%g4
   1129  1.1  martin 	and	%l0,%g5,%g5
   1130  1.1  martin 	srl	%l0,11,%g3
   1131  1.1  martin 	xor	%g4,%l3,%l3
   1132  1.1  martin 	sll	%l0,21,%g4
   1133  1.1  martin 	xor	%g3,%l3,%l3
   1134  1.1  martin 	srl	%l0,25,%g3
   1135  1.1  martin 	xor	%g4,%l3,%l3
   1136  1.1  martin 	sll	%l0,26,%g4
   1137  1.1  martin 	xor	%g3,%l3,%l3
   1138  1.1  martin 	xor	%l2,%g5,%g5		! Ch(e,f,g)
   1139  1.1  martin 	xor	%g4,%l3,%g3		! Sigma1(e)
   1140  1.1  martin 
   1141  1.1  martin 	srl	%l4,2,%l3
   1142  1.1  martin 	add	%g5,%g2,%g2
   1143  1.1  martin 	ld	[%i3+80],%g5	! K[20]
   1144  1.1  martin 	sll	%l4,10,%g4
   1145  1.1  martin 	add	%g3,%g2,%g2
   1146  1.1  martin 	srl	%l4,13,%g3
   1147  1.1  martin 	xor	%g4,%l3,%l3
   1148  1.1  martin 	sll	%l4,19,%g4
   1149  1.1  martin 	xor	%g3,%l3,%l3
   1150  1.1  martin 	srl	%l4,22,%g3
   1151  1.1  martin 	xor	%g4,%l3,%l3
   1152  1.1  martin 	sll	%l4,30,%g4
   1153  1.1  martin 	xor	%g3,%l3,%l3
   1154  1.1  martin 	xor	%g4,%l3,%l3		! Sigma0(a)
   1155  1.1  martin 
   1156  1.1  martin 	or	%l4,%l5,%g3
   1157  1.1  martin 	and	%l4,%l5,%g4
   1158  1.1  martin 	and	%l6,%g3,%g3
   1159  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1160  1.1  martin 	add	%g5,%g2,%g2		! +=K[20]
   1161  1.1  martin 	add	%g4,%l3,%l3
   1162  1.1  martin 
   1163  1.1  martin 	add	%g2,%l7,%l7
   1164  1.1  martin 	add	%g2,%l3,%l3
   1165  1.1  martin 	srlx	%o3,32,%i5
   1166  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(21)
   1167  1.1  martin 	sll	%i5,14,%g4
   1168  1.1  martin 	srl	%i5,7,%g3
   1169  1.1  martin 	xor	%g4,%g2,%g2
   1170  1.1  martin 	sll	%g4,11,%g4
   1171  1.1  martin 	xor	%g3,%g2,%g2
   1172  1.1  martin 	srl	%i5,18,%g3
   1173  1.1  martin 	xor	%g4,%g2,%g2
   1174  1.1  martin 	srl	%o1,10,%g5
   1175  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1176  1.1  martin 	sll	%o1,13,%g4
   1177  1.1  martin 	srl	%o1,17,%g3
   1178  1.1  martin 	xor	%g4,%g5,%g5
   1179  1.1  martin 	sll	%g4,2,%g4
   1180  1.1  martin 	xor	%g3,%g5,%g5
   1181  1.1  martin 	srl	%o1,19,%g3
   1182  1.1  martin 	xor	%g4,%g5,%g5
   1183  1.1  martin 	srlx	%o7,32,%g4	! X[i+9]
   1184  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1185  1.1  martin 	srl	%o2,0,%g3
   1186  1.1  martin 	add	%g5,%g4,%g4
   1187  1.1  martin 	add	%o2,%g2,%g2			! +=X[i]
   1188  1.1  martin 	xor	%g3,%o2,%o2
   1189  1.1  martin 	add	%g4,%g2,%g2
   1190  1.1  martin 
   1191  1.1  martin 	srl	%g2,0,%g2
   1192  1.1  martin 	or	%g2,%o2,%o2
   1193  1.1  martin 	add	%l2,%g2,%g2
   1194  1.1  martin 	srl	%l7,6,%l2	!! 21
   1195  1.1  martin 	xor	%l0,%l1,%g5
   1196  1.1  martin 	sll	%l7,7,%g4
   1197  1.1  martin 	and	%l7,%g5,%g5
   1198  1.1  martin 	srl	%l7,11,%g3
   1199  1.1  martin 	xor	%g4,%l2,%l2
   1200  1.1  martin 	sll	%l7,21,%g4
   1201  1.1  martin 	xor	%g3,%l2,%l2
   1202  1.1  martin 	srl	%l7,25,%g3
   1203  1.1  martin 	xor	%g4,%l2,%l2
   1204  1.1  martin 	sll	%l7,26,%g4
   1205  1.1  martin 	xor	%g3,%l2,%l2
   1206  1.1  martin 	xor	%l1,%g5,%g5		! Ch(e,f,g)
   1207  1.1  martin 	xor	%g4,%l2,%g3		! Sigma1(e)
   1208  1.1  martin 
   1209  1.1  martin 	srl	%l3,2,%l2
   1210  1.1  martin 	add	%g5,%g2,%g2
   1211  1.1  martin 	ld	[%i3+84],%g5	! K[21]
   1212  1.1  martin 	sll	%l3,10,%g4
   1213  1.1  martin 	add	%g3,%g2,%g2
   1214  1.1  martin 	srl	%l3,13,%g3
   1215  1.1  martin 	xor	%g4,%l2,%l2
   1216  1.1  martin 	sll	%l3,19,%g4
   1217  1.1  martin 	xor	%g3,%l2,%l2
   1218  1.1  martin 	srl	%l3,22,%g3
   1219  1.1  martin 	xor	%g4,%l2,%l2
   1220  1.1  martin 	sll	%l3,30,%g4
   1221  1.1  martin 	xor	%g3,%l2,%l2
   1222  1.1  martin 	xor	%g4,%l2,%l2		! Sigma0(a)
   1223  1.1  martin 
   1224  1.1  martin 	or	%l3,%l4,%g3
   1225  1.1  martin 	and	%l3,%l4,%g4
   1226  1.1  martin 	and	%l5,%g3,%g3
   1227  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1228  1.1  martin 	add	%g5,%g2,%g2		! +=K[21]
   1229  1.1  martin 	add	%g4,%l2,%l2
   1230  1.1  martin 
   1231  1.1  martin 	add	%g2,%l6,%l6
   1232  1.1  martin 	add	%g2,%l2,%l2
   1233  1.1  martin 	srl	%o3,3,%g2		!! Xupdate(22)
   1234  1.1  martin 	sll	%o3,14,%g4
   1235  1.1  martin 	srl	%o3,7,%g3
   1236  1.1  martin 	xor	%g4,%g2,%g2
   1237  1.1  martin 	sll	%g4,11,%g4
   1238  1.1  martin 	xor	%g3,%g2,%g2
   1239  1.1  martin 	srl	%o3,18,%g3
   1240  1.1  martin 	xor	%g4,%g2,%g2
   1241  1.1  martin 	srlx	%o2,32,%i5
   1242  1.1  martin 	srl	%i5,10,%g5
   1243  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1244  1.1  martin 	sll	%i5,13,%g4
   1245  1.1  martin 	srl	%i5,17,%g3
   1246  1.1  martin 	xor	%g4,%g5,%g5
   1247  1.1  martin 	sll	%g4,2,%g4
   1248  1.1  martin 	xor	%g3,%g5,%g5
   1249  1.1  martin 	srl	%i5,19,%g3
   1250  1.1  martin 	xor	%g4,%g5,%g5
   1251  1.1  martin 	srlx	%o3,32,%g4		! X[i]
   1252  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1253  1.1  martin 	add	%o7,%g2,%g2			! +=X[i+9]
   1254  1.1  martin 	add	%g5,%g4,%g4
   1255  1.1  martin 	srl	%o3,0,%o3
   1256  1.1  martin 	add	%g4,%g2,%g2
   1257  1.1  martin 
   1258  1.1  martin 	sllx	%g2,32,%g3
   1259  1.1  martin 	or	%g3,%o3,%o3
   1260  1.1  martin 	add	%l1,%g2,%g2
   1261  1.1  martin 	srl	%l6,6,%l1	!! 22
   1262  1.1  martin 	xor	%l7,%l0,%g5
   1263  1.1  martin 	sll	%l6,7,%g4
   1264  1.1  martin 	and	%l6,%g5,%g5
   1265  1.1  martin 	srl	%l6,11,%g3
   1266  1.1  martin 	xor	%g4,%l1,%l1
   1267  1.1  martin 	sll	%l6,21,%g4
   1268  1.1  martin 	xor	%g3,%l1,%l1
   1269  1.1  martin 	srl	%l6,25,%g3
   1270  1.1  martin 	xor	%g4,%l1,%l1
   1271  1.1  martin 	sll	%l6,26,%g4
   1272  1.1  martin 	xor	%g3,%l1,%l1
   1273  1.1  martin 	xor	%l0,%g5,%g5		! Ch(e,f,g)
   1274  1.1  martin 	xor	%g4,%l1,%g3		! Sigma1(e)
   1275  1.1  martin 
   1276  1.1  martin 	srl	%l2,2,%l1
   1277  1.1  martin 	add	%g5,%g2,%g2
   1278  1.1  martin 	ld	[%i3+88],%g5	! K[22]
   1279  1.1  martin 	sll	%l2,10,%g4
   1280  1.1  martin 	add	%g3,%g2,%g2
   1281  1.1  martin 	srl	%l2,13,%g3
   1282  1.1  martin 	xor	%g4,%l1,%l1
   1283  1.1  martin 	sll	%l2,19,%g4
   1284  1.1  martin 	xor	%g3,%l1,%l1
   1285  1.1  martin 	srl	%l2,22,%g3
   1286  1.1  martin 	xor	%g4,%l1,%l1
   1287  1.1  martin 	sll	%l2,30,%g4
   1288  1.1  martin 	xor	%g3,%l1,%l1
   1289  1.1  martin 	xor	%g4,%l1,%l1		! Sigma0(a)
   1290  1.1  martin 
   1291  1.1  martin 	or	%l2,%l3,%g3
   1292  1.1  martin 	and	%l2,%l3,%g4
   1293  1.1  martin 	and	%l4,%g3,%g3
   1294  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1295  1.1  martin 	add	%g5,%g2,%g2		! +=K[22]
   1296  1.1  martin 	add	%g4,%l1,%l1
   1297  1.1  martin 
   1298  1.1  martin 	add	%g2,%l5,%l5
   1299  1.1  martin 	add	%g2,%l1,%l1
   1300  1.1  martin 	srlx	%o4,32,%i5
   1301  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(23)
   1302  1.1  martin 	sll	%i5,14,%g4
   1303  1.1  martin 	srl	%i5,7,%g3
   1304  1.1  martin 	xor	%g4,%g2,%g2
   1305  1.1  martin 	sll	%g4,11,%g4
   1306  1.1  martin 	xor	%g3,%g2,%g2
   1307  1.1  martin 	srl	%i5,18,%g3
   1308  1.1  martin 	xor	%g4,%g2,%g2
   1309  1.1  martin 	srl	%o2,10,%g5
   1310  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1311  1.1  martin 	sll	%o2,13,%g4
   1312  1.1  martin 	srl	%o2,17,%g3
   1313  1.1  martin 	xor	%g4,%g5,%g5
   1314  1.1  martin 	sll	%g4,2,%g4
   1315  1.1  martin 	xor	%g3,%g5,%g5
   1316  1.1  martin 	srl	%o2,19,%g3
   1317  1.1  martin 	xor	%g4,%g5,%g5
   1318  1.1  martin 	srlx	%o0,32,%g4	! X[i+9]
   1319  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1320  1.1  martin 	srl	%o3,0,%g3
   1321  1.1  martin 	add	%g5,%g4,%g4
   1322  1.1  martin 	add	%o3,%g2,%g2			! +=X[i]
   1323  1.1  martin 	xor	%g3,%o3,%o3
   1324  1.1  martin 	add	%g4,%g2,%g2
   1325  1.1  martin 
   1326  1.1  martin 	srl	%g2,0,%g2
   1327  1.1  martin 	or	%g2,%o3,%o3
   1328  1.1  martin 	add	%l0,%g2,%g2
   1329  1.1  martin 	srl	%l5,6,%l0	!! 23
   1330  1.1  martin 	xor	%l6,%l7,%g5
   1331  1.1  martin 	sll	%l5,7,%g4
   1332  1.1  martin 	and	%l5,%g5,%g5
   1333  1.1  martin 	srl	%l5,11,%g3
   1334  1.1  martin 	xor	%g4,%l0,%l0
   1335  1.1  martin 	sll	%l5,21,%g4
   1336  1.1  martin 	xor	%g3,%l0,%l0
   1337  1.1  martin 	srl	%l5,25,%g3
   1338  1.1  martin 	xor	%g4,%l0,%l0
   1339  1.1  martin 	sll	%l5,26,%g4
   1340  1.1  martin 	xor	%g3,%l0,%l0
   1341  1.1  martin 	xor	%l7,%g5,%g5		! Ch(e,f,g)
   1342  1.1  martin 	xor	%g4,%l0,%g3		! Sigma1(e)
   1343  1.1  martin 
   1344  1.1  martin 	srl	%l1,2,%l0
   1345  1.1  martin 	add	%g5,%g2,%g2
   1346  1.1  martin 	ld	[%i3+92],%g5	! K[23]
   1347  1.1  martin 	sll	%l1,10,%g4
   1348  1.1  martin 	add	%g3,%g2,%g2
   1349  1.1  martin 	srl	%l1,13,%g3
   1350  1.1  martin 	xor	%g4,%l0,%l0
   1351  1.1  martin 	sll	%l1,19,%g4
   1352  1.1  martin 	xor	%g3,%l0,%l0
   1353  1.1  martin 	srl	%l1,22,%g3
   1354  1.1  martin 	xor	%g4,%l0,%l0
   1355  1.1  martin 	sll	%l1,30,%g4
   1356  1.1  martin 	xor	%g3,%l0,%l0
   1357  1.1  martin 	xor	%g4,%l0,%l0		! Sigma0(a)
   1358  1.1  martin 
   1359  1.1  martin 	or	%l1,%l2,%g3
   1360  1.1  martin 	and	%l1,%l2,%g4
   1361  1.1  martin 	and	%l3,%g3,%g3
   1362  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1363  1.1  martin 	add	%g5,%g2,%g2		! +=K[23]
   1364  1.1  martin 	add	%g4,%l0,%l0
   1365  1.1  martin 
   1366  1.1  martin 	add	%g2,%l4,%l4
   1367  1.1  martin 	add	%g2,%l0,%l0
   1368  1.1  martin 	srl	%o4,3,%g2		!! Xupdate(24)
   1369  1.1  martin 	sll	%o4,14,%g4
   1370  1.1  martin 	srl	%o4,7,%g3
   1371  1.1  martin 	xor	%g4,%g2,%g2
   1372  1.1  martin 	sll	%g4,11,%g4
   1373  1.1  martin 	xor	%g3,%g2,%g2
   1374  1.1  martin 	srl	%o4,18,%g3
   1375  1.1  martin 	xor	%g4,%g2,%g2
   1376  1.1  martin 	srlx	%o3,32,%i5
   1377  1.1  martin 	srl	%i5,10,%g5
   1378  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1379  1.1  martin 	sll	%i5,13,%g4
   1380  1.1  martin 	srl	%i5,17,%g3
   1381  1.1  martin 	xor	%g4,%g5,%g5
   1382  1.1  martin 	sll	%g4,2,%g4
   1383  1.1  martin 	xor	%g3,%g5,%g5
   1384  1.1  martin 	srl	%i5,19,%g3
   1385  1.1  martin 	xor	%g4,%g5,%g5
   1386  1.1  martin 	srlx	%o4,32,%g4		! X[i]
   1387  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1388  1.1  martin 	add	%o0,%g2,%g2			! +=X[i+9]
   1389  1.1  martin 	add	%g5,%g4,%g4
   1390  1.1  martin 	srl	%o4,0,%o4
   1391  1.1  martin 	add	%g4,%g2,%g2
   1392  1.1  martin 
   1393  1.1  martin 	sllx	%g2,32,%g3
   1394  1.1  martin 	or	%g3,%o4,%o4
   1395  1.1  martin 	add	%l7,%g2,%g2
   1396  1.1  martin 	srl	%l4,6,%l7	!! 24
   1397  1.1  martin 	xor	%l5,%l6,%g5
   1398  1.1  martin 	sll	%l4,7,%g4
   1399  1.1  martin 	and	%l4,%g5,%g5
   1400  1.1  martin 	srl	%l4,11,%g3
   1401  1.1  martin 	xor	%g4,%l7,%l7
   1402  1.1  martin 	sll	%l4,21,%g4
   1403  1.1  martin 	xor	%g3,%l7,%l7
   1404  1.1  martin 	srl	%l4,25,%g3
   1405  1.1  martin 	xor	%g4,%l7,%l7
   1406  1.1  martin 	sll	%l4,26,%g4
   1407  1.1  martin 	xor	%g3,%l7,%l7
   1408  1.1  martin 	xor	%l6,%g5,%g5		! Ch(e,f,g)
   1409  1.1  martin 	xor	%g4,%l7,%g3		! Sigma1(e)
   1410  1.1  martin 
   1411  1.1  martin 	srl	%l0,2,%l7
   1412  1.1  martin 	add	%g5,%g2,%g2
   1413  1.1  martin 	ld	[%i3+96],%g5	! K[24]
   1414  1.1  martin 	sll	%l0,10,%g4
   1415  1.1  martin 	add	%g3,%g2,%g2
   1416  1.1  martin 	srl	%l0,13,%g3
   1417  1.1  martin 	xor	%g4,%l7,%l7
   1418  1.1  martin 	sll	%l0,19,%g4
   1419  1.1  martin 	xor	%g3,%l7,%l7
   1420  1.1  martin 	srl	%l0,22,%g3
   1421  1.1  martin 	xor	%g4,%l7,%l7
   1422  1.1  martin 	sll	%l0,30,%g4
   1423  1.1  martin 	xor	%g3,%l7,%l7
   1424  1.1  martin 	xor	%g4,%l7,%l7		! Sigma0(a)
   1425  1.1  martin 
   1426  1.1  martin 	or	%l0,%l1,%g3
   1427  1.1  martin 	and	%l0,%l1,%g4
   1428  1.1  martin 	and	%l2,%g3,%g3
   1429  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1430  1.1  martin 	add	%g5,%g2,%g2		! +=K[24]
   1431  1.1  martin 	add	%g4,%l7,%l7
   1432  1.1  martin 
   1433  1.1  martin 	add	%g2,%l3,%l3
   1434  1.1  martin 	add	%g2,%l7,%l7
   1435  1.1  martin 	srlx	%o5,32,%i5
   1436  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(25)
   1437  1.1  martin 	sll	%i5,14,%g4
   1438  1.1  martin 	srl	%i5,7,%g3
   1439  1.1  martin 	xor	%g4,%g2,%g2
   1440  1.1  martin 	sll	%g4,11,%g4
   1441  1.1  martin 	xor	%g3,%g2,%g2
   1442  1.1  martin 	srl	%i5,18,%g3
   1443  1.1  martin 	xor	%g4,%g2,%g2
   1444  1.1  martin 	srl	%o3,10,%g5
   1445  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1446  1.1  martin 	sll	%o3,13,%g4
   1447  1.1  martin 	srl	%o3,17,%g3
   1448  1.1  martin 	xor	%g4,%g5,%g5
   1449  1.1  martin 	sll	%g4,2,%g4
   1450  1.1  martin 	xor	%g3,%g5,%g5
   1451  1.1  martin 	srl	%o3,19,%g3
   1452  1.1  martin 	xor	%g4,%g5,%g5
   1453  1.1  martin 	srlx	%o1,32,%g4	! X[i+9]
   1454  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1455  1.1  martin 	srl	%o4,0,%g3
   1456  1.1  martin 	add	%g5,%g4,%g4
   1457  1.1  martin 	add	%o4,%g2,%g2			! +=X[i]
   1458  1.1  martin 	xor	%g3,%o4,%o4
   1459  1.1  martin 	add	%g4,%g2,%g2
   1460  1.1  martin 
   1461  1.1  martin 	srl	%g2,0,%g2
   1462  1.1  martin 	or	%g2,%o4,%o4
   1463  1.1  martin 	add	%l6,%g2,%g2
   1464  1.1  martin 	srl	%l3,6,%l6	!! 25
   1465  1.1  martin 	xor	%l4,%l5,%g5
   1466  1.1  martin 	sll	%l3,7,%g4
   1467  1.1  martin 	and	%l3,%g5,%g5
   1468  1.1  martin 	srl	%l3,11,%g3
   1469  1.1  martin 	xor	%g4,%l6,%l6
   1470  1.1  martin 	sll	%l3,21,%g4
   1471  1.1  martin 	xor	%g3,%l6,%l6
   1472  1.1  martin 	srl	%l3,25,%g3
   1473  1.1  martin 	xor	%g4,%l6,%l6
   1474  1.1  martin 	sll	%l3,26,%g4
   1475  1.1  martin 	xor	%g3,%l6,%l6
   1476  1.1  martin 	xor	%l5,%g5,%g5		! Ch(e,f,g)
   1477  1.1  martin 	xor	%g4,%l6,%g3		! Sigma1(e)
   1478  1.1  martin 
   1479  1.1  martin 	srl	%l7,2,%l6
   1480  1.1  martin 	add	%g5,%g2,%g2
   1481  1.1  martin 	ld	[%i3+100],%g5	! K[25]
   1482  1.1  martin 	sll	%l7,10,%g4
   1483  1.1  martin 	add	%g3,%g2,%g2
   1484  1.1  martin 	srl	%l7,13,%g3
   1485  1.1  martin 	xor	%g4,%l6,%l6
   1486  1.1  martin 	sll	%l7,19,%g4
   1487  1.1  martin 	xor	%g3,%l6,%l6
   1488  1.1  martin 	srl	%l7,22,%g3
   1489  1.1  martin 	xor	%g4,%l6,%l6
   1490  1.1  martin 	sll	%l7,30,%g4
   1491  1.1  martin 	xor	%g3,%l6,%l6
   1492  1.1  martin 	xor	%g4,%l6,%l6		! Sigma0(a)
   1493  1.1  martin 
   1494  1.1  martin 	or	%l7,%l0,%g3
   1495  1.1  martin 	and	%l7,%l0,%g4
   1496  1.1  martin 	and	%l1,%g3,%g3
   1497  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1498  1.1  martin 	add	%g5,%g2,%g2		! +=K[25]
   1499  1.1  martin 	add	%g4,%l6,%l6
   1500  1.1  martin 
   1501  1.1  martin 	add	%g2,%l2,%l2
   1502  1.1  martin 	add	%g2,%l6,%l6
   1503  1.1  martin 	srl	%o5,3,%g2		!! Xupdate(26)
   1504  1.1  martin 	sll	%o5,14,%g4
   1505  1.1  martin 	srl	%o5,7,%g3
   1506  1.1  martin 	xor	%g4,%g2,%g2
   1507  1.1  martin 	sll	%g4,11,%g4
   1508  1.1  martin 	xor	%g3,%g2,%g2
   1509  1.1  martin 	srl	%o5,18,%g3
   1510  1.1  martin 	xor	%g4,%g2,%g2
   1511  1.1  martin 	srlx	%o4,32,%i5
   1512  1.1  martin 	srl	%i5,10,%g5
   1513  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1514  1.1  martin 	sll	%i5,13,%g4
   1515  1.1  martin 	srl	%i5,17,%g3
   1516  1.1  martin 	xor	%g4,%g5,%g5
   1517  1.1  martin 	sll	%g4,2,%g4
   1518  1.1  martin 	xor	%g3,%g5,%g5
   1519  1.1  martin 	srl	%i5,19,%g3
   1520  1.1  martin 	xor	%g4,%g5,%g5
   1521  1.1  martin 	srlx	%o5,32,%g4		! X[i]
   1522  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1523  1.1  martin 	add	%o1,%g2,%g2			! +=X[i+9]
   1524  1.1  martin 	add	%g5,%g4,%g4
   1525  1.1  martin 	srl	%o5,0,%o5
   1526  1.1  martin 	add	%g4,%g2,%g2
   1527  1.1  martin 
   1528  1.1  martin 	sllx	%g2,32,%g3
   1529  1.1  martin 	or	%g3,%o5,%o5
   1530  1.1  martin 	add	%l5,%g2,%g2
   1531  1.1  martin 	srl	%l2,6,%l5	!! 26
   1532  1.1  martin 	xor	%l3,%l4,%g5
   1533  1.1  martin 	sll	%l2,7,%g4
   1534  1.1  martin 	and	%l2,%g5,%g5
   1535  1.1  martin 	srl	%l2,11,%g3
   1536  1.1  martin 	xor	%g4,%l5,%l5
   1537  1.1  martin 	sll	%l2,21,%g4
   1538  1.1  martin 	xor	%g3,%l5,%l5
   1539  1.1  martin 	srl	%l2,25,%g3
   1540  1.1  martin 	xor	%g4,%l5,%l5
   1541  1.1  martin 	sll	%l2,26,%g4
   1542  1.1  martin 	xor	%g3,%l5,%l5
   1543  1.1  martin 	xor	%l4,%g5,%g5		! Ch(e,f,g)
   1544  1.1  martin 	xor	%g4,%l5,%g3		! Sigma1(e)
   1545  1.1  martin 
   1546  1.1  martin 	srl	%l6,2,%l5
   1547  1.1  martin 	add	%g5,%g2,%g2
   1548  1.1  martin 	ld	[%i3+104],%g5	! K[26]
   1549  1.1  martin 	sll	%l6,10,%g4
   1550  1.1  martin 	add	%g3,%g2,%g2
   1551  1.1  martin 	srl	%l6,13,%g3
   1552  1.1  martin 	xor	%g4,%l5,%l5
   1553  1.1  martin 	sll	%l6,19,%g4
   1554  1.1  martin 	xor	%g3,%l5,%l5
   1555  1.1  martin 	srl	%l6,22,%g3
   1556  1.1  martin 	xor	%g4,%l5,%l5
   1557  1.1  martin 	sll	%l6,30,%g4
   1558  1.1  martin 	xor	%g3,%l5,%l5
   1559  1.1  martin 	xor	%g4,%l5,%l5		! Sigma0(a)
   1560  1.1  martin 
   1561  1.1  martin 	or	%l6,%l7,%g3
   1562  1.1  martin 	and	%l6,%l7,%g4
   1563  1.1  martin 	and	%l0,%g3,%g3
   1564  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1565  1.1  martin 	add	%g5,%g2,%g2		! +=K[26]
   1566  1.1  martin 	add	%g4,%l5,%l5
   1567  1.1  martin 
   1568  1.1  martin 	add	%g2,%l1,%l1
   1569  1.1  martin 	add	%g2,%l5,%l5
   1570  1.1  martin 	srlx	%g1,32,%i5
   1571  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(27)
   1572  1.1  martin 	sll	%i5,14,%g4
   1573  1.1  martin 	srl	%i5,7,%g3
   1574  1.1  martin 	xor	%g4,%g2,%g2
   1575  1.1  martin 	sll	%g4,11,%g4
   1576  1.1  martin 	xor	%g3,%g2,%g2
   1577  1.1  martin 	srl	%i5,18,%g3
   1578  1.1  martin 	xor	%g4,%g2,%g2
   1579  1.1  martin 	srl	%o4,10,%g5
   1580  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1581  1.1  martin 	sll	%o4,13,%g4
   1582  1.1  martin 	srl	%o4,17,%g3
   1583  1.1  martin 	xor	%g4,%g5,%g5
   1584  1.1  martin 	sll	%g4,2,%g4
   1585  1.1  martin 	xor	%g3,%g5,%g5
   1586  1.1  martin 	srl	%o4,19,%g3
   1587  1.1  martin 	xor	%g4,%g5,%g5
   1588  1.1  martin 	srlx	%o2,32,%g4	! X[i+9]
   1589  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1590  1.1  martin 	srl	%o5,0,%g3
   1591  1.1  martin 	add	%g5,%g4,%g4
   1592  1.1  martin 	add	%o5,%g2,%g2			! +=X[i]
   1593  1.1  martin 	xor	%g3,%o5,%o5
   1594  1.1  martin 	add	%g4,%g2,%g2
   1595  1.1  martin 
   1596  1.1  martin 	srl	%g2,0,%g2
   1597  1.1  martin 	or	%g2,%o5,%o5
   1598  1.1  martin 	add	%l4,%g2,%g2
   1599  1.1  martin 	srl	%l1,6,%l4	!! 27
   1600  1.1  martin 	xor	%l2,%l3,%g5
   1601  1.1  martin 	sll	%l1,7,%g4
   1602  1.1  martin 	and	%l1,%g5,%g5
   1603  1.1  martin 	srl	%l1,11,%g3
   1604  1.1  martin 	xor	%g4,%l4,%l4
   1605  1.1  martin 	sll	%l1,21,%g4
   1606  1.1  martin 	xor	%g3,%l4,%l4
   1607  1.1  martin 	srl	%l1,25,%g3
   1608  1.1  martin 	xor	%g4,%l4,%l4
   1609  1.1  martin 	sll	%l1,26,%g4
   1610  1.1  martin 	xor	%g3,%l4,%l4
   1611  1.1  martin 	xor	%l3,%g5,%g5		! Ch(e,f,g)
   1612  1.1  martin 	xor	%g4,%l4,%g3		! Sigma1(e)
   1613  1.1  martin 
   1614  1.1  martin 	srl	%l5,2,%l4
   1615  1.1  martin 	add	%g5,%g2,%g2
   1616  1.1  martin 	ld	[%i3+108],%g5	! K[27]
   1617  1.1  martin 	sll	%l5,10,%g4
   1618  1.1  martin 	add	%g3,%g2,%g2
   1619  1.1  martin 	srl	%l5,13,%g3
   1620  1.1  martin 	xor	%g4,%l4,%l4
   1621  1.1  martin 	sll	%l5,19,%g4
   1622  1.1  martin 	xor	%g3,%l4,%l4
   1623  1.1  martin 	srl	%l5,22,%g3
   1624  1.1  martin 	xor	%g4,%l4,%l4
   1625  1.1  martin 	sll	%l5,30,%g4
   1626  1.1  martin 	xor	%g3,%l4,%l4
   1627  1.1  martin 	xor	%g4,%l4,%l4		! Sigma0(a)
   1628  1.1  martin 
   1629  1.1  martin 	or	%l5,%l6,%g3
   1630  1.1  martin 	and	%l5,%l6,%g4
   1631  1.1  martin 	and	%l7,%g3,%g3
   1632  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1633  1.1  martin 	add	%g5,%g2,%g2		! +=K[27]
   1634  1.1  martin 	add	%g4,%l4,%l4
   1635  1.1  martin 
   1636  1.1  martin 	add	%g2,%l0,%l0
   1637  1.1  martin 	add	%g2,%l4,%l4
   1638  1.1  martin 	srl	%g1,3,%g2		!! Xupdate(28)
   1639  1.1  martin 	sll	%g1,14,%g4
   1640  1.1  martin 	srl	%g1,7,%g3
   1641  1.1  martin 	xor	%g4,%g2,%g2
   1642  1.1  martin 	sll	%g4,11,%g4
   1643  1.1  martin 	xor	%g3,%g2,%g2
   1644  1.1  martin 	srl	%g1,18,%g3
   1645  1.1  martin 	xor	%g4,%g2,%g2
   1646  1.1  martin 	srlx	%o5,32,%i5
   1647  1.1  martin 	srl	%i5,10,%g5
   1648  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1649  1.1  martin 	sll	%i5,13,%g4
   1650  1.1  martin 	srl	%i5,17,%g3
   1651  1.1  martin 	xor	%g4,%g5,%g5
   1652  1.1  martin 	sll	%g4,2,%g4
   1653  1.1  martin 	xor	%g3,%g5,%g5
   1654  1.1  martin 	srl	%i5,19,%g3
   1655  1.1  martin 	xor	%g4,%g5,%g5
   1656  1.1  martin 	srlx	%g1,32,%g4		! X[i]
   1657  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1658  1.1  martin 	add	%o2,%g2,%g2			! +=X[i+9]
   1659  1.1  martin 	add	%g5,%g4,%g4
   1660  1.1  martin 	srl	%g1,0,%g1
   1661  1.1  martin 	add	%g4,%g2,%g2
   1662  1.1  martin 
   1663  1.1  martin 	sllx	%g2,32,%g3
   1664  1.1  martin 	or	%g3,%g1,%g1
   1665  1.1  martin 	add	%l3,%g2,%g2
   1666  1.1  martin 	srl	%l0,6,%l3	!! 28
   1667  1.1  martin 	xor	%l1,%l2,%g5
   1668  1.1  martin 	sll	%l0,7,%g4
   1669  1.1  martin 	and	%l0,%g5,%g5
   1670  1.1  martin 	srl	%l0,11,%g3
   1671  1.1  martin 	xor	%g4,%l3,%l3
   1672  1.1  martin 	sll	%l0,21,%g4
   1673  1.1  martin 	xor	%g3,%l3,%l3
   1674  1.1  martin 	srl	%l0,25,%g3
   1675  1.1  martin 	xor	%g4,%l3,%l3
   1676  1.1  martin 	sll	%l0,26,%g4
   1677  1.1  martin 	xor	%g3,%l3,%l3
   1678  1.1  martin 	xor	%l2,%g5,%g5		! Ch(e,f,g)
   1679  1.1  martin 	xor	%g4,%l3,%g3		! Sigma1(e)
   1680  1.1  martin 
   1681  1.1  martin 	srl	%l4,2,%l3
   1682  1.1  martin 	add	%g5,%g2,%g2
   1683  1.1  martin 	ld	[%i3+112],%g5	! K[28]
   1684  1.1  martin 	sll	%l4,10,%g4
   1685  1.1  martin 	add	%g3,%g2,%g2
   1686  1.1  martin 	srl	%l4,13,%g3
   1687  1.1  martin 	xor	%g4,%l3,%l3
   1688  1.1  martin 	sll	%l4,19,%g4
   1689  1.1  martin 	xor	%g3,%l3,%l3
   1690  1.1  martin 	srl	%l4,22,%g3
   1691  1.1  martin 	xor	%g4,%l3,%l3
   1692  1.1  martin 	sll	%l4,30,%g4
   1693  1.1  martin 	xor	%g3,%l3,%l3
   1694  1.1  martin 	xor	%g4,%l3,%l3		! Sigma0(a)
   1695  1.1  martin 
   1696  1.1  martin 	or	%l4,%l5,%g3
   1697  1.1  martin 	and	%l4,%l5,%g4
   1698  1.1  martin 	and	%l6,%g3,%g3
   1699  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1700  1.1  martin 	add	%g5,%g2,%g2		! +=K[28]
   1701  1.1  martin 	add	%g4,%l3,%l3
   1702  1.1  martin 
   1703  1.1  martin 	add	%g2,%l7,%l7
   1704  1.1  martin 	add	%g2,%l3,%l3
   1705  1.1  martin 	srlx	%o7,32,%i5
   1706  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(29)
   1707  1.1  martin 	sll	%i5,14,%g4
   1708  1.1  martin 	srl	%i5,7,%g3
   1709  1.1  martin 	xor	%g4,%g2,%g2
   1710  1.1  martin 	sll	%g4,11,%g4
   1711  1.1  martin 	xor	%g3,%g2,%g2
   1712  1.1  martin 	srl	%i5,18,%g3
   1713  1.1  martin 	xor	%g4,%g2,%g2
   1714  1.1  martin 	srl	%o5,10,%g5
   1715  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1716  1.1  martin 	sll	%o5,13,%g4
   1717  1.1  martin 	srl	%o5,17,%g3
   1718  1.1  martin 	xor	%g4,%g5,%g5
   1719  1.1  martin 	sll	%g4,2,%g4
   1720  1.1  martin 	xor	%g3,%g5,%g5
   1721  1.1  martin 	srl	%o5,19,%g3
   1722  1.1  martin 	xor	%g4,%g5,%g5
   1723  1.1  martin 	srlx	%o3,32,%g4	! X[i+9]
   1724  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1725  1.1  martin 	srl	%g1,0,%g3
   1726  1.1  martin 	add	%g5,%g4,%g4
   1727  1.1  martin 	add	%g1,%g2,%g2			! +=X[i]
   1728  1.1  martin 	xor	%g3,%g1,%g1
   1729  1.1  martin 	add	%g4,%g2,%g2
   1730  1.1  martin 
   1731  1.1  martin 	srl	%g2,0,%g2
   1732  1.1  martin 	or	%g2,%g1,%g1
   1733  1.1  martin 	add	%l2,%g2,%g2
   1734  1.1  martin 	srl	%l7,6,%l2	!! 29
   1735  1.1  martin 	xor	%l0,%l1,%g5
   1736  1.1  martin 	sll	%l7,7,%g4
   1737  1.1  martin 	and	%l7,%g5,%g5
   1738  1.1  martin 	srl	%l7,11,%g3
   1739  1.1  martin 	xor	%g4,%l2,%l2
   1740  1.1  martin 	sll	%l7,21,%g4
   1741  1.1  martin 	xor	%g3,%l2,%l2
   1742  1.1  martin 	srl	%l7,25,%g3
   1743  1.1  martin 	xor	%g4,%l2,%l2
   1744  1.1  martin 	sll	%l7,26,%g4
   1745  1.1  martin 	xor	%g3,%l2,%l2
   1746  1.1  martin 	xor	%l1,%g5,%g5		! Ch(e,f,g)
   1747  1.1  martin 	xor	%g4,%l2,%g3		! Sigma1(e)
   1748  1.1  martin 
   1749  1.1  martin 	srl	%l3,2,%l2
   1750  1.1  martin 	add	%g5,%g2,%g2
   1751  1.1  martin 	ld	[%i3+116],%g5	! K[29]
   1752  1.1  martin 	sll	%l3,10,%g4
   1753  1.1  martin 	add	%g3,%g2,%g2
   1754  1.1  martin 	srl	%l3,13,%g3
   1755  1.1  martin 	xor	%g4,%l2,%l2
   1756  1.1  martin 	sll	%l3,19,%g4
   1757  1.1  martin 	xor	%g3,%l2,%l2
   1758  1.1  martin 	srl	%l3,22,%g3
   1759  1.1  martin 	xor	%g4,%l2,%l2
   1760  1.1  martin 	sll	%l3,30,%g4
   1761  1.1  martin 	xor	%g3,%l2,%l2
   1762  1.1  martin 	xor	%g4,%l2,%l2		! Sigma0(a)
   1763  1.1  martin 
   1764  1.1  martin 	or	%l3,%l4,%g3
   1765  1.1  martin 	and	%l3,%l4,%g4
   1766  1.1  martin 	and	%l5,%g3,%g3
   1767  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1768  1.1  martin 	add	%g5,%g2,%g2		! +=K[29]
   1769  1.1  martin 	add	%g4,%l2,%l2
   1770  1.1  martin 
   1771  1.1  martin 	add	%g2,%l6,%l6
   1772  1.1  martin 	add	%g2,%l2,%l2
   1773  1.1  martin 	srl	%o7,3,%g2		!! Xupdate(30)
   1774  1.1  martin 	sll	%o7,14,%g4
   1775  1.1  martin 	srl	%o7,7,%g3
   1776  1.1  martin 	xor	%g4,%g2,%g2
   1777  1.1  martin 	sll	%g4,11,%g4
   1778  1.1  martin 	xor	%g3,%g2,%g2
   1779  1.1  martin 	srl	%o7,18,%g3
   1780  1.1  martin 	xor	%g4,%g2,%g2
   1781  1.1  martin 	srlx	%g1,32,%i5
   1782  1.1  martin 	srl	%i5,10,%g5
   1783  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1784  1.1  martin 	sll	%i5,13,%g4
   1785  1.1  martin 	srl	%i5,17,%g3
   1786  1.1  martin 	xor	%g4,%g5,%g5
   1787  1.1  martin 	sll	%g4,2,%g4
   1788  1.1  martin 	xor	%g3,%g5,%g5
   1789  1.1  martin 	srl	%i5,19,%g3
   1790  1.1  martin 	xor	%g4,%g5,%g5
   1791  1.1  martin 	srlx	%o7,32,%g4		! X[i]
   1792  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1793  1.1  martin 	add	%o3,%g2,%g2			! +=X[i+9]
   1794  1.1  martin 	add	%g5,%g4,%g4
   1795  1.1  martin 	srl	%o7,0,%o7
   1796  1.1  martin 	add	%g4,%g2,%g2
   1797  1.1  martin 
   1798  1.1  martin 	sllx	%g2,32,%g3
   1799  1.1  martin 	or	%g3,%o7,%o7
   1800  1.1  martin 	add	%l1,%g2,%g2
   1801  1.1  martin 	srl	%l6,6,%l1	!! 30
   1802  1.1  martin 	xor	%l7,%l0,%g5
   1803  1.1  martin 	sll	%l6,7,%g4
   1804  1.1  martin 	and	%l6,%g5,%g5
   1805  1.1  martin 	srl	%l6,11,%g3
   1806  1.1  martin 	xor	%g4,%l1,%l1
   1807  1.1  martin 	sll	%l6,21,%g4
   1808  1.1  martin 	xor	%g3,%l1,%l1
   1809  1.1  martin 	srl	%l6,25,%g3
   1810  1.1  martin 	xor	%g4,%l1,%l1
   1811  1.1  martin 	sll	%l6,26,%g4
   1812  1.1  martin 	xor	%g3,%l1,%l1
   1813  1.1  martin 	xor	%l0,%g5,%g5		! Ch(e,f,g)
   1814  1.1  martin 	xor	%g4,%l1,%g3		! Sigma1(e)
   1815  1.1  martin 
   1816  1.1  martin 	srl	%l2,2,%l1
   1817  1.1  martin 	add	%g5,%g2,%g2
   1818  1.1  martin 	ld	[%i3+120],%g5	! K[30]
   1819  1.1  martin 	sll	%l2,10,%g4
   1820  1.1  martin 	add	%g3,%g2,%g2
   1821  1.1  martin 	srl	%l2,13,%g3
   1822  1.1  martin 	xor	%g4,%l1,%l1
   1823  1.1  martin 	sll	%l2,19,%g4
   1824  1.1  martin 	xor	%g3,%l1,%l1
   1825  1.1  martin 	srl	%l2,22,%g3
   1826  1.1  martin 	xor	%g4,%l1,%l1
   1827  1.1  martin 	sll	%l2,30,%g4
   1828  1.1  martin 	xor	%g3,%l1,%l1
   1829  1.1  martin 	xor	%g4,%l1,%l1		! Sigma0(a)
   1830  1.1  martin 
   1831  1.1  martin 	or	%l2,%l3,%g3
   1832  1.1  martin 	and	%l2,%l3,%g4
   1833  1.1  martin 	and	%l4,%g3,%g3
   1834  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1835  1.1  martin 	add	%g5,%g2,%g2		! +=K[30]
   1836  1.1  martin 	add	%g4,%l1,%l1
   1837  1.1  martin 
   1838  1.1  martin 	add	%g2,%l5,%l5
   1839  1.1  martin 	add	%g2,%l1,%l1
   1840  1.1  martin 	srlx	%o0,32,%i5
   1841  1.1  martin 	srl	%i5,3,%g2		!! Xupdate(31)
   1842  1.1  martin 	sll	%i5,14,%g4
   1843  1.1  martin 	srl	%i5,7,%g3
   1844  1.1  martin 	xor	%g4,%g2,%g2
   1845  1.1  martin 	sll	%g4,11,%g4
   1846  1.1  martin 	xor	%g3,%g2,%g2
   1847  1.1  martin 	srl	%i5,18,%g3
   1848  1.1  martin 	xor	%g4,%g2,%g2
   1849  1.1  martin 	srl	%g1,10,%g5
   1850  1.1  martin 	xor	%g3,%g2,%g2			! T1=sigma0(X[i+1])
   1851  1.1  martin 	sll	%g1,13,%g4
   1852  1.1  martin 	srl	%g1,17,%g3
   1853  1.1  martin 	xor	%g4,%g5,%g5
   1854  1.1  martin 	sll	%g4,2,%g4
   1855  1.1  martin 	xor	%g3,%g5,%g5
   1856  1.1  martin 	srl	%g1,19,%g3
   1857  1.1  martin 	xor	%g4,%g5,%g5
   1858  1.1  martin 	srlx	%o4,32,%g4	! X[i+9]
   1859  1.1  martin 	xor	%g3,%g5,%g5		! sigma1(X[i+14])
   1860  1.1  martin 	srl	%o7,0,%g3
   1861  1.1  martin 	add	%g5,%g4,%g4
   1862  1.1  martin 	add	%o7,%g2,%g2			! +=X[i]
   1863  1.1  martin 	xor	%g3,%o7,%o7
   1864  1.1  martin 	add	%g4,%g2,%g2
   1865  1.1  martin 
   1866  1.1  martin 	srl	%g2,0,%g2
   1867  1.1  martin 	or	%g2,%o7,%o7
   1868  1.1  martin 	add	%l0,%g2,%g2
   1869  1.1  martin 	srl	%l5,6,%l0	!! 31
   1870  1.1  martin 	xor	%l6,%l7,%g5
   1871  1.1  martin 	sll	%l5,7,%g4
   1872  1.1  martin 	and	%l5,%g5,%g5
   1873  1.1  martin 	srl	%l5,11,%g3
   1874  1.1  martin 	xor	%g4,%l0,%l0
   1875  1.1  martin 	sll	%l5,21,%g4
   1876  1.1  martin 	xor	%g3,%l0,%l0
   1877  1.1  martin 	srl	%l5,25,%g3
   1878  1.1  martin 	xor	%g4,%l0,%l0
   1879  1.1  martin 	sll	%l5,26,%g4
   1880  1.1  martin 	xor	%g3,%l0,%l0
   1881  1.1  martin 	xor	%l7,%g5,%g5		! Ch(e,f,g)
   1882  1.1  martin 	xor	%g4,%l0,%g3		! Sigma1(e)
   1883  1.1  martin 
   1884  1.1  martin 	srl	%l1,2,%l0
   1885  1.1  martin 	add	%g5,%g2,%g2
   1886  1.1  martin 	ld	[%i3+124],%g5	! K[31]
   1887  1.1  martin 	sll	%l1,10,%g4
   1888  1.1  martin 	add	%g3,%g2,%g2
   1889  1.1  martin 	srl	%l1,13,%g3
   1890  1.1  martin 	xor	%g4,%l0,%l0
   1891  1.1  martin 	sll	%l1,19,%g4
   1892  1.1  martin 	xor	%g3,%l0,%l0
   1893  1.1  martin 	srl	%l1,22,%g3
   1894  1.1  martin 	xor	%g4,%l0,%l0
   1895  1.1  martin 	sll	%l1,30,%g4
   1896  1.1  martin 	xor	%g3,%l0,%l0
   1897  1.1  martin 	xor	%g4,%l0,%l0		! Sigma0(a)
   1898  1.1  martin 
   1899  1.1  martin 	or	%l1,%l2,%g3
   1900  1.1  martin 	and	%l1,%l2,%g4
   1901  1.1  martin 	and	%l3,%g3,%g3
   1902  1.1  martin 	or	%g3,%g4,%g4	! Maj(a,b,c)
   1903  1.1  martin 	add	%g5,%g2,%g2		! +=K[31]
   1904  1.1  martin 	add	%g4,%l0,%l0
   1905  1.1  martin 
   1906  1.1  martin 	add	%g2,%l4,%l4
   1907  1.1  martin 	add	%g2,%l0,%l0
   1908  1.1  martin 	and	%g5,0xfff,%g5
   1909  1.1  martin 	cmp	%g5,2290
   1910  1.1  martin 	bne	.L16_xx
   1911  1.1  martin 	add	%i3,64,%i3	! Ktbl+=16
   1912  1.1  martin 
   1913  1.1  martin 	ld	[%i0+0],%o0
   1914  1.1  martin 	ld	[%i0+4],%o1
   1915  1.1  martin 	ld	[%i0+8],%o2
   1916  1.1  martin 	ld	[%i0+12],%o3
   1917  1.1  martin 	ld	[%i0+16],%o4
   1918  1.1  martin 	ld	[%i0+20],%o5
   1919  1.1  martin 	ld	[%i0+24],%g1
   1920  1.1  martin 	ld	[%i0+28],%o7
   1921  1.1  martin 
   1922  1.1  martin 	add	%l0,%o0,%l0
   1923  1.1  martin 	st	%l0,[%i0+0]
   1924  1.1  martin 	add	%l1,%o1,%l1
   1925  1.1  martin 	st	%l1,[%i0+4]
   1926  1.1  martin 	add	%l2,%o2,%l2
   1927  1.1  martin 	st	%l2,[%i0+8]
   1928  1.1  martin 	add	%l3,%o3,%l3
   1929  1.1  martin 	st	%l3,[%i0+12]
   1930  1.1  martin 	add	%l4,%o4,%l4
   1931  1.1  martin 	st	%l4,[%i0+16]
   1932  1.1  martin 	add	%l5,%o5,%l5
   1933  1.1  martin 	st	%l5,[%i0+20]
   1934  1.1  martin 	add	%l6,%g1,%l6
   1935  1.1  martin 	st	%l6,[%i0+24]
   1936  1.1  martin 	add	%l7,%o7,%l7
   1937  1.1  martin 	st	%l7,[%i0+28]
   1938  1.1  martin 	add	%i1,64,%i1		! advance inp
   1939  1.1  martin 	cmp	%i1,%i2
   1940  1.1  martin 	bne	SIZE_T_CC,.Lloop
   1941  1.1  martin 	sub	%i3,192,%i3	! rewind Ktbl
   1942  1.1  martin 
   1943  1.1  martin 	ret
   1944  1.1  martin 	restore
   1945  1.1  martin .type	sha256_block_data_order,#function
   1946  1.1  martin .size	sha256_block_data_order,(.-sha256_block_data_order)
   1947  1.1  martin .asciz	"SHA256 block transform for SPARCv9, CRYPTOGAMS by <appro (at) openssl.org>"
   1948  1.1  martin .align	4
   1949