# qhasm: int64 x # qhasm: int64 arg2 # qhasm: int64 arg3 # qhasm: int64 arg4 # qhasm: input x # qhasm: input arg2 # qhasm: input arg3 # qhasm: input arg4 # qhasm: int64 i # qhasm: int64 a # qhasm: int64 m # qhasm: int64 out # qhasm: int64 bytes # qhasm: stack64 ctarget # qhasm: stack512 tmp # qhasm: stack64 bytes_stack # qhasm: stack64 out_stack # qhasm: stack64 m_stack # qhasm: stack64 x_stack # qhasm: int64 z0 # qhasm: int64 z1 # qhasm: int64 z2 # qhasm: int64 z3 # qhasm: int64 z4 # qhasm: int64 z5 # qhasm: int64 z6 # qhasm: int64 z7 # qhasm: int64 z8 # qhasm: int64 z9 # qhasm: int64 z10 # qhasm: int64 z11 # qhasm: int64 z12 # qhasm: int64 z13 # qhasm: int64 z14 # qhasm: int64 z15 # qhasm: int64 u0 # qhasm: int64 u1 # qhasm: int64 u2 # qhasm: int64 u3 # qhasm: int64 u4 # qhasm: int64 u5 # qhasm: int64 u6 # qhasm: int64 u7 # qhasm: int64 u8 # qhasm: int64 u9 # qhasm: int64 u10 # qhasm: int64 u11 # qhasm: int64 u12 # qhasm: int64 u13 # qhasm: int64 u14 # qhasm: int64 u15 # qhasm: int64 y0 # qhasm: int64 y1 # qhasm: int64 y2 # qhasm: int64 y3 # qhasm: int64 y4 # qhasm: int64 y5 # qhasm: int64 y6 # qhasm: int64 y7 # qhasm: int64 y8 # qhasm: int64 y9 # qhasm: int64 y10 # qhasm: int64 y11 # qhasm: int64 y12 # qhasm: int64 y13 # qhasm: int64 y14 # qhasm: int64 y15 # qhasm: int64 x0 # qhasm: int64 x1 # qhasm: int64 x2 # qhasm: int64 x3 # qhasm: int64 x4 # qhasm: int64 x5 # qhasm: int64 x6 # qhasm: int64 x7 # qhasm: int64 x8 # qhasm: int64 x9 # qhasm: int64 x10 # qhasm: int64 x11 # qhasm: int64 x12 # qhasm: int64 x13 # qhasm: int64 x14 # qhasm: int64 x15 # qhasm: int64 q0 # qhasm: int64 q1 # qhasm: int64 q2 # qhasm: int64 q3 # qhasm: int64 q4 # qhasm: int64 q5 # qhasm: int64 q6 # qhasm: int64 q7 # qhasm: int64 q8 # qhasm: int64 q9 # qhasm: int64 q10 # qhasm: int64 q11 # qhasm: int64 q12 # qhasm: int64 q13 # qhasm: int64 q14 # qhasm: int64 q15 # qhasm: int64 m0 # qhasm: int64 m1 # qhasm: int64 m2 # qhasm: int64 m3 # qhasm: int64 m4 # qhasm: int64 m5 # qhasm: int64 m6 # qhasm: int64 m7 # qhasm: int64 m8 # qhasm: int64 m9 # qhasm: int64 m10 # qhasm: int64 m11 # qhasm: int64 m12 # qhasm: int64 m13 # qhasm: int64 m14 # qhasm: int64 m15 # qhasm: enter ECRYPT_init .section ".text" .align 32 .global ECRYPT_init ECRYPT_init: save %sp,-288,%sp # qhasm: leave ret restore # qhasm: enter ECRYPT_ivsetup .section ".text" .align 32 .global ECRYPT_ivsetup ECRYPT_ivsetup: save %sp,-288,%sp # qhasm: x6 = *(uint32 *) (arg2 + 0) # asm 1: lduw [x6=int64#5 # asm 2: lduw [x6=%i4 lduw [%i1+0],%i4 # qhasm: x8 = 0 # asm 1: add %g0,0,>x8=int64#6 # asm 2: add %g0,0,>x8=%i5 add %g0,0,%i5 # qhasm: x7 = *(uint32 *) (arg2 + 4) # asm 1: lduw [x7=int64#2 # asm 2: lduw [x7=%i1 lduw [%i1+4],%i1 # qhasm: x9 = 0 # asm 1: add %g0,0,>x9=int64#7 # asm 2: add %g0,0,>x9=%g1 add %g0,0,%g1 # qhasm: x += 24 # asm 1: add x=int64#1 # asm 2: add x=%i0 add %i0,24,%i0 # qhasm: *(swapendian int32 *) x = x6 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x7 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(int32 *) (x + 0) = x8 # asm 1: stw x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(int32 *) (x + 0) = x9 # asm 1: stw ? arg3 - 128 # asm 1: subcc bgu,pt %xcc,._kbits256 nop # qhasm: kbits128: ._kbits128: # qhasm: x1 = *(uint32 *) (arg2 + 0) # asm 1: lduw [x1=int64#3 # asm 2: lduw [x1=%i2 lduw [%i1+0],%i2 # qhasm: x0 = 1634760805 & 0xfffffc00 # asm 1: sethi %lm(1634760805),>x0=int64#4 # asm 2: sethi %lm(1634760805),>x0=%i3 sethi %lm(1634760805),%i3 # qhasm: x2 = *(uint32 *) (arg2 + 4) # asm 1: lduw [x2=int64#5 # asm 2: lduw [x2=%i4 lduw [%i1+4],%i4 # qhasm: x5 = 824206446 & 0xfffffc00 # asm 1: sethi %lm(824206446),>x5=int64#6 # asm 2: sethi %lm(824206446),>x5=%i5 sethi %lm(824206446),%i5 # qhasm: x3 = *(uint32 *) (arg2 + 8) # asm 1: lduw [x3=int64#7 # asm 2: lduw [x3=%g1 lduw [%i1+8],%g1 # qhasm: x10 = 2036477238 & 0xfffffc00 # asm 1: sethi %lm(2036477238),>x10=int64#8 # asm 2: sethi %lm(2036477238),>x10=%g4 sethi %lm(2036477238),%g4 # qhasm: x4 = *(uint32 *) (arg2 + 12) # asm 1: lduw [x4=int64#9 # asm 2: lduw [x4=%g5 lduw [%i1+12],%g5 # qhasm: x15 = 1797285236 & 0xfffffc00 # asm 1: sethi %lm(1797285236),>x15=int64#10 # asm 2: sethi %lm(1797285236),>x15=%o0 sethi %lm(1797285236),%o0 # qhasm: x11 = *(uint32 *) (arg2 + 0) # asm 1: lduw [x11=int64#11 # asm 2: lduw [x11=%o1 lduw [%i1+0],%o1 # qhasm: x0 |= 1634760805 & 0x3ff # asm 1: or x0=int64#4 # asm 2: or x0=%i3 or %i3,%lo(1634760805),%i3 # qhasm: x12 = *(uint32 *) (arg2 + 4) # asm 1: lduw [x12=int64#12 # asm 2: lduw [x12=%o2 lduw [%i1+4],%o2 # qhasm: x5 |= 824206446 & 0x3ff # asm 1: or x5=int64#6 # asm 2: or x5=%i5 or %i5,%lo(824206446),%i5 # qhasm: x13 = *(uint32 *) (arg2 + 8) # asm 1: lduw [x13=int64#13 # asm 2: lduw [x13=%o3 lduw [%i1+8],%o3 # qhasm: x10 |= 2036477238 & 0x3ff # asm 1: or x10=int64#8 # asm 2: or x10=%g4 or %g4,%lo(2036477238),%g4 # qhasm: x14 = *(uint32 *) (arg2 + 12) # asm 1: lduw [x14=int64#2 # asm 2: lduw [x14=%i1 lduw [%i1+12],%i1 # qhasm: x15 |= 1797285236 & 0x3ff # asm 1: or x15=int64#10 # asm 2: or x15=%o0 or %o0,%lo(1797285236),%o0 # qhasm: goto storekey b ._storekey nop # qhasm: kbits256: ._kbits256: # qhasm: x1 = *(uint32 *) (arg2 + 0) # asm 1: lduw [x1=int64#3 # asm 2: lduw [x1=%i2 lduw [%i1+0],%i2 # qhasm: x0 = 1634760805 & 0xfffffc00 # asm 1: sethi %lm(1634760805),>x0=int64#4 # asm 2: sethi %lm(1634760805),>x0=%i3 sethi %lm(1634760805),%i3 # qhasm: x2 = *(uint32 *) (arg2 + 4) # asm 1: lduw [x2=int64#5 # asm 2: lduw [x2=%i4 lduw [%i1+4],%i4 # qhasm: x5 = 857760878 & 0xfffffc00 # asm 1: sethi %lm(857760878),>x5=int64#6 # asm 2: sethi %lm(857760878),>x5=%i5 sethi %lm(857760878),%i5 # qhasm: x3 = *(uint32 *) (arg2 + 8) # asm 1: lduw [x3=int64#7 # asm 2: lduw [x3=%g1 lduw [%i1+8],%g1 # qhasm: x10 = 2036477234 & 0xfffffc00 # asm 1: sethi %lm(2036477234),>x10=int64#8 # asm 2: sethi %lm(2036477234),>x10=%g4 sethi %lm(2036477234),%g4 # qhasm: x4 = *(uint32 *) (arg2 + 12) # asm 1: lduw [x4=int64#9 # asm 2: lduw [x4=%g5 lduw [%i1+12],%g5 # qhasm: x15 = 1797285236 & 0xfffffc00 # asm 1: sethi %lm(1797285236),>x15=int64#10 # asm 2: sethi %lm(1797285236),>x15=%o0 sethi %lm(1797285236),%o0 # qhasm: x11 = *(uint32 *) (arg2 + 16) # asm 1: lduw [x11=int64#11 # asm 2: lduw [x11=%o1 lduw [%i1+16],%o1 # qhasm: x0 |= 1634760805 & 0x3ff # asm 1: or x0=int64#4 # asm 2: or x0=%i3 or %i3,%lo(1634760805),%i3 # qhasm: x12 = *(uint32 *) (arg2 + 20) # asm 1: lduw [x12=int64#12 # asm 2: lduw [x12=%o2 lduw [%i1+20],%o2 # qhasm: x5 |= 857760878 & 0x3ff # asm 1: or x5=int64#6 # asm 2: or x5=%i5 or %i5,%lo(857760878),%i5 # qhasm: x13 = *(uint32 *) (arg2 + 24) # asm 1: lduw [x13=int64#13 # asm 2: lduw [x13=%o3 lduw [%i1+24],%o3 # qhasm: x10 |= 2036477234 & 0x3ff # asm 1: or x10=int64#8 # asm 2: or x10=%g4 or %g4,%lo(2036477234),%g4 # qhasm: x14 = *(uint32 *) (arg2 + 28) # asm 1: lduw [x14=int64#2 # asm 2: lduw [x14=%i1 lduw [%i1+28],%i1 # qhasm: x15 |= 1797285236 & 0x3ff # asm 1: or x15=int64#10 # asm 2: or x15=%o0 or %o0,%lo(1797285236),%o0 # qhasm: storekey: ._storekey: # qhasm: *(int32 *) (x + 0) = x0 # asm 1: stw x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x1 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x2 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x3 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x4 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(int32 *) (x + 0) = x5 # asm 1: stw x=int64#1 # asm 2: add x=%i0 add %i0,20,%i0 # qhasm: *(int32 *) (x + 0) = x10 # asm 1: stw x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x11 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x12 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x13 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(swapendian int32 *) x = x14 # asm 1: stwa x=int64#1 # asm 2: add x=%i0 add %i0,4,%i0 # qhasm: *(int32 *) (x + 0) = x15 # asm 1: stw bytes=int64#5 # asm 2: add %g0,bytes=%i4 add %g0,%i2,%i4 # qhasm: m = arg2 # asm 1: add %g0,m=int64#6 # asm 2: add %g0,m=%i5 add %g0,%i1,%i5 # qhasm: out = arg2 # asm 1: add %g0,out=int64#2 # asm 2: add %g0,out=%i1 add %g0,%i1,%i1 # qhasm: unsigned>? bytes - 0 # asm 1: subcc bleu,pt %xcc,._done nop # qhasm: a = 0 # asm 1: add %g0,0,>a=int64#3 # asm 2: add %g0,0,>a=%i2 add %g0,0,%i2 # qhasm: i = bytes # asm 1: add %g0,i=int64#4 # asm 2: add %g0,i=%i3 add %g0,%i4,%i3 # qhasm: zeroloop: ._zeroloop: # qhasm: *(int8 *) (out + 0) = a # asm 1: stb out=int64#2 # asm 2: add out=%i1 add %i1,1,%i1 # qhasm: unsigned>? i -= 1 # asm 1: subcc i=int64#4 # asm 2: subcc i=%i3 subcc %i3,1,%i3 # qhasm: goto zeroloop if unsigned> bgu,pt %xcc,._zeroloop nop # qhasm: out -= bytes # asm 1: sub out=int64#2 # asm 2: sub out=%i1 sub %i1,%i4,%i1 # qhasm: goto bytesatleast1 b ._bytesatleast1 nop # qhasm: enter ECRYPT_decrypt_bytes .section ".text" .align 32 .global ECRYPT_decrypt_bytes ECRYPT_decrypt_bytes: save %sp,-288,%sp # qhasm: bytes = arg4 # asm 1: add %g0,bytes=int64#5 # asm 2: add %g0,bytes=%i4 add %g0,%i3,%i4 # qhasm: m = arg2 # asm 1: add %g0,m=int64#6 # asm 2: add %g0,m=%i5 add %g0,%i1,%i5 # qhasm: out = arg3 # asm 1: add %g0,out=int64#2 # asm 2: add %g0,out=%i1 add %g0,%i2,%i1 # qhasm: unsigned>? bytes - 0 # asm 1: subcc bleu,pt %xcc,._done nop # qhasm: goto bytesatleast1 b ._bytesatleast1 nop # qhasm: enter ECRYPT_encrypt_bytes .section ".text" .align 32 .global ECRYPT_encrypt_bytes ECRYPT_encrypt_bytes: save %sp,-288,%sp # qhasm: bytes = arg4 # asm 1: add %g0,bytes=int64#5 # asm 2: add %g0,bytes=%i4 add %g0,%i3,%i4 # qhasm: m = arg2 # asm 1: add %g0,m=int64#6 # asm 2: add %g0,m=%i5 add %g0,%i1,%i5 # qhasm: out = arg3 # asm 1: add %g0,out=int64#2 # asm 2: add %g0,out=%i1 add %g0,%i2,%i1 # qhasm: unsigned>? bytes - 0 # asm 1: subcc bleu,pt %xcc,._done nop # qhasm: bytesatleast1: ._bytesatleast1: # qhasm: unsignedctarget=stack64#1] # asm 2: stx ctarget=0] stx %i1,[%fp+2023-0] # qhasm: out = &tmp # asm 1: add %fp,1967->tmp=stack512#1,>out=int64#2 # asm 2: add %fp,1967->tmp=48,>out=%i1 add %fp,1967-48,%i1 # qhasm: i = 0 # asm 1: add %g0,0,>i=int64#4 # asm 2: add %g0,0,>i=%i3 add %g0,0,%i3 # qhasm: mcopyloop: ._mcopyloop: # qhasm: a = *(int8 *) (m + i) # asm 1: ldsb [a=int64#3 # asm 2: ldsb [a=%i2 ldsb [%i5+%i3],%i2 # qhasm: *(int8 *) (out + i) = a # asm 1: stb i=int64#4 # asm 2: add i=%i3 add %i3,1,%i3 # qhasm: unsignedtmp=stack512#1,>m=int64#6 # asm 2: add %fp,1967->tmp=48,>m=%i5 add %fp,1967-48,%i5 # qhasm: bytesatleast64: ._bytesatleast64: # qhasm: x0 = *(uint32 *) (x + 0) # asm 1: lduw [x0=int64#3 # asm 2: lduw [x0=%i2 lduw [%i0+0],%i2 # qhasm: x1 = *(uint32 *) (x + 4) # asm 1: lduw [x1=int64#7 # asm 2: lduw [x1=%g1 lduw [%i0+4],%g1 # qhasm: x2 = *(uint32 *) (x + 8) # asm 1: lduw [x2=int64#8 # asm 2: lduw [x2=%g4 lduw [%i0+8],%g4 # qhasm: x3 = *(uint32 *) (x + 12) # asm 1: lduw [x3=int64#9 # asm 2: lduw [x3=%g5 lduw [%i0+12],%g5 # qhasm: x4 = *(uint32 *) (x + 16) # asm 1: lduw [x4=int64#10 # asm 2: lduw [x4=%o0 lduw [%i0+16],%o0 # qhasm: x5 = *(uint32 *) (x + 20) # asm 1: lduw [x5=int64#11 # asm 2: lduw [x5=%o1 lduw [%i0+20],%o1 # qhasm: x6 = *(uint32 *) (x + 24) # asm 1: lduw [x6=int64#12 # asm 2: lduw [x6=%o2 lduw [%i0+24],%o2 # qhasm: x7 = *(uint32 *) (x + 28) # asm 1: lduw [x7=int64#13 # asm 2: lduw [x7=%o3 lduw [%i0+28],%o3 # qhasm: x8 = *(uint32 *) (x + 32) # asm 1: lduw [x8=int64#14 # asm 2: lduw [x8=%o4 lduw [%i0+32],%o4 # qhasm: x9 = *(uint32 *) (x + 36) # asm 1: lduw [x9=int64#15 # asm 2: lduw [x9=%o5 lduw [%i0+36],%o5 # qhasm: x10 = *(uint32 *) (x + 40) # asm 1: lduw [x10=int64#16 # asm 2: lduw [x10=%o7 lduw [%i0+40],%o7 # qhasm: x11 = *(uint32 *) (x + 44) # asm 1: lduw [x11=int64#17 # asm 2: lduw [x11=%l0 lduw [%i0+44],%l0 # qhasm: x12 = *(uint32 *) (x + 48) # asm 1: lduw [x12=int64#18 # asm 2: lduw [x12=%l1 lduw [%i0+48],%l1 # qhasm: x13 = *(uint32 *) (x + 52) # asm 1: lduw [x13=int64#19 # asm 2: lduw [x13=%l2 lduw [%i0+52],%l2 # qhasm: x14 = *(uint32 *) (x + 56) # asm 1: lduw [x14=int64#20 # asm 2: lduw [x14=%l3 lduw [%i0+56],%l3 # qhasm: x15 = *(uint32 *) (x + 60) # asm 1: lduw [x15=int64#21 # asm 2: lduw [x15=%l4 lduw [%i0+60],%l4 # qhasm: i = 20 # asm 1: add %g0,20,>i=int64#4 # asm 2: add %g0,20,>i=%i3 add %g0,20,%i3 # qhasm: bytes_stack = bytes # asm 1: stx bytes_stack=stack64#2] # asm 2: stx bytes_stack=8] stx %i4,[%fp+2023-8] # qhasm: out_stack = out # asm 1: stx out_stack=stack64#3] # asm 2: stx out_stack=16] stx %i1,[%fp+2023-16] # qhasm: m_stack = m # asm 1: stx m_stack=stack64#4] # asm 2: stx m_stack=24] stx %i5,[%fp+2023-24] # qhasm: x_stack = x # asm 1: stx x_stack=stack64#5] # asm 2: stx x_stack=32] stx %i0,[%fp+2023-32] # qhasm: mainloop: ._mainloop: # qhasm: y4 = x0 + x12 # asm 1: add y4=int64#1 # asm 2: add y4=%i0 add %i2,%l1,%i0 # qhasm: y9 = x5 + x1 # asm 1: add y9=int64#2 # asm 2: add y9=%i1 add %o1,%g1,%i1 # qhasm: z4 = (uint32) y4 << 7 # asm 1: sll z4=int64#5 # asm 2: sll z4=%i4 sll %i0,7,%i4 # qhasm: y14 = x10 + x6 # asm 1: add y14=int64#6 # asm 2: add y14=%i5 add %o7,%o2,%i5 # qhasm: y4 = (uint32) y4 >> 25 # asm 1: srl y4=int64#1 # asm 2: srl y4=%i0 srl %i0,25,%i0 # qhasm: y3 = x15 + x11 # asm 1: add y3=int64#22 # asm 2: add y3=%l5 add %l4,%l0,%l5 # qhasm: z9 = (uint32) y9 << 7 # asm 1: sll z9=int64#23 # asm 2: sll z9=%l6 sll %i1,7,%l6 # qhasm: y4 |= z4 # asm 1: or y4=int64#1 # asm 2: or y4=%i0 or %i0,%i4,%i0 # qhasm: y9 = (uint32) y9 >> 25 # asm 1: srl y9=int64#2 # asm 2: srl y9=%i1 srl %i1,25,%i1 # qhasm: x4 ^= y4 # asm 1: xor x4=int64#1 # asm 2: xor x4=%i0 xor %o0,%i0,%i0 # qhasm: z14 = (uint32) y14 << 7 # asm 1: sll z14=int64#5 # asm 2: sll z14=%i4 sll %i5,7,%i4 # qhasm: y9 |= z9 # asm 1: or y9=int64#2 # asm 2: or y9=%i1 or %i1,%l6,%i1 # qhasm: y14 = (uint32) y14 >> 25 # asm 1: srl y14=int64#6 # asm 2: srl y14=%i5 srl %i5,25,%i5 # qhasm: y8 = x4 + x0 # asm 1: add y8=int64#10 # asm 2: add y8=%o0 add %i0,%i2,%o0 # qhasm: z3 = (uint32) y3 << 7 # asm 1: sll z3=int64#23 # asm 2: sll z3=%l6 sll %l5,7,%l6 # qhasm: x9 ^= y9 # asm 1: xor x9=int64#2 # asm 2: xor x9=%i1 xor %o5,%i1,%i1 # qhasm: y3 = (uint32) y3 >> 25 # asm 1: srl y3=int64#15 # asm 2: srl y3=%o5 srl %l5,25,%o5 # qhasm: y14 |= z14 # asm 1: or y14=int64#5 # asm 2: or y14=%i4 or %i5,%i4,%i4 # qhasm: z8 = (uint32) y8 << 9 # asm 1: sll z8=int64#6 # asm 2: sll z8=%i5 sll %o0,9,%i5 # qhasm: y13 = x9 + x5 # asm 1: add y13=int64#22 # asm 2: add y13=%l5 add %i1,%o1,%l5 # qhasm: y8 = (uint32) y8 >> 23 # asm 1: srl y8=int64#10 # asm 2: srl y8=%o0 srl %o0,23,%o0 # qhasm: x14 ^= y14 # asm 1: xor x14=int64#5 # asm 2: xor x14=%i4 xor %l3,%i4,%i4 # qhasm: y3 |= z3 # asm 1: or y3=int64#15 # asm 2: or y3=%o5 or %o5,%l6,%o5 # qhasm: y2 = x14 + x10 # asm 1: add y2=int64#20 # asm 2: add y2=%l3 add %i4,%o7,%l3 # qhasm: z13 = (uint32) y13 << 9 # asm 1: sll z13=int64#23 # asm 2: sll z13=%l6 sll %l5,9,%l6 # qhasm: x3 ^= y3 # asm 1: xor x3=int64#9 # asm 2: xor x3=%g5 xor %g5,%o5,%g5 # qhasm: y13 = (uint32) y13 >> 23 # asm 1: srl y13=int64#15 # asm 2: srl y13=%o5 srl %l5,23,%o5 # qhasm: y8 |= z8 # asm 1: or y8=int64#6 # asm 2: or y8=%i5 or %o0,%i5,%i5 # qhasm: z2 = (uint32) y2 << 9 # asm 1: sll z2=int64#10 # asm 2: sll z2=%o0 sll %l3,9,%o0 # qhasm: y7 = x3 + x15 # asm 1: add y7=int64#22 # asm 2: add y7=%l5 add %g5,%l4,%l5 # qhasm: y2 = (uint32) y2 >> 23 # asm 1: srl y2=int64#20 # asm 2: srl y2=%l3 srl %l3,23,%l3 # qhasm: x8 ^= y8 # asm 1: xor x8=int64#6 # asm 2: xor x8=%i5 xor %o4,%i5,%i5 # qhasm: y13 |= z13 # asm 1: or y13=int64#14 # asm 2: or y13=%o4 or %o5,%l6,%o4 # qhasm: y12 = x8 + x4 # asm 1: add y12=int64#15 # asm 2: add y12=%o5 add %i5,%i0,%o5 # qhasm: z7 = (uint32) y7 << 9 # asm 1: sll z7=int64#23 # asm 2: sll z7=%l6 sll %l5,9,%l6 # qhasm: x13 ^= y13 # asm 1: xor x13=int64#19 # asm 2: xor x13=%l2 xor %l2,%o4,%l2 # qhasm: y7 = (uint32) y7 >> 23 # asm 1: srl y7=int64#14 # asm 2: srl y7=%o4 srl %l5,23,%o4 # qhasm: y2 |= z2 # asm 1: or y2=int64#10 # asm 2: or y2=%o0 or %l3,%o0,%o0 # qhasm: z12 = (uint32) y12 << 13 # asm 1: sll z12=int64#20 # asm 2: sll z12=%l3 sll %o5,13,%l3 # qhasm: y1 = x13 + x9 # asm 1: add y1=int64#22 # asm 2: add y1=%l5 add %l2,%i1,%l5 # qhasm: y12 = (uint32) y12 >> 19 # asm 1: srl y12=int64#15 # asm 2: srl y12=%o5 srl %o5,19,%o5 # qhasm: x2 ^= y2 # asm 1: xor x2=int64#8 # asm 2: xor x2=%g4 xor %g4,%o0,%g4 # qhasm: y7 |= z7 # asm 1: or y7=int64#10 # asm 2: or y7=%o0 or %o4,%l6,%o0 # qhasm: y6 = x2 + x14 # asm 1: add y6=int64#14 # asm 2: add y6=%o4 add %g4,%i4,%o4 # qhasm: z1 = (uint32) y1 << 13 # asm 1: sll z1=int64#23 # asm 2: sll z1=%l6 sll %l5,13,%l6 # qhasm: x7 ^= y7 # asm 1: xor x7=int64#10 # asm 2: xor x7=%o0 xor %o3,%o0,%o0 # qhasm: y1 = (uint32) y1 >> 19 # asm 1: srl y1=int64#13 # asm 2: srl y1=%o3 srl %l5,19,%o3 # qhasm: y12 |= z12 # asm 1: or y12=int64#15 # asm 2: or y12=%o5 or %o5,%l3,%o5 # qhasm: z6 = (uint32) y6 << 13 # asm 1: sll z6=int64#20 # asm 2: sll z6=%l3 sll %o4,13,%l3 # qhasm: y11 = x7 + x3 # asm 1: add y11=int64#22 # asm 2: add y11=%l5 add %o0,%g5,%l5 # qhasm: y6 = (uint32) y6 >> 19 # asm 1: srl y6=int64#14 # asm 2: srl y6=%o4 srl %o4,19,%o4 # qhasm: x12 ^= y12 # asm 1: xor x12=int64#15 # asm 2: xor x12=%o5 xor %l1,%o5,%o5 # qhasm: y1 |= z1 # asm 1: or y1=int64#13 # asm 2: or y1=%o3 or %o3,%l6,%o3 # qhasm: y0 = x12 + x8 # asm 1: add y0=int64#18 # asm 2: add y0=%l1 add %o5,%i5,%l1 # qhasm: z11 = (uint32) y11 << 13 # asm 1: sll z11=int64#23 # asm 2: sll z11=%l6 sll %l5,13,%l6 # qhasm: x1 ^= y1 # asm 1: xor x1=int64#7 # asm 2: xor x1=%g1 xor %g1,%o3,%g1 # qhasm: y11 = (uint32) y11 >> 19 # asm 1: srl y11=int64#13 # asm 2: srl y11=%o3 srl %l5,19,%o3 # qhasm: y6 |= z6 # asm 1: or y6=int64#14 # asm 2: or y6=%o4 or %o4,%l3,%o4 # qhasm: z0 = (uint32) y0 << 18 # asm 1: sll z0=int64#20 # asm 2: sll z0=%l3 sll %l1,18,%l3 # qhasm: y5 = x1 + x13 # asm 1: add y5=int64#22 # asm 2: add y5=%l5 add %g1,%l2,%l5 # qhasm: y0 = (uint32) y0 >> 14 # asm 1: srl y0=int64#18 # asm 2: srl y0=%l1 srl %l1,14,%l1 # qhasm: x6 ^= y6 # asm 1: xor x6=int64#12 # asm 2: xor x6=%o2 xor %o2,%o4,%o2 # qhasm: y11 |= z11 # asm 1: or y11=int64#13 # asm 2: or y11=%o3 or %o3,%l6,%o3 # qhasm: y10 = x6 + x2 # asm 1: add y10=int64#14 # asm 2: add y10=%o4 add %o2,%g4,%o4 # qhasm: z5 = (uint32) y5 << 18 # asm 1: sll z5=int64#23 # asm 2: sll z5=%l6 sll %l5,18,%l6 # qhasm: x11 ^= y11 # asm 1: xor x11=int64#13 # asm 2: xor x11=%o3 xor %l0,%o3,%o3 # qhasm: y5 = (uint32) y5 >> 14 # asm 1: srl y5=int64#17 # asm 2: srl y5=%l0 srl %l5,14,%l0 # qhasm: y0 |= z0 # asm 1: or y0=int64#18 # asm 2: or y0=%l1 or %l1,%l3,%l1 # qhasm: z10 = (uint32) y10 << 18 # asm 1: sll z10=int64#20 # asm 2: sll z10=%l3 sll %o4,18,%l3 # qhasm: y15 = x11 + x7 # asm 1: add y15=int64#22 # asm 2: add y15=%l5 add %o3,%o0,%l5 # qhasm: y10 = (uint32) y10 >> 14 # asm 1: srl y10=int64#14 # asm 2: srl y10=%o4 srl %o4,14,%o4 # qhasm: x0 ^= y0 # asm 1: xor x0=int64#3 # asm 2: xor x0=%i2 xor %i2,%l1,%i2 # qhasm: y5 |= z5 # asm 1: or y5=int64#17 # asm 2: or y5=%l0 or %l0,%l6,%l0 # qhasm: u1 = x0 + x3 # asm 1: add u1=int64#18 # asm 2: add u1=%l1 add %i2,%g5,%l1 # qhasm: z15 = (uint32) y15 << 18 # asm 1: sll z15=int64#23 # asm 2: sll z15=%l6 sll %l5,18,%l6 # qhasm: x5 ^= y5 # asm 1: xor x5=int64#11 # asm 2: xor x5=%o1 xor %o1,%l0,%o1 # qhasm: y15 = (uint32) y15 >> 14 # asm 1: srl y15=int64#17 # asm 2: srl y15=%l0 srl %l5,14,%l0 # qhasm: y10 |= z10 # asm 1: or y10=int64#14 # asm 2: or y10=%o4 or %o4,%l3,%o4 # qhasm: z1 = (uint32) u1 << 7 # asm 1: sll z1=int64#20 # asm 2: sll z1=%l3 sll %l1,7,%l3 # qhasm: u6 = x5 + x4 # asm 1: add u6=int64#22 # asm 2: add u6=%l5 add %o1,%i0,%l5 # qhasm: u1 = (uint32) u1 >> 25 # asm 1: srl u1=int64#18 # asm 2: srl u1=%l1 srl %l1,25,%l1 # qhasm: x10 ^= y10 # asm 1: xor x10=int64#16 # asm 2: xor x10=%o7 xor %o7,%o4,%o7 # qhasm: y15 |= z15 # asm 1: or y15=int64#14 # asm 2: or y15=%o4 or %l0,%l6,%o4 # qhasm: u11 = x10 + x9 # asm 1: add u11=int64#17 # asm 2: add u11=%l0 add %o7,%i1,%l0 # qhasm: z6 = (uint32) u6 << 7 # asm 1: sll z6=int64#23 # asm 2: sll z6=%l6 sll %l5,7,%l6 # qhasm: x15 ^= y15 # asm 1: xor x15=int64#21 # asm 2: xor x15=%l4 xor %l4,%o4,%l4 # qhasm: u6 = (uint32) u6 >> 25 # asm 1: srl u6=int64#14 # asm 2: srl u6=%o4 srl %l5,25,%o4 # qhasm: u1 |= z1 # asm 1: or u1=int64#18 # asm 2: or u1=%l1 or %l1,%l3,%l1 # qhasm: z11 = (uint32) u11 << 7 # asm 1: sll z11=int64#20 # asm 2: sll z11=%l3 sll %l0,7,%l3 # qhasm: u12 = x15 + x14 # asm 1: add u12=int64#22 # asm 2: add u12=%l5 add %l4,%i4,%l5 # qhasm: u11 = (uint32) u11 >> 25 # asm 1: srl u11=int64#17 # asm 2: srl u11=%l0 srl %l0,25,%l0 # qhasm: u6 |= z6 # asm 1: or u6=int64#14 # asm 2: or u6=%o4 or %o4,%l6,%o4 # qhasm: x1 ^= u1 # asm 1: xor x1=int64#7 # asm 2: xor x1=%g1 xor %g1,%l1,%g1 # qhasm: z12 = (uint32) u12 << 7 # asm 1: sll z12=int64#18 # asm 2: sll z12=%l1 sll %l5,7,%l1 # qhasm: x6 ^= u6 # asm 1: xor x6=int64#12 # asm 2: xor x6=%o2 xor %o2,%o4,%o2 # qhasm: u12 = (uint32) u12 >> 25 # asm 1: srl u12=int64#14 # asm 2: srl u12=%o4 srl %l5,25,%o4 # qhasm: u11 |= z11 # asm 1: or u11=int64#17 # asm 2: or u11=%l0 or %l0,%l3,%l0 # qhasm: u2 = x1 + x0 # asm 1: add u2=int64#20 # asm 2: add u2=%l3 add %g1,%i2,%l3 # qhasm: u7 = x6 + x5 # asm 1: add u7=int64#22 # asm 2: add u7=%l5 add %o2,%o1,%l5 # qhasm: z2 = (uint32) u2 << 9 # asm 1: sll z2=int64#23 # asm 2: sll z2=%l6 sll %l3,9,%l6 # qhasm: x11 ^= u11 # asm 1: xor x11=int64#17 # asm 2: xor x11=%l0 xor %o3,%l0,%l0 # qhasm: u2 = (uint32) u2 >> 23 # asm 1: srl u2=int64#13 # asm 2: srl u2=%o3 srl %l3,23,%o3 # qhasm: u12 |= z12 # asm 1: or u12=int64#14 # asm 2: or u12=%o4 or %o4,%l1,%o4 # qhasm: z7 = (uint32) u7 << 9 # asm 1: sll z7=int64#20 # asm 2: sll z7=%l3 sll %l5,9,%l3 # qhasm: u8 = x11 + x10 # asm 1: add u8=int64#24 # asm 2: add u8=%l7 add %l0,%o7,%l7 # qhasm: u7 = (uint32) u7 >> 23 # asm 1: srl u7=int64#22 # asm 2: srl u7=%l5 srl %l5,23,%l5 # qhasm: x12 ^= u12 # asm 1: xor x12=int64#18 # asm 2: xor x12=%l1 xor %o5,%o4,%l1 # qhasm: z8 = (uint32) u8 << 9 # asm 1: sll z8=int64#14 # asm 2: sll z8=%o4 sll %l7,9,%o4 # qhasm: u2 |= z2 # asm 1: or u2=int64#13 # asm 2: or u2=%o3 or %o3,%l6,%o3 # qhasm: u8 = (uint32) u8 >> 23 # asm 1: srl u8=int64#15 # asm 2: srl u8=%o5 srl %l7,23,%o5 # qhasm: u13 = x12 + x15 # asm 1: add u13=int64#23 # asm 2: add u13=%l6 add %l1,%l4,%l6 # qhasm: u7 |= z7 # asm 1: or u7=int64#20 # asm 2: or u7=%l3 or %l5,%l3,%l3 # qhasm: x2 ^= u2 # asm 1: xor x2=int64#8 # asm 2: xor x2=%g4 xor %g4,%o3,%g4 # qhasm: z13 = (uint32) u13 << 9 # asm 1: sll z13=int64#22 # asm 2: sll z13=%l5 sll %l6,9,%l5 # qhasm: x7 ^= u7 # asm 1: xor x7=int64#13 # asm 2: xor x7=%o3 xor %o0,%l3,%o3 # qhasm: u13 = (uint32) u13 >> 23 # asm 1: srl u13=int64#10 # asm 2: srl u13=%o0 srl %l6,23,%o0 # qhasm: u8 |= z8 # asm 1: or u8=int64#14 # asm 2: or u8=%o4 or %o5,%o4,%o4 # qhasm: u3 = x2 + x1 # asm 1: add u3=int64#15 # asm 2: add u3=%o5 add %g4,%g1,%o5 # qhasm: u4 = x7 + x6 # asm 1: add u4=int64#20 # asm 2: add u4=%l3 add %o3,%o2,%l3 # qhasm: z3 = (uint32) u3 << 13 # asm 1: sll z3=int64#23 # asm 2: sll z3=%l6 sll %o5,13,%l6 # qhasm: x8 ^= u8 # asm 1: xor x8=int64#14 # asm 2: xor x8=%o4 xor %i5,%o4,%o4 # qhasm: z4 = (uint32) u4 << 13 # asm 1: sll z4=int64#6 # asm 2: sll z4=%i5 sll %l3,13,%i5 # qhasm: u13 |= z13 # asm 1: or u13=int64#10 # asm 2: or u13=%o0 or %o0,%l5,%o0 # qhasm: u3 = (uint32) u3 >> 19 # asm 1: srl u3=int64#15 # asm 2: srl u3=%o5 srl %o5,19,%o5 # qhasm: u9 = x8 + x11 # asm 1: add u9=int64#22 # asm 2: add u9=%l5 add %o4,%l0,%l5 # qhasm: u4 = (uint32) u4 >> 19 # asm 1: srl u4=int64#20 # asm 2: srl u4=%l3 srl %l3,19,%l3 # qhasm: x13 ^= u13 # asm 1: xor x13=int64#19 # asm 2: xor x13=%l2 xor %l2,%o0,%l2 # qhasm: z9 = (uint32) u9 << 13 # asm 1: sll z9=int64#24 # asm 2: sll z9=%l7 sll %l5,13,%l7 # qhasm: u3 |= z3 # asm 1: or u3=int64#10 # asm 2: or u3=%o0 or %o5,%l6,%o0 # qhasm: u9 = (uint32) u9 >> 19 # asm 1: srl u9=int64#15 # asm 2: srl u9=%o5 srl %l5,19,%o5 # qhasm: u14 = x13 + x12 # asm 1: add u14=int64#22 # asm 2: add u14=%l5 add %l2,%l1,%l5 # qhasm: u4 |= z4 # asm 1: or u4=int64#6 # asm 2: or u4=%i5 or %l3,%i5,%i5 # qhasm: x3 ^= u3 # asm 1: xor x3=int64#9 # asm 2: xor x3=%g5 xor %g5,%o0,%g5 # qhasm: z14 = (uint32) u14 << 13 # asm 1: sll z14=int64#20 # asm 2: sll z14=%l3 sll %l5,13,%l3 # qhasm: x4 ^= u4 # asm 1: xor x4=int64#10 # asm 2: xor x4=%o0 xor %i0,%i5,%o0 # qhasm: u14 = (uint32) u14 >> 19 # asm 1: srl u14=int64#1 # asm 2: srl u14=%i0 srl %l5,19,%i0 # qhasm: u9 |= z9 # asm 1: or u9=int64#6 # asm 2: or u9=%i5 or %o5,%l7,%i5 # qhasm: u0 = x3 + x2 # asm 1: add u0=int64#22 # asm 2: add u0=%l5 add %g5,%g4,%l5 # qhasm: u5 = x4 + x7 # asm 1: add u5=int64#23 # asm 2: add u5=%l6 add %o0,%o3,%l6 # qhasm: z0 = (uint32) u0 << 18 # asm 1: sll z0=int64#24 # asm 2: sll z0=%l7 sll %l5,18,%l7 # qhasm: x9 ^= u9 # asm 1: xor x9=int64#15 # asm 2: xor x9=%o5 xor %i1,%i5,%o5 # qhasm: z5 = (uint32) u5 << 18 # asm 1: sll z5=int64#2 # asm 2: sll z5=%i1 sll %l6,18,%i1 # qhasm: u14 |= z14 # asm 1: or u14=int64#1 # asm 2: or u14=%i0 or %i0,%l3,%i0 # qhasm: u0 = (uint32) u0 >> 14 # asm 1: srl u0=int64#6 # asm 2: srl u0=%i5 srl %l5,14,%i5 # qhasm: u10 = x9 + x8 # asm 1: add u10=int64#22 # asm 2: add u10=%l5 add %o5,%o4,%l5 # qhasm: u5 = (uint32) u5 >> 14 # asm 1: srl u5=int64#23 # asm 2: srl u5=%l6 srl %l6,14,%l6 # qhasm: x14 ^= u14 # asm 1: xor x14=int64#20 # asm 2: xor x14=%l3 xor %i4,%i0,%l3 # qhasm: z10 = (uint32) u10 << 18 # asm 1: sll z10=int64#1 # asm 2: sll z10=%i0 sll %l5,18,%i0 # qhasm: u0 |= z0 # asm 1: or u0=int64#5 # asm 2: or u0=%i4 or %i5,%l7,%i4 # qhasm: u10 = (uint32) u10 >> 14 # asm 1: srl u10=int64#6 # asm 2: srl u10=%i5 srl %l5,14,%i5 # qhasm: u15 = x14 + x13 # asm 1: add u15=int64#22 # asm 2: add u15=%l5 add %l3,%l2,%l5 # qhasm: u5 |= z5 # asm 1: or u5=int64#2 # asm 2: or u5=%i1 or %l6,%i1,%i1 # qhasm: x0 ^= u0 # asm 1: xor x0=int64#3 # asm 2: xor x0=%i2 xor %i2,%i4,%i2 # qhasm: z15 = (uint32) u15 << 18 # asm 1: sll z15=int64#5 # asm 2: sll z15=%i4 sll %l5,18,%i4 # qhasm: x5 ^= u5 # asm 1: xor x5=int64#11 # asm 2: xor x5=%o1 xor %o1,%i1,%o1 # qhasm: u15 = (uint32) u15 >> 14 # asm 1: srl u15=int64#2 # asm 2: srl u15=%i1 srl %l5,14,%i1 # qhasm: unsigned>? i -= 2 # asm 1: subcc i=int64#4 # asm 2: subcc i=%i3 subcc %i3,2,%i3 # qhasm: u10 |= z10 # asm 1: or u10=int64#1 # asm 2: or u10=%i0 or %i5,%i0,%i0 # qhasm: u15 |= z15 # asm 1: or u15=int64#2 # asm 2: or u15=%i1 or %i1,%i4,%i1 # qhasm: x10 ^= u10 # asm 1: xor x10=int64#16 # asm 2: xor x10=%o7 xor %o7,%i0,%o7 # qhasm: x15 ^= u15 # asm 1: xor x15=int64#21 # asm 2: xor x15=%l4 xor %l4,%i1,%l4 # qhasm: goto mainloop if unsigned> bgu,pt %xcc,._mainloop nop # qhasm: x = x_stack # asm 1: ldx [%fp+2023-x=int64#1 # asm 2: ldx [%fp+2023-x=%i0 ldx [%fp+2023-32],%i0 # qhasm: q0 = *(uint32 *) (x + 0) # asm 1: lduw [q0=int64#2 # asm 2: lduw [q0=%i1 lduw [%i0+0],%i1 # qhasm: q1 = *(uint32 *) (x + 4) # asm 1: lduw [q1=int64#4 # asm 2: lduw [q1=%i3 lduw [%i0+4],%i3 # qhasm: q2 = *(uint32 *) (x + 8) # asm 1: lduw [q2=int64#5 # asm 2: lduw [q2=%i4 lduw [%i0+8],%i4 # qhasm: q3 = *(uint32 *) (x + 12) # asm 1: lduw [q3=int64#6 # asm 2: lduw [q3=%i5 lduw [%i0+12],%i5 # qhasm: x0 += q0 # asm 1: add x0=int64#2 # asm 2: add x0=%i1 add %i2,%i1,%i1 # qhasm: q4 = *(uint32 *) (x + 16) # asm 1: lduw [q4=int64#3 # asm 2: lduw [q4=%i2 lduw [%i0+16],%i2 # qhasm: x1 += q1 # asm 1: add x1=int64#4 # asm 2: add x1=%i3 add %g1,%i3,%i3 # qhasm: q5 = *(uint32 *) (x + 20) # asm 1: lduw [q5=int64#7 # asm 2: lduw [q5=%g1 lduw [%i0+20],%g1 # qhasm: x2 += q2 # asm 1: add x2=int64#5 # asm 2: add x2=%i4 add %g4,%i4,%i4 # qhasm: q6 = *(uint32 *) (x + 24) # asm 1: lduw [q6=int64#8 # asm 2: lduw [q6=%g4 lduw [%i0+24],%g4 # qhasm: x3 += q3 # asm 1: add x3=int64#6 # asm 2: add x3=%i5 add %g5,%i5,%i5 # qhasm: q7 = *(uint32 *) (x + 28) # asm 1: lduw [q7=int64#9 # asm 2: lduw [q7=%g5 lduw [%i0+28],%g5 # qhasm: x4 += q4 # asm 1: add x4=int64#3 # asm 2: add x4=%i2 add %o0,%i2,%i2 # qhasm: q8 = *(uint32 *) (x + 32) # asm 1: lduw [q8=int64#10 # asm 2: lduw [q8=%o0 lduw [%i0+32],%o0 # qhasm: x5 += q5 # asm 1: add x5=int64#7 # asm 2: add x5=%g1 add %o1,%g1,%g1 # qhasm: q9 = *(uint32 *) (x + 36) # asm 1: lduw [q9=int64#11 # asm 2: lduw [q9=%o1 lduw [%i0+36],%o1 # qhasm: x6 += q6 # asm 1: add x6=int64#8 # asm 2: add x6=%g4 add %o2,%g4,%g4 # qhasm: q10 = *(uint32 *) (x + 40) # asm 1: lduw [q10=int64#12 # asm 2: lduw [q10=%o2 lduw [%i0+40],%o2 # qhasm: x7 += q7 # asm 1: add x7=int64#9 # asm 2: add x7=%g5 add %o3,%g5,%g5 # qhasm: q11 = *(uint32 *) (x + 44) # asm 1: lduw [q11=int64#13 # asm 2: lduw [q11=%o3 lduw [%i0+44],%o3 # qhasm: x8 += q8 # asm 1: add x8=int64#14 # asm 2: add x8=%o4 add %o4,%o0,%o4 # qhasm: q8 += 1 # asm 1: add q8=int64#10 # asm 2: add q8=%o0 add %o0,1,%o0 # qhasm: *(uint32 *) (x + 32) = q8 # asm 1: stw > 32 # asm 1: srlx q8=int64#10 # asm 2: srlx q8=%o0 srlx %o0,32,%o0 # qhasm: q12 = *(uint32 *) (x + 48) # asm 1: lduw [q12=int64#22 # asm 2: lduw [q12=%l5 lduw [%i0+48],%l5 # qhasm: x9 += q9 # asm 1: add x9=int64#15 # asm 2: add x9=%o5 add %o5,%o1,%o5 # qhasm: q9 += q8 # asm 1: add q9=int64#10 # asm 2: add q9=%o0 add %o1,%o0,%o0 # qhasm: *(uint32 *) (x + 36) = q9 # asm 1: stw q13=int64#10 # asm 2: lduw [q13=%o0 lduw [%i0+52],%o0 # qhasm: x10 += q10 # asm 1: add x10=int64#11 # asm 2: add x10=%o1 add %o7,%o2,%o1 # qhasm: q14 = *(uint32 *) (x + 56) # asm 1: lduw [q14=int64#12 # asm 2: lduw [q14=%o2 lduw [%i0+56],%o2 # qhasm: x11 += q11 # asm 1: add x11=int64#13 # asm 2: add x11=%o3 add %l0,%o3,%o3 # qhasm: q15 = *(uint32 *) (x + 60) # asm 1: lduw [q15=int64#16 # asm 2: lduw [q15=%o7 lduw [%i0+60],%o7 # qhasm: x12 += q12 # asm 1: add x12=int64#17 # asm 2: add x12=%l0 add %l1,%l5,%l0 # qhasm: x13 += q13 # asm 1: add x13=int64#10 # asm 2: add x13=%o0 add %l2,%o0,%o0 # qhasm: x14 += q14 # asm 1: add x14=int64#12 # asm 2: add x14=%o2 add %l3,%o2,%o2 # qhasm: x15 += q15 # asm 1: add x15=int64#16 # asm 2: add x15=%o7 add %l4,%o7,%o7 # qhasm: m = m_stack # asm 1: ldx [%fp+2023-m=int64#18 # asm 2: ldx [%fp+2023-m=%l1 ldx [%fp+2023-24],%l1 # qhasm: m0 = *(swapendian uint32 *) m # asm 1: lduwa [m0=int64#19 # asm 2: lduwa [m0=%l2 lduwa [%l1] 0x88,%l2 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: m1 = *(swapendian uint32 *) m # asm 1: lduwa [m1=int64#20 # asm 2: lduwa [m1=%l3 lduwa [%l1] 0x88,%l3 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: m2 = *(swapendian uint32 *) m # asm 1: lduwa [m2=int64#21 # asm 2: lduwa [m2=%l4 lduwa [%l1] 0x88,%l4 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: m3 = *(swapendian uint32 *) m # asm 1: lduwa [m3=int64#22 # asm 2: lduwa [m3=%l5 lduwa [%l1] 0x88,%l5 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x0 ^= m0 # asm 1: xor x0=int64#2 # asm 2: xor x0=%i1 xor %i1,%l2,%i1 # qhasm: m4 = *(swapendian uint32 *) m # asm 1: lduwa [m4=int64#19 # asm 2: lduwa [m4=%l2 lduwa [%l1] 0x88,%l2 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x1 ^= m1 # asm 1: xor x1=int64#4 # asm 2: xor x1=%i3 xor %i3,%l3,%i3 # qhasm: m5 = *(swapendian uint32 *) m # asm 1: lduwa [m5=int64#20 # asm 2: lduwa [m5=%l3 lduwa [%l1] 0x88,%l3 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x2 ^= m2 # asm 1: xor x2=int64#5 # asm 2: xor x2=%i4 xor %i4,%l4,%i4 # qhasm: m6 = *(swapendian uint32 *) m # asm 1: lduwa [m6=int64#21 # asm 2: lduwa [m6=%l4 lduwa [%l1] 0x88,%l4 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x3 ^= m3 # asm 1: xor x3=int64#22 # asm 2: xor x3=%l5 xor %i5,%l5,%l5 # qhasm: m7 = *(swapendian uint32 *) m # asm 1: lduwa [m7=int64#6 # asm 2: lduwa [m7=%i5 lduwa [%l1] 0x88,%i5 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x4 ^= m4 # asm 1: xor x4=int64#3 # asm 2: xor x4=%i2 xor %i2,%l2,%i2 # qhasm: m8 = *(swapendian uint32 *) m # asm 1: lduwa [m8=int64#19 # asm 2: lduwa [m8=%l2 lduwa [%l1] 0x88,%l2 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x5 ^= m5 # asm 1: xor x5=int64#7 # asm 2: xor x5=%g1 xor %g1,%l3,%g1 # qhasm: m9 = *(swapendian uint32 *) m # asm 1: lduwa [m9=int64#20 # asm 2: lduwa [m9=%l3 lduwa [%l1] 0x88,%l3 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x6 ^= m6 # asm 1: xor x6=int64#8 # asm 2: xor x6=%g4 xor %g4,%l4,%g4 # qhasm: m10 = *(swapendian uint32 *) m # asm 1: lduwa [m10=int64#21 # asm 2: lduwa [m10=%l4 lduwa [%l1] 0x88,%l4 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x7 ^= m7 # asm 1: xor x7=int64#9 # asm 2: xor x7=%g5 xor %g5,%i5,%g5 # qhasm: m11 = *(swapendian uint32 *) m # asm 1: lduwa [m11=int64#6 # asm 2: lduwa [m11=%i5 lduwa [%l1] 0x88,%i5 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x8 ^= m8 # asm 1: xor x8=int64#14 # asm 2: xor x8=%o4 xor %o4,%l2,%o4 # qhasm: m12 = *(swapendian uint32 *) m # asm 1: lduwa [m12=int64#19 # asm 2: lduwa [m12=%l2 lduwa [%l1] 0x88,%l2 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x9 ^= m9 # asm 1: xor x9=int64#15 # asm 2: xor x9=%o5 xor %o5,%l3,%o5 # qhasm: m13 = *(swapendian uint32 *) m # asm 1: lduwa [m13=int64#20 # asm 2: lduwa [m13=%l3 lduwa [%l1] 0x88,%l3 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x10 ^= m10 # asm 1: xor x10=int64#11 # asm 2: xor x10=%o1 xor %o1,%l4,%o1 # qhasm: m14 = *(swapendian uint32 *) m # asm 1: lduwa [m14=int64#21 # asm 2: lduwa [m14=%l4 lduwa [%l1] 0x88,%l4 # qhasm: m += 4 # asm 1: add m=int64#18 # asm 2: add m=%l1 add %l1,4,%l1 # qhasm: x11 ^= m11 # asm 1: xor x11=int64#13 # asm 2: xor x11=%o3 xor %o3,%i5,%o3 # qhasm: m15 = *(swapendian uint32 *) m # asm 1: lduwa [m15=int64#23 # asm 2: lduwa [m15=%l6 lduwa [%l1] 0x88,%l6 # qhasm: m += 4 # asm 1: add m=int64#6 # asm 2: add m=%i5 add %l1,4,%i5 # qhasm: x12 ^= m12 # asm 1: xor x12=int64#17 # asm 2: xor x12=%l0 xor %l0,%l2,%l0 # qhasm: x13 ^= m13 # asm 1: xor x13=int64#10 # asm 2: xor x13=%o0 xor %o0,%l3,%o0 # qhasm: x14 ^= m14 # asm 1: xor x14=int64#12 # asm 2: xor x14=%o2 xor %o2,%l4,%o2 # qhasm: x15 ^= m15 # asm 1: xor x15=int64#16 # asm 2: xor x15=%o7 xor %o7,%l6,%o7 # qhasm: out = out_stack # asm 1: ldx [%fp+2023-out=int64#18 # asm 2: ldx [%fp+2023-out=%l1 ldx [%fp+2023-16],%l1 # qhasm: *(swapendian uint32 *) out = x0 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %l1,4,%i1 # qhasm: *(swapendian uint32 *) out = x1 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x2 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x3 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x4 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x5 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x6 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x7 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x8 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x9 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x10 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x11 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x12 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x13 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x14 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: *(swapendian uint32 *) out = x15 # asm 1: stwa out=int64#2 # asm 2: add out=%i1 add %i1,4,%i1 # qhasm: bytes = bytes_stack # asm 1: ldx [%fp+2023-bytes=int64#3 # asm 2: ldx [%fp+2023-bytes=%i2 ldx [%fp+2023-8],%i2 # qhasm: unsigned>? bytes -= 64 # asm 1: subcc bytes=int64#5 # asm 2: subcc bytes=%i4 subcc %i2,64,%i4 # qhasm: goto bytesatleast1 if unsigned> bgu,pt %xcc,._bytesatleast1 nop # qhasm: goto done if !unsigned< bgeu,pt %xcc,._done nop # qhasm: m = ctarget # asm 1: ldx [%fp+2023-m=int64#6 # asm 2: ldx [%fp+2023-m=%i5 ldx [%fp+2023-0],%i5 # qhasm: bytes += 64 # asm 1: add bytes=int64#5 # asm 2: add bytes=%i4 add %i4,64,%i4 # qhasm: out -= 64 # asm 1: sub out=int64#2 # asm 2: sub out=%i1 sub %i1,64,%i1 # qhasm: i = 0 # asm 1: add %g0,0,>i=int64#4 # asm 2: add %g0,0,>i=%i3 add %g0,0,%i3 # qhasm: ccopyloop: ._ccopyloop: # qhasm: a = *(int8 *) (out + i) # asm 1: ldsb [a=int64#3 # asm 2: ldsb [a=%i2 ldsb [%i1+%i3],%i2 # qhasm: *(int8 *) (m + i) = a # asm 1: stb i=int64#4 # asm 2: add i=%i3 add %i3,1,%i3 # qhasm: unsigned