-rw-r--r-- 28439 lib25519-20221222/crypto_hashblocks/sha512/avx2/inner.q raw
stack64 r11_stack stack64 r12_stack stack64 r13_stack stack64 r14_stack stack64 r15_stack stack64 rbx_stack stack64 rbp_stack int64 statebytes stack64 statebytes_stack int64 in stack64 in_stack int64 inlen stack64 inlen_stack int64 constants stack64 constants_stack int64 r0 int64 r1 int64 r2 int64 r3 int64 r4 int64 r5 int64 r6 int64 r7 int64 i stack256 state0123 stack256 state4567 reg256 X0 reg256 X4 reg256 X8 reg256 X12 reg256 X1 reg256 X5 reg256 X9 reg256 X13 reg256 bigendian64 reg256 D0 reg256 D4 reg256 D8 reg256 D12 reg256 W0 reg256 W2 reg256 W4 reg256 W6 reg256 W8 reg256 W10 reg256 W12 reg256 W14 stack1280 w stack256 wc0123 stack256 wc4567 stack256 wc891011 stack256 wc12131415 int64 r0andr1 int64 r2andr3 int64 r4andr5 int64 r6andr7 int64 ch0 int64 ch1 int64 ch2 int64 ch3 int64 ch4 int64 ch5 int64 ch6 int64 ch7 int64 maj0 int64 maj1 int64 maj2 int64 maj3 int64 maj4 int64 maj5 int64 maj6 int64 maj7 int64 r0Sigma0 int64 r1Sigma0 int64 r2Sigma0 int64 r3Sigma0 int64 r4Sigma0 int64 r5Sigma0 int64 r6Sigma0 int64 r7Sigma0 int64 r0Sigma1 int64 r1Sigma1 int64 r2Sigma1 int64 r3Sigma1 int64 r4Sigma1 int64 r5Sigma1 int64 r6Sigma1 int64 r7Sigma1 int64 r018 int64 r118 int64 r218 int64 r318 int64 r418 int64 r518 int64 r618 int64 r718 int64 r041 int64 r141 int64 r241 int64 r341 int64 r441 int64 r541 int64 r641 int64 r741 int64 r034 int64 r134 int64 r234 int64 r334 int64 r434 int64 r534 int64 r634 int64 r734 int64 r039 int64 r139 int64 r239 int64 r339 int64 r439 int64 r539 int64 r639 int64 r739 reg256 X1right1 reg256 X1left63 reg256 X1right8 reg256 X1left56 reg256 X1right7 reg256 X1sigma0 reg256 X5right1 reg256 X5left63 reg256 X5right8 reg256 X5left56 reg256 X5right7 reg256 X5sigma0 reg256 X9right1 reg256 X9left63 reg256 X9right8 reg256 X9left56 reg256 X9right7 reg256 X9sigma0 reg256 X13right1 reg256 X13left63 reg256 X13right8 reg256 X13left56 reg256 X13right7 reg256 X13sigma0 reg256 W0right19 reg256 W0right61 reg256 W0right6 reg256 W0left45 reg256 W0left3 reg256 W0sigma1 reg256 W2right19 reg256 W2right61 reg256 W2right6 reg256 W2left45 reg256 W2left3 reg256 W2sigma1 reg256 W4right19 reg256 W4right61 reg256 W4right6 reg256 W4left45 reg256 W4left3 reg256 W4sigma1 reg256 W6right19 reg256 W6right61 reg256 W6right6 reg256 W6left45 reg256 W6left3 reg256 W6sigma1 reg256 W8right19 reg256 W8right61 reg256 W8right6 reg256 W8left45 reg256 W8left3 reg256 W8sigma1 reg256 W10right19 reg256 W10right61 reg256 W10right6 reg256 W10left45 reg256 W10left3 reg256 W10sigma1 reg256 W12right19 reg256 W12right61 reg256 W12right6 reg256 W12left45 reg256 W12left3 reg256 W12sigma1 reg256 W14right19 reg256 W14right61 reg256 W14right6 reg256 W14left45 reg256 W14left3 reg256 W14sigma1 enter inner constants = input_3 bigendian64 = mem256[input_3+640] X0 = mem256[input_0+0] statebytes = input_0 X4 = mem256[input_0+32] 2x 16x X0 = X0[bigendian64] 2x 16x X4 = X4[bigendian64] state0123 = X0 r11_stack = caller_r11 state4567 = X4 r13_stack = caller_r13 r12_stack = caller_r12 r14_stack = caller_r14 rbx_stack = caller_rbx r15_stack = caller_r15 rbp_stack = caller_rbp inlen_stack = input_2 in = input_1 statebytes_stack = statebytes r0 = state0123[0] r2 = state0123[2] constants_stack = constants r1 = state0123[1] r3 = state0123[3] r5 = state4567[1] r4 = state4567[0] r6 = state4567[2] r7 = state4567[3] new w // interesting pads: 4,5,11,14,17,20,26 nop9 nop9 nop2 outerloop: X0 = mem256[in + 0] 2x 16x X0 = X0[bigendian64] ch7 = r6 r4Sigma1 = r4>>>14 ch7 ^= r5 4x D0 = X0 + mem256[constants + 0] r418 = r4>>>18 r4Sigma1 ^= r418 ch7 &= r4 r441 = r4>>>41 r4Sigma1 ^= r441 r0Sigma0 = r0>>>28 ch7 ^= r6 r034 = r0>>>34 r039 = r0>>>39 inplace state4567[3] = r7 r0Sigma0 ^= r034 r7 += ch7 maj6 = r1 maj6 ^= r0 r0Sigma0 ^= r039 r0andr1 = r1 r0andr1 &= r0 r7 += r4Sigma1 maj7 = r2 wc0123 = D0 r7 += wc0123[0] maj7 &= maj6 inplace state0123[3] = r3 r3 += r7 r7 += r0Sigma0 maj7 ^= r0andr1 ch6 = r5 r3Sigma1 = r3>>>14 ch6 ^= r4 X4 = mem256[in + 32] 2x 16x X4 = X4[bigendian64] r7 += maj7 r318 = r3>>>18 4x D4 = X4 + mem256[constants + 32] ch6 &= r3 r3Sigma1 ^= r318 maj6 &= r7 inplace state4567[2] = r6 r341 = r3>>>41 ch6 ^= r5 maj6 ^= r0andr1 r7Sigma0 = r7>>>28 inplace state4567[1] = r5 r6 += ch6 r3Sigma1 ^= r341 r734 = r7>>>34 inplace state0123[2] = r2 r5 += wc0123[2] r739 = r7>>>39 r7Sigma0 ^= r734 ch5 = r4 ch5 ^= r3 r6 += wc0123[1] r6 += r3Sigma1 mem256[&w + 0] = X0 # can skip &w+128 this time r7Sigma0 ^= r739 r2 += r6 r6 += maj6 inplace state4567[0] = r4 r2Sigma1 = r2>>>14 r6 += r7Sigma0 ch5 &= r2 r218 = r2>>>18 mem256[&w + 32] = X4 r2Sigma1 ^= r218 ch5 ^= r4 r241 = r2>>>41 maj4 = r7 maj4 ^= r6 r6Sigma0 = r6>>>28 wc4567 = D4 r2Sigma1 ^= r241 r5 += ch5 r634 = r6>>>34 in_stack = in r6Sigma0 ^= r634 r639 = r6>>>39 r6andr7 = r7 r6andr7 &= r6 r6Sigma0 ^= r639 maj5 = r0 inplace state0123[1] = r1 r5 += r2Sigma1 r4 += wc0123[3] maj5 &= maj4 r1 += r5 r5 += r6Sigma0 maj5 ^= r6andr7 ch4 = r3 r1Sigma1 = r1>>>14 ch4 ^= r2 r5 += maj5 ch4 &= r1 r118 = r1>>>18 inplace state0123[0] = r0 r1Sigma1 ^= r118 maj4 &= r5 ch4 ^= r3 r141 = r1>>>41 X8 = mem256[in + 64] r1Sigma1 ^= r141 r5Sigma0 = r5>>>28 maj4 ^= r6andr7 r4 += ch4 r534 = r5>>>34 r4 += r1Sigma1 r5Sigma0 ^= r534 r3 += wc4567[0] X12 = mem256[in + 96] r0 += r4 r539 = r5>>>39 r4 += maj4 r5Sigma0 ^= r539 r0Sigma1 = r0>>>14 r4 += r5Sigma0 ch3 = r2 r018 = r0>>>18 ch3 ^= r1 2x 16x X8 = X8[bigendian64] r0Sigma1 ^= r018 ch3 &= r0 r041 = r0>>>41 r4Sigma0 = r4>>>28 4x D8 = X8 + mem256[constants + 64] r0Sigma1 ^= r041 ch3 ^= r2 mem256[&w + 64] = X8 r3 += ch3 r434 = r4>>>34 r439 = r4>>>39 maj2 = r5 maj2 ^= r4 wc891011 = D8 r4Sigma0 ^= r434 r3 += r0Sigma1 r4andr5 = r5 r4andr5 &= r4 r2 += wc4567[1] r4Sigma0 ^= r439 maj3 = r6 maj3 &= maj2 r7 += r3 r3 += r4Sigma0 2x 16x X12 = X12[bigendian64] ch2 = r1 maj3 ^= r4andr5 ch2 ^= r0 r3 += maj3 r7Sigma1 = r7>>>14 4x D12 = X12 + mem256[constants + 96] ch2 &= r7 r718 = r7>>>18 r7Sigma1 ^= r718 maj2 &= r3 ch2 ^= r1 r741 = r7>>>41 mem256[&w + 96] = X12 r7Sigma1 ^= r741 maj2 ^= r4andr5 r3Sigma0 = r3>>>28 wc12131415 = D12 r2 += ch2 r2 += r7Sigma1 r1 += wc4567[2] ch1 = r0 r334 = r3>>>34 ch1 ^= r7 r3Sigma0 ^= r334 r6 += r2 r339 = r3>>>39 r2 += maj2 r3Sigma0 ^= r339 r6Sigma1 = r6>>>14 r618 = r6>>>18 r641 = r6>>>41 ch1 &= r6 r2 += r3Sigma0 r6Sigma1 ^= r618 r2Sigma0 = r2>>>28 r6Sigma1 ^= r641 ch1 ^= r0 r234 = r2>>>34 maj0 = r3 maj0 ^= r2 r2Sigma0 ^= r234 r1 += ch1 r239 = r2>>>39 r2andr3 = r3 r2andr3 &= r2 r2Sigma0 ^= r239 r1 += r6Sigma1 maj1 = r4 maj1 &= maj0 r0 += wc4567[3] r5 += r1 r1 += r2Sigma0 ch0 = r7 maj1 ^= r2andr3 ch0 ^= r6 r5Sigma1 = r5>>>14 r1 += maj1 ch0 &= r5 r518 = r5>>>18 r5Sigma1 ^= r518 maj0 &= r1 ch0 ^= r7 r541 = r5>>>41 r5Sigma1 ^= r541 maj0 ^= r2andr3 r1Sigma0 = r1>>>28 r0 += ch0 r0 += r5Sigma1 r134 = r1>>>34 r1Sigma0 ^= r134 r4 += r0 r0 += maj0 r139 = r1>>>39 r1Sigma0 ^= r139 r0 += r1Sigma0 i = 4 innerloop: X1 = mem256[&w + 8] 4x X1right1 = X1 unsigned>> 1 r4Sigma1 = r4>>>14 r7 += wc891011[0] 4x X1left63 = X1 << 63 ch7 = r6 ch7 ^= r5 r418 = r4>>>18 ch7 &= r4 maj6 = r1 maj6 ^= r0 W14 = mem128[&w + 112],0 r441 = r4>>>41 r4Sigma1 ^= r418 ch7 ^= r6 X1sigma0 = X1right1 ^ X1left63 4x X1right8 = X1 unsigned>> 8 r4Sigma1 ^= r441 r7 += ch7 r0Sigma0 = r0>>>28 r034 = r0>>>34 X1sigma0 = X1sigma0 ^ X1right8 r7 += r4Sigma1 maj7 = r2 maj7 &= maj6 r0Sigma0 ^= r034 2x,0 W14right19 = W14 unsigned>> 19 r039 = r0>>>39 4x X1left56 = X1 << 56 r3 += r7 r0Sigma0 ^= r039 r6 += wc891011[1] r0andr1 = r1 r0andr1 &= r0 2x,0 W14left45 = W14 << 45 r7 += r0Sigma0 maj7 ^= r0andr1 ch6 = r5 ch6 ^= r4 2x,0 W14right61 = W14 unsigned>> 61 r3Sigma1 = r3>>>14 X1sigma0 = X1sigma0 ^ X1left56 r7 += maj7 r318 = r3>>>18 4x X1right7 = X1 unsigned>> 7 1x,0 W14sigma1 = W14right19 ^ W14left45 ch6 &= r3 r3Sigma1 ^= r318 r341 = r3>>>41 maj6 &= r7 X1sigma0 = X1sigma0 ^ X1right7 1x,0 W14sigma1 ^= W14right61 4x X0 = X0 + X1sigma0 r3Sigma1 ^= r341 maj6 ^= r0andr1 2x,0 W14left3 = W14 << 3 r7Sigma0 = r7>>>28 ch6 ^= r5 r6 += r3Sigma1 4x X0 = X0 + mem256[&w + 72] r734 = r7>>>34 r5 += wc891011[2] r6 += ch6 r7Sigma0 ^= r734 r739 = r7>>>39 r2 += r6 1x,0 W14sigma1 ^= W14left3 2x,0 W14right6 = W14 unsigned>> 6 r7Sigma0 ^= r739 r6 += maj6 ch5 = r4 ch5 ^= r3 r6 += r7Sigma0 r2Sigma1 = r2>>>14 1x,0 W14sigma1 ^= W14right6 ch5 &= r2 r218 = r2>>>18 r241 = r2>>>41 4x X0 = W14sigma1 + X0 ch5 ^= r4 r2Sigma1 ^= r218 2x,0 W0right19 = X0 unsigned>> 19 r6Sigma0 = r6>>>28 r5 += ch5 2x,0 W0left45 = X0 << 45 r634 = r6>>>34 r2Sigma1 ^= r241 maj4 = r7 X5 = mem256[&w + 40] maj4 ^= r6 2x,0 W0right61 = X0 unsigned>> 61 1x,0 W0sigma1 = W0right19 ^ W0left45 r6Sigma0 ^= r634 1x,0 W0sigma1 ^= W0right61 r639 = r6>>>39 2x,0 W0left3 = X0 << 3 r6Sigma0 ^= r639 r5 += r2Sigma1 2x,0 W0right6 = X0 unsigned>> 6 1x,0 W0sigma1 ^= W0left3 r1 += r5 r6andr7 = r7 r6andr7 &= r6 r1Sigma1 = r1>>>14 r5 += r6Sigma0 1x,0 W0sigma1 ^= W0right6 maj5 = r0 maj5 &= maj4 W0sigma1 = W0sigma1[2,3,0,1] maj5 ^= r6andr7 ch4 = r3 4x X5right1 = X5 unsigned>> 1 ch4 ^= r2 r5 += maj5 r118 = r1>>>18 ch4 &= r1 maj4 &= r5 ch4 ^= r3 r4 += wc891011[3] r1Sigma1 ^= r118 r141 = r1>>>41 4x X0 = X0 + W0sigma1 r4 += ch4 maj4 ^= r6andr7 r5Sigma0 = r5>>>28 4x D0 = X0 + mem256[constants + 128] r1Sigma1 ^= r141 r534 = r5>>>34 mem256[&w + 128] = X0 r4 += r1Sigma1 r5Sigma0 ^= r534 r539 = r5>>>39 r3 += wc12131415[0] mem256[&w + 0] = X0 r0 += r4 r4 += maj4 r5Sigma0 ^= r539 constants += 128 wc0123 = D0 W2 = mem128[&w + 16],0 r4 += r5Sigma0 r0Sigma1 = r0>>>14 ch3 = r2 ch3 ^= r1 4x X5left63 = X5 << 63 r018 = r0>>>18 maj2 = r5 ch3 &= r0 maj2 ^= r4 r041 = r0>>>41 X5sigma0 = X5right1 ^ X5left63 r0Sigma1 ^= r018 ch3 ^= r2 4x X5right8 = X5 unsigned>> 8 r4Sigma0 = r4>>>28 r0Sigma1 ^= r041 r3 += ch3 r434 = r4>>>34 X5sigma0 = X5sigma0 ^ X5right8 r3 += r0Sigma1 maj3 = r6 maj3 &= maj2 r4Sigma0 ^= r434 r439 = r4>>>39 2x,0 W2right19 = W2 unsigned>> 19 4x X5left56 = X5 << 56 r7 += r3 r4Sigma0 ^= r439 r2 += wc12131415[1] r4andr5 = r5 r4andr5 &= r4 2x,0 W2left45 = W2 << 45 r3 += r4Sigma0 maj3 ^= r4andr5 ch2 = r1 ch2 ^= r0 2x,0 W2right61 = W2 unsigned>> 61 r7Sigma1 = r7>>>14 X5sigma0 = X5sigma0 ^ X5left56 r3 += maj3 4x X5right7 = X5 unsigned>> 7 r718 = r7>>>18 1x,0 W2sigma1 = W2right19 ^ W2left45 ch2 &= r7 r7Sigma1 ^= r718 X5sigma0 = X5sigma0 ^ X5right7 r741 = r7>>>41 maj2 &= r3 1x,0 W2sigma1 ^= W2right61 4x X4 = X4 + X5sigma0 r7Sigma1 ^= r741 maj2 ^= r4andr5 2x,0 W2left3 = W2 << 3 r3Sigma0 = r3>>>28 ch2 ^= r1 r2 += r7Sigma1 r334 = r3>>>34 4x X4 = X4 + mem256[&w + 104] r1 += wc12131415[2] r2 += ch2 r3Sigma0 ^= r334 r339 = r3>>>39 r6 += r2 1x,0 W2sigma1 ^= W2left3 2x,0 W2right6 = W2 unsigned>> 6 r3Sigma0 ^= r339 r2 += maj2 ch1 = r0 ch1 ^= r7 r2 += r3Sigma0 r6Sigma1 = r6>>>14 1x,0 W2sigma1 ^= W2right6 ch1 &= r6 r618 = r6>>>18 r641 = r6>>>41 4x X4 = W2sigma1 + X4 ch1 ^= r0 r6Sigma1 ^= r618 2x,0 W4right19 = X4 unsigned>> 19 r1 += ch1 r2Sigma0 = r2>>>28 2x,0 W4left45 = X4 << 45 r6Sigma1 ^= r641 r234 = r2>>>34 maj0 = r3 maj0 ^= r2 2x,0 W4right61 = X4 unsigned>> 61 X9 = mem256[&w + 72] r2Sigma0 ^= r234 1x,0 W4sigma1 = W4right19 ^ W4left45 r239 = r2>>>39 2x,0 W4left3 = X4 << 3 1x,0 W4sigma1 ^= W4right61 2x,0 W4right6 = X4 unsigned>> 6 r2Sigma0 ^= r239 r1 += r6Sigma1 1x,0 W4sigma1 ^= W4left3 r5 += r1 r2andr3 = r3 r5Sigma1 = r5>>>14 r2andr3 &= r2 1x,0 W4sigma1 ^= W4right6 r1 += r2Sigma0 maj1 = r4 maj1 &= maj0 W4sigma1 = W4sigma1[2,3,0,1] maj1 ^= r2andr3 ch0 = r7 4x X9right1 = X9 unsigned>> 1 ch0 ^= r6 r1 += maj1 ch0 &= r5 r518 = r5>>>18 maj0 &= r1 r0 += wc12131415[3] ch0 ^= r7 r5Sigma1 ^= r518 4x X4 = X4 + W4sigma1 r541 = r5>>>41 mem256[&w + 32] = X4 r0 += ch0 maj0 ^= r2andr3 r1Sigma0 = r1>>>28 4x D4 = X4 + mem256[constants + 32] wc4567 = D4 r5Sigma1 ^= r541 r134 = r1>>>34 r0 += r5Sigma1 r1Sigma0 ^= r134 r7 += wc0123[0] r139 = r1>>>39 r4 += r0 r0 += maj0 r1Sigma0 ^= r139 r4Sigma1 = r4>>>14 W6 = mem128[&w + 48],0 r0 += r1Sigma0 ch7 = r6 ch7 ^= r5 r418 = r4>>>18 4x X9left63 = X9 << 63 ch7 &= r4 maj6 = r1 maj6 ^= r0 r441 = r4>>>41 X9sigma0 = X9right1 ^ X9left63 r4Sigma1 ^= r418 4x X9right8 = X9 unsigned>> 8 ch7 ^= r6 r4Sigma1 ^= r441 r0Sigma0 = r0>>>28 r7 += ch7 X9sigma0 = X9sigma0 ^ X9right8 r7 += r4Sigma1 r034 = r0>>>34 maj7 = r2 maj7 &= maj6 r0Sigma0 ^= r034 2x,0 W6right19 = W6 unsigned>> 19 r039 = r0>>>39 r3 += r7 r0Sigma0 ^= r039 4x X9left56 = X9 << 56 r6 += wc0123[1] r0andr1 = r1 r0andr1 &= r0 r7 += r0Sigma0 ch6 = r5 2x,0 W6left45 = W6 << 45 maj7 ^= r0andr1 ch6 ^= r4 2x,0 W6right61 = W6 unsigned>> 61 r3Sigma1 = r3>>>14 r7 += maj7 X9sigma0 = X9sigma0 ^ X9left56 4x X9right7 = X9 unsigned>> 7 r318 = r3>>>18 1x,0 W6sigma1 = W6right19 ^ W6left45 ch6 &= r3 r3Sigma1 ^= r318 r341 = r3>>>41 X9sigma0 = X9sigma0 ^ X9right7 maj6 &= r7 1x,0 W6sigma1 ^= W6right61 4x X8 = X8 + X9sigma0 r3Sigma1 ^= r341 maj6 ^= r0andr1 2x,0 W6left3 = W6 << 3 r7Sigma0 = r7>>>28 ch6 ^= r5 r6 += r3Sigma1 4x X8 = X8 + mem256[&w + 8] r734 = r7>>>34 r5 += wc0123[2] r6 += ch6 r7Sigma0 ^= r734 1x,0 W6sigma1 ^= W6left3 r739 = r7>>>39 r2 += r6 r7Sigma0 ^= r739 ch5 = r4 2x,0 W6right6 = W6 unsigned>> 6 r6 += maj6 ch5 ^= r3 r6 += r7Sigma0 r2Sigma1 = r2>>>14 1x,0 W6sigma1 ^= W6right6 ch5 &= r2 r218 = r2>>>18 r241 = r2>>>41 4x X8 = W6sigma1 + X8 2x,0 W8right19 = X8 unsigned>> 19 ch5 ^= r4 r2Sigma1 ^= r218 r6Sigma0 = r6>>>28 r5 += ch5 2x,0 W8left45 = X8 << 45 r634 = r6>>>34 r2Sigma1 ^= r241 maj4 = r7 2x,0 W8right61 = X8 unsigned>> 61 maj4 ^= r6 r6Sigma0 ^= r634 1x,0 W8sigma1 = W8right19 ^ W8left45 r639 = r6>>>39 1x,0 W8sigma1 ^= W8right61 2x,0 W8left3 = X8 << 3 r6Sigma0 ^= r639 r5 += r2Sigma1 r1 += r5 2x,0 W8right6 = X8 unsigned>> 6 1x,0 W8sigma1 ^= W8left3 r6andr7 = r7 r6andr7 &= r6 r1Sigma1 = r1>>>14 1x,0 W8sigma1 ^= W8right6 r5 += r6Sigma0 maj5 = r0 maj5 &= maj4 W8sigma1 = W8sigma1[2,3,0,1] maj5 ^= r6andr7 ch4 = r3 ch4 ^= r2 X13 = mem256[&w + 104] 4x X13right1 = X13 unsigned>> 1 r5 += maj5 r118 = r1>>>18 ch4 &= r1 maj4 &= r5 ch4 ^= r3 r4 += wc0123[3] r1Sigma1 ^= r118 r141 = r1>>>41 4x X8 = X8 + W8sigma1 mem256[&w + 64] = X8 r4 += ch4 maj4 ^= r6andr7 r5Sigma0 = r5>>>28 4x D8 = X8 + mem256[constants + 64] wc891011 = D8 r534 = r5>>>34 r1Sigma1 ^= r141 r4 += r1Sigma1 r5Sigma0 ^= r534 r539 = r5>>>39 r3 += wc4567[0] r0 += r4 r4 += maj4 W10 = mem128[&w + 80],0 r5Sigma0 ^= r539 r0Sigma1 = r0>>>14 r4 += r5Sigma0 ch3 = r2 ch3 ^= r1 ch3 &= r0 4x X13left63 = X13 << 63 r018 = r0>>>18 maj2 = r5 maj2 ^= r4 X13sigma0 = X13right1 ^ X13left63 r041 = r0>>>41 r0Sigma1 ^= r018 ch3 ^= r2 4x X13right8 = X13 unsigned>> 8 r4Sigma0 = r4>>>28 r0Sigma1 ^= r041 r3 += ch3 r434 = r4>>>34 X13sigma0 = X13sigma0 ^ X13right8 r3 += r0Sigma1 maj3 = r6 maj3 &= maj2 2x,0 W10right19 = W10 unsigned>> 19 r4Sigma0 ^= r434 r7 += r3 r439 = r4>>>39 4x X13left56 = X13 << 56 r4Sigma0 ^= r439 r2 += wc4567[1] r4andr5 = r5 2x,0 W10left45 = W10 << 45 r4andr5 &= r4 r3 += r4Sigma0 maj3 ^= r4andr5 ch2 = r1 2x,0 W10right61 = W10 unsigned>> 61 ch2 ^= r0 X13sigma0 = X13sigma0 ^ X13left56 r7Sigma1 = r7>>>14 4x X13right7 = X13 unsigned>> 7 r3 += maj3 r718 = r7>>>18 1x,0 W10sigma1 = W10right19 ^ W10left45 ch2 &= r7 r7Sigma1 ^= r718 r741 = r7>>>41 X13sigma0 = X13sigma0 ^ X13right7 maj2 &= r3 1x,0 W10sigma1 ^= W10right61 4x X12 = X12 + X13sigma0 r7Sigma1 ^= r741 maj2 ^= r4andr5 2x,0 W10left3 = W10 << 3 r3Sigma0 = r3>>>28 ch2 ^= r1 r2 += r7Sigma1 r334 = r3>>>34 4x X12 = X12 + mem256[&w + 40] r1 += wc4567[2] r2 += ch2 1x,0 W10sigma1 ^= W10left3 r3Sigma0 ^= r334 r339 = r3>>>39 2x,0 W10right6 = W10 unsigned>> 6 r6 += r2 r3Sigma0 ^= r339 ch1 = r0 r2 += maj2 ch1 ^= r7 r2 += r3Sigma0 r6Sigma1 = r6>>>14 1x,0 W10sigma1 ^= W10right6 ch1 &= r6 r618 = r6>>>18 ch1 ^= r0 4x X12 = W10sigma1 + X12 r641 = r6>>>41 2x,0 W12right19 = X12 unsigned>> 19 r6Sigma1 ^= r618 r1 += ch1 r2Sigma0 = r2>>>28 2x,0 W12left45 = X12 << 45 r6Sigma1 ^= r641 r234 = r2>>>34 maj0 = r3 maj0 ^= r2 r2Sigma0 ^= r234 2x,0 W12right61 = X12 unsigned>> 61 r239 = r2>>>39 1x,0 W12sigma1 = W12right19 ^ W12left45 2x,0 W12left3 = X12 << 3 1x,0 W12sigma1 ^= W12right61 r2Sigma0 ^= r239 r1 += r6Sigma1 2x,0 W12right6 = X12 unsigned>> 6 r5 += r1 1x,0 W12sigma1 ^= W12left3 r2andr3 = r3 r2andr3 &= r2 r5Sigma1 = r5>>>14 r1 += r2Sigma0 1x,0 W12sigma1 ^= W12right6 maj1 = r4 maj1 &= maj0 W12sigma1 = W12sigma1[2,3,0,1] maj1 ^= r2andr3 ch0 = r7 ch0 ^= r6 r1 += maj1 ch0 &= r5 r518 = r5>>>18 maj0 &= r1 r0 += wc4567[3] ch0 ^= r7 r5Sigma1 ^= r518 r541 = r5>>>41 4x X12 = X12 + W12sigma1 r0 += ch0 mem256[&w + 96] = X12 maj0 ^= r2andr3 r1Sigma0 = r1>>>28 4x D12 = X12 + mem256[constants + 96] wc12131415 = D12 r5Sigma1 ^= r541 r134 = r1>>>34 r0 += r5Sigma1 r1Sigma0 ^= r134 r139 = r1>>>39 r4 += r0 r0 += maj0 r1Sigma0 ^= r139 r0 += r1Sigma0 =? i -= 1 goto innerloop if != #include "round89.q" in = in_stack #include "round1011.q" inlen = inlen_stack in += 128 #include "round1213.q" inlen -= 128 #include "round1415.q" inlen_stack = inlen r7 += state4567[3] r3 += state0123[3] r6 += state4567[2] r2 += state0123[2] r5 += state4567[1] r1 += state0123[1] r4 += state4567[0] constants = constants_stack # or: constants -= 512 r0 += state0123[0] unsigned<? inlen - 128 goto outerloop if !unsigned< inplace state4567[2] = r6 inplace state4567[3] = r7 inplace state0123[2] = r2 inplace state4567[0] = r4 inplace state0123[3] = r3 inplace state4567[1] = r5 inplace state0123[0] = r0 inplace state0123[1] = r1 statebytes = statebytes_stack X0 = state0123 X4 = state4567 2x 16x X0 = X0[bigendian64] 2x 16x X4 = X4[bigendian64] mem256[statebytes+0] = X0 mem256[statebytes+32] = X4 vzeroupper caller_r11 = r11_stack caller_r12 = r12_stack caller_r14 = r14_stack caller_r13 = r13_stack caller_r15 = r15_stack caller_rbx = rbx_stack caller_rbp = rbp_stack return inlen