# qhasm: int64 workp # qhasm: input workp # qhasm: int64 caller1 # qhasm: int64 caller2 # qhasm: int64 caller3 # qhasm: int64 caller4 # qhasm: int64 caller5 # qhasm: int64 caller6 # qhasm: int64 caller7 # qhasm: caller caller1 # qhasm: caller caller2 # qhasm: caller caller3 # qhasm: caller caller4 # qhasm: caller caller5 # qhasm: caller caller6 # qhasm: caller caller7 # qhasm: stack64 caller1_stack # qhasm: stack64 caller2_stack # qhasm: stack64 caller3_stack # qhasm: stack64 caller4_stack # qhasm: stack64 caller5_stack # qhasm: stack64 caller6_stack # qhasm: stack64 caller7_stack # qhasm: int64 t10 # qhasm: int64 t11 # qhasm: int64 t12 # qhasm: int64 t13 # qhasm: int64 t14 # qhasm: stack64 t10_stack # qhasm: stack64 t11_stack # qhasm: stack64 t12_stack # qhasm: stack64 t13_stack # qhasm: stack64 t14_stack # qhasm: int64 t20 # qhasm: int64 t21 # qhasm: int64 t22 # qhasm: int64 t23 # qhasm: int64 t24 # qhasm: stack64 t20_stack # qhasm: stack64 t21_stack # qhasm: stack64 t22_stack # qhasm: stack64 t23_stack # qhasm: stack64 t24_stack # qhasm: int64 t30 # qhasm: int64 t31 # qhasm: int64 t32 # qhasm: int64 t33 # qhasm: int64 t34 # qhasm: stack64 t30_stack # qhasm: stack64 t31_stack # qhasm: stack64 t32_stack # qhasm: stack64 t33_stack # qhasm: stack64 t34_stack # qhasm: int64 t40 # qhasm: int64 t41 # qhasm: int64 t42 # qhasm: int64 t43 # qhasm: int64 t44 # qhasm: stack64 t40_stack # qhasm: stack64 t41_stack # qhasm: stack64 t42_stack # qhasm: stack64 t43_stack # qhasm: stack64 t44_stack # qhasm: int64 t50 # qhasm: int64 t51 # qhasm: int64 t52 # qhasm: int64 t53 # qhasm: int64 t54 # qhasm: stack64 t50_stack # qhasm: stack64 t51_stack # qhasm: stack64 t52_stack # qhasm: stack64 t53_stack # qhasm: stack64 t54_stack # qhasm: int64 t60 # qhasm: int64 t61 # qhasm: int64 t62 # qhasm: int64 t63 # qhasm: int64 t64 # qhasm: stack64 t60_stack # qhasm: stack64 t61_stack # qhasm: stack64 t62_stack # qhasm: stack64 t63_stack # qhasm: stack64 t64_stack # qhasm: int64 t70 # qhasm: int64 t71 # qhasm: int64 t72 # qhasm: int64 t73 # qhasm: int64 t74 # qhasm: stack64 t70_stack # qhasm: stack64 t71_stack # qhasm: stack64 t72_stack # qhasm: stack64 t73_stack # qhasm: stack64 t74_stack # qhasm: int64 t80 # qhasm: int64 t81 # qhasm: int64 t82 # qhasm: int64 t83 # qhasm: int64 t84 # qhasm: stack64 t80_stack # qhasm: stack64 t81_stack # qhasm: stack64 t82_stack # qhasm: stack64 t83_stack # qhasm: stack64 t84_stack # qhasm: int64 t90 # qhasm: int64 t91 # qhasm: int64 t92 # qhasm: int64 t93 # qhasm: int64 t94 # qhasm: stack64 t90_stack # qhasm: stack64 t91_stack # qhasm: stack64 t92_stack # qhasm: stack64 t93_stack # qhasm: stack64 t94_stack # qhasm: int64 xp0 # qhasm: int64 xp1 # qhasm: int64 xp2 # qhasm: int64 xp3 # qhasm: int64 xp4 # qhasm: int64 zp0 # qhasm: int64 zp1 # qhasm: int64 zp2 # qhasm: int64 zp3 # qhasm: int64 zp4 # qhasm: int64 xq0 # qhasm: int64 xq1 # qhasm: int64 xq2 # qhasm: int64 xq3 # qhasm: int64 xq4 # qhasm: int64 zq0 # qhasm: int64 zq1 # qhasm: int64 zq2 # qhasm: int64 zq3 # qhasm: int64 zq4 # qhasm: int64 mulr01 # qhasm: int64 mulr11 # qhasm: int64 mulr21 # qhasm: int64 mulr31 # qhasm: int64 mulr41 # qhasm: int64 mulrax # qhasm: int64 mulrdx # qhasm: int64 mult # qhasm: int64 mulredmask # qhasm: stack64 mulx219_stack # qhasm: stack64 mulx319_stack # qhasm: stack64 mulx419_stack # qhasm: int64 squarer01 # qhasm: int64 squarer11 # qhasm: int64 squarer21 # qhasm: int64 squarer31 # qhasm: int64 squarer41 # qhasm: int64 squarerax # qhasm: int64 squarerdx # qhasm: int64 squaret # qhasm: int64 squareredmask # qhasm: int64 mul121666rax # qhasm: int64 mul121666rdx # qhasm: enter crypto_scalarmult_curve25519_amd64_51_ladderstep .text .p2align 5 .globl _crypto_scalarmult_curve25519_amd64_51_ladderstep .globl crypto_scalarmult_curve25519_amd64_51_ladderstep _crypto_scalarmult_curve25519_amd64_51_ladderstep: crypto_scalarmult_curve25519_amd64_51_ladderstep: mov %rsp,%r11 and $31,%r11 add $352,%r11 sub %r11,%rsp # qhasm: caller1_stack = caller1 # asm 1: movq caller1_stack=stack64#1 # asm 2: movq caller1_stack=0(%rsp) movq %r11,0(%rsp) # qhasm: caller2_stack = caller2 # asm 1: movq caller2_stack=stack64#2 # asm 2: movq caller2_stack=8(%rsp) movq %r12,8(%rsp) # qhasm: caller3_stack = caller3 # asm 1: movq caller3_stack=stack64#3 # asm 2: movq caller3_stack=16(%rsp) movq %r13,16(%rsp) # qhasm: caller4_stack = caller4 # asm 1: movq caller4_stack=stack64#4 # asm 2: movq caller4_stack=24(%rsp) movq %r14,24(%rsp) # qhasm: caller5_stack = caller5 # asm 1: movq caller5_stack=stack64#5 # asm 2: movq caller5_stack=32(%rsp) movq %r15,32(%rsp) # qhasm: caller6_stack = caller6 # asm 1: movq caller6_stack=stack64#6 # asm 2: movq caller6_stack=40(%rsp) movq %rbx,40(%rsp) # qhasm: caller7_stack = caller7 # asm 1: movq caller7_stack=stack64#7 # asm 2: movq caller7_stack=48(%rsp) movq %rbp,48(%rsp) # qhasm: t10 = *(uint64 *)(workp + 40) # asm 1: movq 40(t10=int64#2 # asm 2: movq 40(t10=%rsi movq 40(%rdi),%rsi # qhasm: t11 = *(uint64 *)(workp + 48) # asm 1: movq 48(t11=int64#3 # asm 2: movq 48(t11=%rdx movq 48(%rdi),%rdx # qhasm: t12 = *(uint64 *)(workp + 56) # asm 1: movq 56(t12=int64#4 # asm 2: movq 56(t12=%rcx movq 56(%rdi),%rcx # qhasm: t13 = *(uint64 *)(workp + 64) # asm 1: movq 64(t13=int64#5 # asm 2: movq 64(t13=%r8 movq 64(%rdi),%r8 # qhasm: t14 = *(uint64 *)(workp + 72) # asm 1: movq 72(t14=int64#6 # asm 2: movq 72(t14=%r9 movq 72(%rdi),%r9 # qhasm: t20 = t10 # asm 1: mov t20=int64#7 # asm 2: mov t20=%rax mov %rsi,%rax # qhasm: t21 = t11 # asm 1: mov t21=int64#8 # asm 2: mov t21=%r10 mov %rdx,%r10 # qhasm: t22 = t12 # asm 1: mov t22=int64#9 # asm 2: mov t22=%r11 mov %rcx,%r11 # qhasm: t23 = t13 # asm 1: mov t23=int64#10 # asm 2: mov t23=%r12 mov %r8,%r12 # qhasm: t24 = t14 # asm 1: mov t24=int64#11 # asm 2: mov t24=%r13 mov %r9,%r13 # qhasm: t20 += *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_2P0 # asm 1: add crypto_scalarmult_curve25519_amd64_51_2P0,t10_stack=stack64#8 # asm 2: movq t10_stack=56(%rsp) movq %rsi,56(%rsp) # qhasm: t11_stack = t11 # asm 1: movq t11_stack=stack64#9 # asm 2: movq t11_stack=64(%rsp) movq %rdx,64(%rsp) # qhasm: t12_stack = t12 # asm 1: movq t12_stack=stack64#10 # asm 2: movq t12_stack=72(%rsp) movq %rcx,72(%rsp) # qhasm: t13_stack = t13 # asm 1: movq t13_stack=stack64#11 # asm 2: movq t13_stack=80(%rsp) movq %r8,80(%rsp) # qhasm: t14_stack = t14 # asm 1: movq t14_stack=stack64#12 # asm 2: movq t14_stack=88(%rsp) movq %r9,88(%rsp) # qhasm: t20_stack = t20 # asm 1: movq t20_stack=stack64#13 # asm 2: movq t20_stack=96(%rsp) movq %rax,96(%rsp) # qhasm: t21_stack = t21 # asm 1: movq t21_stack=stack64#14 # asm 2: movq t21_stack=104(%rsp) movq %r10,104(%rsp) # qhasm: t22_stack = t22 # asm 1: movq t22_stack=stack64#15 # asm 2: movq t22_stack=112(%rsp) movq %r11,112(%rsp) # qhasm: t23_stack = t23 # asm 1: movq t23_stack=stack64#16 # asm 2: movq t23_stack=120(%rsp) movq %r12,120(%rsp) # qhasm: t24_stack = t24 # asm 1: movq t24_stack=stack64#17 # asm 2: movq t24_stack=128(%rsp) movq %r13,128(%rsp) # qhasm: squarerax = t20_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 96(%rsp),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t20_stack # asm 1: mulq t70=int64#2 # asm 2: mov t70=%rsi mov %rax,%rsi # qhasm: squarer01 = squarerdx # asm 1: mov squarer01=int64#4 # asm 2: mov squarer01=%rcx mov %rdx,%rcx # qhasm: squarerax = t20_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 96(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t71=int64#5 # asm 2: mov t71=%r8 mov %rax,%r8 # qhasm: squarer11 = squarerdx # asm 1: mov squarer11=int64#6 # asm 2: mov squarer11=%r9 mov %rdx,%r9 # qhasm: squarerax = t20_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 96(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t72=int64#8 # asm 2: mov t72=%r10 mov %rax,%r10 # qhasm: squarer21 = squarerdx # asm 1: mov squarer21=int64#9 # asm 2: mov squarer21=%r11 mov %rdx,%r11 # qhasm: squarerax = t20_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 96(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t73=int64#10 # asm 2: mov t73=%r12 mov %rax,%r12 # qhasm: squarer31 = squarerdx # asm 1: mov squarer31=int64#11 # asm 2: mov squarer31=%r13 mov %rdx,%r13 # qhasm: squarerax = t20_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 96(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t74=int64#12 # asm 2: mov t74=%r14 mov %rax,%r14 # qhasm: squarer41 = squarerdx # asm 1: mov squarer41=int64#13 # asm 2: mov squarer41=%r15 mov %rdx,%r15 # qhasm: squarerax = t21_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 104(%rsp),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t21_stack # asm 1: mulq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 104(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#7 # asm 2: movq squarerax=%rax movq 104(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 104(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t24_stack # asm 1: mulq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 112(%rsp),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t22_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 112(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t23_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 112(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t24_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 120(%rsp),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t23_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 120(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t24_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 128(%rsp),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t24_stack # asm 1: mulq squareredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>squareredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: squarer01 = (squarer01.t70) << 13 # asm 1: shld $13,squarer41=int64#4 # asm 2: imulq $19,squarer41=%rcx imulq $19,%r15,%rcx # qhasm: t70 += squarer41 # asm 1: add squaret=int64#4 # asm 2: mov squaret=%rcx mov %rsi,%rcx # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t71=int64#5 # asm 2: mov t71=%r8 mov %rcx,%r8 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t72=int64#6 # asm 2: mov t72=%r9 mov %rcx,%r9 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t73=int64#7 # asm 2: mov t73=%rax mov %rcx,%rax # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t74=int64#8 # asm 2: mov t74=%r10 mov %rcx,%r10 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,squaret=int64#4 # asm 2: imulq $19,squaret=%rcx imulq $19,%rcx,%rcx # qhasm: t70 += squaret # asm 1: add t70_stack=stack64#18 # asm 2: movq t70_stack=136(%rsp) movq %rsi,136(%rsp) # qhasm: t71_stack = t71 # asm 1: movq t71_stack=stack64#19 # asm 2: movq t71_stack=144(%rsp) movq %r8,144(%rsp) # qhasm: t72_stack = t72 # asm 1: movq t72_stack=stack64#20 # asm 2: movq t72_stack=152(%rsp) movq %r9,152(%rsp) # qhasm: t73_stack = t73 # asm 1: movq t73_stack=stack64#21 # asm 2: movq t73_stack=160(%rsp) movq %rax,160(%rsp) # qhasm: t74_stack = t74 # asm 1: movq t74_stack=stack64#22 # asm 2: movq t74_stack=168(%rsp) movq %r10,168(%rsp) # qhasm: squarerax = t10_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 56(%rsp),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t10_stack # asm 1: mulq t60=int64#2 # asm 2: mov t60=%rsi mov %rax,%rsi # qhasm: squarer01 = squarerdx # asm 1: mov squarer01=int64#4 # asm 2: mov squarer01=%rcx mov %rdx,%rcx # qhasm: squarerax = t10_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 56(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t61=int64#5 # asm 2: mov t61=%r8 mov %rax,%r8 # qhasm: squarer11 = squarerdx # asm 1: mov squarer11=int64#6 # asm 2: mov squarer11=%r9 mov %rdx,%r9 # qhasm: squarerax = t10_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 56(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t62=int64#8 # asm 2: mov t62=%r10 mov %rax,%r10 # qhasm: squarer21 = squarerdx # asm 1: mov squarer21=int64#9 # asm 2: mov squarer21=%r11 mov %rdx,%r11 # qhasm: squarerax = t10_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 56(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t63=int64#10 # asm 2: mov t63=%r12 mov %rax,%r12 # qhasm: squarer31 = squarerdx # asm 1: mov squarer31=int64#11 # asm 2: mov squarer31=%r13 mov %rdx,%r13 # qhasm: squarerax = t10_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 56(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,t64=int64#12 # asm 2: mov t64=%r14 mov %rax,%r14 # qhasm: squarer41 = squarerdx # asm 1: mov squarer41=int64#13 # asm 2: mov squarer41=%r15 mov %rdx,%r15 # qhasm: squarerax = t11_stack # asm 1: movq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 64(%rsp),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t11_stack # asm 1: mulq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 64(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#7 # asm 2: movq squarerax=%rax movq 64(%rsp),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 64(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t14_stack # asm 1: mulq squarerax=int64#7 # asm 2: movq squarerax=%rax movq 72(%rsp),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t12_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 72(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t13_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 72(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t14_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 80(%rsp),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t13_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 80(%rsp),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t14_stack # asm 1: mulq squarerax=int64#3 # asm 2: movq squarerax=%rdx movq 88(%rsp),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * t14_stack # asm 1: mulq squareredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>squareredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: squarer01 = (squarer01.t60) << 13 # asm 1: shld $13,squarer41=int64#4 # asm 2: imulq $19,squarer41=%rcx imulq $19,%r15,%rcx # qhasm: t60 += squarer41 # asm 1: add squaret=int64#4 # asm 2: mov squaret=%rcx mov %rsi,%rcx # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t61=int64#5 # asm 2: mov t61=%r8 mov %rcx,%r8 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t62=int64#6 # asm 2: mov t62=%r9 mov %rcx,%r9 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t63=int64#7 # asm 2: mov t63=%rax mov %rcx,%rax # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,t64=int64#8 # asm 2: mov t64=%r10 mov %rcx,%r10 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,squaret=int64#4 # asm 2: imulq $19,squaret=%rcx imulq $19,%rcx,%rcx # qhasm: t60 += squaret # asm 1: add t60_stack=stack64#23 # asm 2: movq t60_stack=176(%rsp) movq %rsi,176(%rsp) # qhasm: t61_stack = t61 # asm 1: movq t61_stack=stack64#24 # asm 2: movq t61_stack=184(%rsp) movq %r8,184(%rsp) # qhasm: t62_stack = t62 # asm 1: movq t62_stack=stack64#25 # asm 2: movq t62_stack=192(%rsp) movq %r9,192(%rsp) # qhasm: t63_stack = t63 # asm 1: movq t63_stack=stack64#26 # asm 2: movq t63_stack=200(%rsp) movq %rax,200(%rsp) # qhasm: t64_stack = t64 # asm 1: movq t64_stack=stack64#27 # asm 2: movq t64_stack=208(%rsp) movq %r10,208(%rsp) # qhasm: t50 = t60 # asm 1: mov t50=int64#2 # asm 2: mov t50=%rsi mov %rsi,%rsi # qhasm: t51 = t61 # asm 1: mov t51=int64#3 # asm 2: mov t51=%rdx mov %r8,%rdx # qhasm: t52 = t62 # asm 1: mov t52=int64#4 # asm 2: mov t52=%rcx mov %r9,%rcx # qhasm: t53 = t63 # asm 1: mov t53=int64#5 # asm 2: mov t53=%r8 mov %rax,%r8 # qhasm: t54 = t64 # asm 1: mov t54=int64#6 # asm 2: mov t54=%r9 mov %r10,%r9 # qhasm: t50 += *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_2P0 # asm 1: add crypto_scalarmult_curve25519_amd64_51_2P0,t50_stack=stack64#28 # asm 2: movq t50_stack=216(%rsp) movq %rsi,216(%rsp) # qhasm: t51_stack = t51 # asm 1: movq t51_stack=stack64#29 # asm 2: movq t51_stack=224(%rsp) movq %rdx,224(%rsp) # qhasm: t52_stack = t52 # asm 1: movq t52_stack=stack64#30 # asm 2: movq t52_stack=232(%rsp) movq %rcx,232(%rsp) # qhasm: t53_stack = t53 # asm 1: movq t53_stack=stack64#31 # asm 2: movq t53_stack=240(%rsp) movq %r8,240(%rsp) # qhasm: t54_stack = t54 # asm 1: movq t54_stack=stack64#32 # asm 2: movq t54_stack=248(%rsp) movq %r9,248(%rsp) # qhasm: t30 = *(uint64 *)(workp + 120) # asm 1: movq 120(t30=int64#2 # asm 2: movq 120(t30=%rsi movq 120(%rdi),%rsi # qhasm: t31 = *(uint64 *)(workp + 128) # asm 1: movq 128(t31=int64#3 # asm 2: movq 128(t31=%rdx movq 128(%rdi),%rdx # qhasm: t32 = *(uint64 *)(workp + 136) # asm 1: movq 136(t32=int64#4 # asm 2: movq 136(t32=%rcx movq 136(%rdi),%rcx # qhasm: t33 = *(uint64 *)(workp + 144) # asm 1: movq 144(t33=int64#5 # asm 2: movq 144(t33=%r8 movq 144(%rdi),%r8 # qhasm: t34 = *(uint64 *)(workp + 152) # asm 1: movq 152(t34=int64#6 # asm 2: movq 152(t34=%r9 movq 152(%rdi),%r9 # qhasm: t40 = t30 # asm 1: mov t40=int64#7 # asm 2: mov t40=%rax mov %rsi,%rax # qhasm: t41 = t31 # asm 1: mov t41=int64#8 # asm 2: mov t41=%r10 mov %rdx,%r10 # qhasm: t42 = t32 # asm 1: mov t42=int64#9 # asm 2: mov t42=%r11 mov %rcx,%r11 # qhasm: t43 = t33 # asm 1: mov t43=int64#10 # asm 2: mov t43=%r12 mov %r8,%r12 # qhasm: t44 = t34 # asm 1: mov t44=int64#11 # asm 2: mov t44=%r13 mov %r9,%r13 # qhasm: t40 += *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_2P0 # asm 1: add crypto_scalarmult_curve25519_amd64_51_2P0,t30_stack=stack64#33 # asm 2: movq t30_stack=256(%rsp) movq %rsi,256(%rsp) # qhasm: t31_stack = t31 # asm 1: movq t31_stack=stack64#34 # asm 2: movq t31_stack=264(%rsp) movq %rdx,264(%rsp) # qhasm: t32_stack = t32 # asm 1: movq t32_stack=stack64#35 # asm 2: movq t32_stack=272(%rsp) movq %rcx,272(%rsp) # qhasm: t33_stack = t33 # asm 1: movq t33_stack=stack64#36 # asm 2: movq t33_stack=280(%rsp) movq %r8,280(%rsp) # qhasm: t34_stack = t34 # asm 1: movq t34_stack=stack64#37 # asm 2: movq t34_stack=288(%rsp) movq %r9,288(%rsp) # qhasm: t40_stack = t40 # asm 1: movq t40_stack=stack64#38 # asm 2: movq t40_stack=296(%rsp) movq %rax,296(%rsp) # qhasm: t41_stack = t41 # asm 1: movq t41_stack=stack64#39 # asm 2: movq t41_stack=304(%rsp) movq %r10,304(%rsp) # qhasm: t42_stack = t42 # asm 1: movq t42_stack=stack64#40 # asm 2: movq t42_stack=312(%rsp) movq %r11,312(%rsp) # qhasm: t43_stack = t43 # asm 1: movq t43_stack=stack64#41 # asm 2: movq t43_stack=320(%rsp) movq %r12,320(%rsp) # qhasm: t44_stack = t44 # asm 1: movq t44_stack=stack64#42 # asm 2: movq t44_stack=328(%rsp) movq %r13,328(%rsp) # qhasm: mulrax = t33_stack # asm 1: movq mulrax=int64#2 # asm 2: movq mulrax=%rsi movq 280(%rsp),%rsi # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rsi,%rax # qhasm: mulx319_stack = mulrax # asm 1: movq mulx319_stack=stack64#43 # asm 2: movq mulx319_stack=336(%rsp) movq %rax,336(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t22_stack # asm 1: mulq t90=int64#2 # asm 2: mov t90=%rsi mov %rax,%rsi # qhasm: mulr01 = mulrdx # asm 1: mov mulr01=int64#4 # asm 2: mov mulr01=%rcx mov %rdx,%rcx # qhasm: mulrax = t34_stack # asm 1: movq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 288(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: mulx419_stack = mulrax # asm 1: movq mulx419_stack=stack64#44 # asm 2: movq mulx419_stack=344(%rsp) movq %rax,344(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t21_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t20_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t21_stack # asm 1: mulq t91=int64#5 # asm 2: mov t91=%r8 mov %rax,%r8 # qhasm: mulr11 = mulrdx # asm 1: mov mulr11=int64#6 # asm 2: mov mulr11=%r9 mov %rdx,%r9 # qhasm: mulrax = t30_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t22_stack # asm 1: mulq t92=int64#8 # asm 2: mov t92=%r10 mov %rax,%r10 # qhasm: mulr21 = mulrdx # asm 1: mov mulr21=int64#9 # asm 2: mov mulr21=%r11 mov %rdx,%r11 # qhasm: mulrax = t30_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t23_stack # asm 1: mulq t93=int64#10 # asm 2: mov t93=%r12 mov %rax,%r12 # qhasm: mulr31 = mulrdx # asm 1: mov mulr31=int64#11 # asm 2: mov mulr31=%r13 mov %rdx,%r13 # qhasm: mulrax = t30_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t24_stack # asm 1: mulq t94=int64#12 # asm 2: mov t94=%r14 mov %rax,%r14 # qhasm: mulr41 = mulrdx # asm 1: mov mulr41=int64#13 # asm 2: mov mulr41=%r15 mov %rdx,%r15 # qhasm: mulrax = t31_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t20_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t21_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t22_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t23_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 264(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t24_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 272(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t20_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 272(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t21_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 272(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t22_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 272(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t23_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 272(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t24_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 280(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t20_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 280(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t21_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 336(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t23_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 336(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t24_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 288(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t20_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 344(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t22_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 344(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t23_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 344(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t24_stack # asm 1: mulq mulredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>mulredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: mulr01 = (mulr01.t90) << 13 # asm 1: shld $13,mulr41=int64#4 # asm 2: imulq $19,mulr41=%rcx imulq $19,%r15,%rcx # qhasm: t90 += mulr41 # asm 1: add mult=int64#4 # asm 2: mov mult=%rcx mov %rsi,%rcx # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t91=int64#5 # asm 2: mov t91=%r8 mov %rcx,%r8 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t92=int64#6 # asm 2: mov t92=%r9 mov %rcx,%r9 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t93=int64#7 # asm 2: mov t93=%rax mov %rcx,%rax # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t94=int64#8 # asm 2: mov t94=%r10 mov %rcx,%r10 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,mult=int64#4 # asm 2: imulq $19,mult=%rcx imulq $19,%rcx,%rcx # qhasm: t90 += mult # asm 1: add t90_stack=stack64#13 # asm 2: movq t90_stack=96(%rsp) movq %rsi,96(%rsp) # qhasm: t91_stack = t91 # asm 1: movq t91_stack=stack64#14 # asm 2: movq t91_stack=104(%rsp) movq %r8,104(%rsp) # qhasm: t92_stack = t92 # asm 1: movq t92_stack=stack64#15 # asm 2: movq t92_stack=112(%rsp) movq %r9,112(%rsp) # qhasm: t93_stack = t93 # asm 1: movq t93_stack=stack64#16 # asm 2: movq t93_stack=120(%rsp) movq %rax,120(%rsp) # qhasm: t94_stack = t94 # asm 1: movq t94_stack=stack64#17 # asm 2: movq t94_stack=128(%rsp) movq %r10,128(%rsp) # qhasm: mulrax = t43_stack # asm 1: movq mulrax=int64#2 # asm 2: movq mulrax=%rsi movq 320(%rsp),%rsi # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rsi,%rax # qhasm: mulx319_stack = mulrax # asm 1: movq mulx319_stack=stack64#33 # asm 2: movq mulx319_stack=256(%rsp) movq %rax,256(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t12_stack # asm 1: mulq t80=int64#2 # asm 2: mov t80=%rsi mov %rax,%rsi # qhasm: mulr01 = mulrdx # asm 1: mov mulr01=int64#4 # asm 2: mov mulr01=%rcx mov %rdx,%rcx # qhasm: mulrax = t44_stack # asm 1: movq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 328(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: mulx419_stack = mulrax # asm 1: movq mulx419_stack=stack64#34 # asm 2: movq mulx419_stack=264(%rsp) movq %rax,264(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t11_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 296(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t10_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 296(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t11_stack # asm 1: mulq t81=int64#5 # asm 2: mov t81=%r8 mov %rax,%r8 # qhasm: mulr11 = mulrdx # asm 1: mov mulr11=int64#6 # asm 2: mov mulr11=%r9 mov %rdx,%r9 # qhasm: mulrax = t40_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 296(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t12_stack # asm 1: mulq t82=int64#8 # asm 2: mov t82=%r10 mov %rax,%r10 # qhasm: mulr21 = mulrdx # asm 1: mov mulr21=int64#9 # asm 2: mov mulr21=%r11 mov %rdx,%r11 # qhasm: mulrax = t40_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 296(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t13_stack # asm 1: mulq t83=int64#10 # asm 2: mov t83=%r12 mov %rax,%r12 # qhasm: mulr31 = mulrdx # asm 1: mov mulr31=int64#11 # asm 2: mov mulr31=%r13 mov %rdx,%r13 # qhasm: mulrax = t40_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 296(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t14_stack # asm 1: mulq t84=int64#12 # asm 2: mov t84=%r14 mov %rax,%r14 # qhasm: mulr41 = mulrdx # asm 1: mov mulr41=int64#13 # asm 2: mov mulr41=%r15 mov %rdx,%r15 # qhasm: mulrax = t41_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 304(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t10_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 304(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t11_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 304(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t12_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 304(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t13_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 304(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t14_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 312(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t10_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 312(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t11_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 312(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t12_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 312(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t13_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 312(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t14_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 320(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t10_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 320(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t11_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t13_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 256(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t14_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 328(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t10_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t12_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t13_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 264(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t14_stack # asm 1: mulq mulredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>mulredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: mulr01 = (mulr01.t80) << 13 # asm 1: shld $13,mulr41=int64#4 # asm 2: imulq $19,mulr41=%rcx imulq $19,%r15,%rcx # qhasm: t80 += mulr41 # asm 1: add mult=int64#4 # asm 2: mov mult=%rcx mov %rsi,%rcx # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t81=int64#5 # asm 2: mov t81=%r8 mov %rcx,%r8 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t82=int64#6 # asm 2: mov t82=%r9 mov %rcx,%r9 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t83=int64#7 # asm 2: mov t83=%rax mov %rcx,%rax # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,t84=int64#8 # asm 2: mov t84=%r10 mov %rcx,%r10 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,mult=int64#4 # asm 2: imulq $19,mult=%rcx imulq $19,%rcx,%rcx # qhasm: t80 += mult # asm 1: add zq0=int64#3 # asm 2: mov zq0=%rdx mov %rsi,%rdx # qhasm: zq1 = t81 # asm 1: mov zq1=int64#4 # asm 2: mov zq1=%rcx mov %r8,%rcx # qhasm: zq2 = t82 # asm 1: mov zq2=int64#9 # asm 2: mov zq2=%r11 mov %r9,%r11 # qhasm: zq3 = t83 # asm 1: mov zq3=int64#10 # asm 2: mov zq3=%r12 mov %rax,%r12 # qhasm: zq4 = t84 # asm 1: mov zq4=int64#11 # asm 2: mov zq4=%r13 mov %r10,%r13 # qhasm: zq0 += *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_2P0 # asm 1: add crypto_scalarmult_curve25519_amd64_51_2P0,squarerax=int64#7 # asm 2: movq 120(squarerax=%rax movq 120(%rdi),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 120) # asm 1: mulq 120(xq0=int64#2 # asm 2: mov xq0=%rsi mov %rax,%rsi # qhasm: squarer01 = squarerdx # asm 1: mov squarer01=int64#4 # asm 2: mov squarer01=%rcx mov %rdx,%rcx # qhasm: squarerax = *(uint64 *)(workp + 120) # asm 1: movq 120(squarerax=int64#7 # asm 2: movq 120(squarerax=%rax movq 120(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,xq1=int64#5 # asm 2: mov xq1=%r8 mov %rax,%r8 # qhasm: squarer11 = squarerdx # asm 1: mov squarer11=int64#6 # asm 2: mov squarer11=%r9 mov %rdx,%r9 # qhasm: squarerax = *(uint64 *)(workp + 120) # asm 1: movq 120(squarerax=int64#7 # asm 2: movq 120(squarerax=%rax movq 120(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,xq2=int64#8 # asm 2: mov xq2=%r10 mov %rax,%r10 # qhasm: squarer21 = squarerdx # asm 1: mov squarer21=int64#9 # asm 2: mov squarer21=%r11 mov %rdx,%r11 # qhasm: squarerax = *(uint64 *)(workp + 120) # asm 1: movq 120(squarerax=int64#7 # asm 2: movq 120(squarerax=%rax movq 120(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,xq3=int64#10 # asm 2: mov xq3=%r12 mov %rax,%r12 # qhasm: squarer31 = squarerdx # asm 1: mov squarer31=int64#11 # asm 2: mov squarer31=%r13 mov %rdx,%r13 # qhasm: squarerax = *(uint64 *)(workp + 120) # asm 1: movq 120(squarerax=int64#7 # asm 2: movq 120(squarerax=%rax movq 120(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,xq4=int64#12 # asm 2: mov xq4=%r14 mov %rax,%r14 # qhasm: squarer41 = squarerdx # asm 1: mov squarer41=int64#13 # asm 2: mov squarer41=%r15 mov %rdx,%r15 # qhasm: squarerax = *(uint64 *)(workp + 128) # asm 1: movq 128(squarerax=int64#7 # asm 2: movq 128(squarerax=%rax movq 128(%rdi),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 128) # asm 1: mulq 128(squarerax=int64#7 # asm 2: movq 128(squarerax=%rax movq 128(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#7 # asm 2: movq 128(squarerax=%rax movq 128(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#3 # asm 2: movq 128(squarerax=%rdx movq 128(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 152) # asm 1: mulq 152(squarerax=int64#7 # asm 2: movq 136(squarerax=%rax movq 136(%rdi),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 136) # asm 1: mulq 136(squarerax=int64#3 # asm 2: movq 136(squarerax=%rdx movq 136(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 144) # asm 1: mulq 144(squarerax=int64#3 # asm 2: movq 136(squarerax=%rdx movq 136(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 152) # asm 1: mulq 152(squarerax=int64#3 # asm 2: movq 144(squarerax=%rdx movq 144(%rdi),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 144) # asm 1: mulq 144(squarerax=int64#3 # asm 2: movq 144(squarerax=%rdx movq 144(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 152) # asm 1: mulq 152(squarerax=int64#3 # asm 2: movq 152(squarerax=%rdx movq 152(%rdi),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 152) # asm 1: mulq 152(squareredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>squareredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: squarer01 = (squarer01.xq0) << 13 # asm 1: shld $13,squarer41=int64#4 # asm 2: imulq $19,squarer41=%rcx imulq $19,%r15,%rcx # qhasm: xq0 += squarer41 # asm 1: add squaret=int64#4 # asm 2: mov squaret=%rcx mov %rsi,%rcx # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,xq1=int64#5 # asm 2: mov xq1=%r8 mov %rcx,%r8 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,xq2=int64#6 # asm 2: mov xq2=%r9 mov %rcx,%r9 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,xq3=int64#7 # asm 2: mov xq3=%rax mov %rcx,%rax # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,xq4=int64#8 # asm 2: mov xq4=%r10 mov %rcx,%r10 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,squaret=int64#4 # asm 2: imulq $19,squaret=%rcx imulq $19,%rcx,%rcx # qhasm: xq0 += squaret # asm 1: add squarerax=int64#7 # asm 2: movq 160(squarerax=%rax movq 160(%rdi),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 160) # asm 1: mulq 160(zq0=int64#2 # asm 2: mov zq0=%rsi mov %rax,%rsi # qhasm: squarer01 = squarerdx # asm 1: mov squarer01=int64#4 # asm 2: mov squarer01=%rcx mov %rdx,%rcx # qhasm: squarerax = *(uint64 *)(workp + 160) # asm 1: movq 160(squarerax=int64#7 # asm 2: movq 160(squarerax=%rax movq 160(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,zq1=int64#5 # asm 2: mov zq1=%r8 mov %rax,%r8 # qhasm: squarer11 = squarerdx # asm 1: mov squarer11=int64#6 # asm 2: mov squarer11=%r9 mov %rdx,%r9 # qhasm: squarerax = *(uint64 *)(workp + 160) # asm 1: movq 160(squarerax=int64#7 # asm 2: movq 160(squarerax=%rax movq 160(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,zq2=int64#8 # asm 2: mov zq2=%r10 mov %rax,%r10 # qhasm: squarer21 = squarerdx # asm 1: mov squarer21=int64#9 # asm 2: mov squarer21=%r11 mov %rdx,%r11 # qhasm: squarerax = *(uint64 *)(workp + 160) # asm 1: movq 160(squarerax=int64#7 # asm 2: movq 160(squarerax=%rax movq 160(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,zq3=int64#10 # asm 2: mov zq3=%r12 mov %rax,%r12 # qhasm: squarer31 = squarerdx # asm 1: mov squarer31=int64#11 # asm 2: mov squarer31=%r13 mov %rdx,%r13 # qhasm: squarerax = *(uint64 *)(workp + 160) # asm 1: movq 160(squarerax=int64#7 # asm 2: movq 160(squarerax=%rax movq 160(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,zq4=int64#12 # asm 2: mov zq4=%r14 mov %rax,%r14 # qhasm: squarer41 = squarerdx # asm 1: mov squarer41=int64#13 # asm 2: mov squarer41=%r15 mov %rdx,%r15 # qhasm: squarerax = *(uint64 *)(workp + 168) # asm 1: movq 168(squarerax=int64#7 # asm 2: movq 168(squarerax=%rax movq 168(%rdi),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 168) # asm 1: mulq 168(squarerax=int64#7 # asm 2: movq 168(squarerax=%rax movq 168(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#7 # asm 2: movq 168(squarerax=%rax movq 168(%rdi),%rax # qhasm: squarerax <<= 1 # asm 1: shl $1,squarerax=int64#3 # asm 2: movq 168(squarerax=%rdx movq 168(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 192) # asm 1: mulq 192(squarerax=int64#7 # asm 2: movq 176(squarerax=%rax movq 176(%rdi),%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 176) # asm 1: mulq 176(squarerax=int64#3 # asm 2: movq 176(squarerax=%rdx movq 176(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 184) # asm 1: mulq 184(squarerax=int64#3 # asm 2: movq 176(squarerax=%rdx movq 176(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 192) # asm 1: mulq 192(squarerax=int64#3 # asm 2: movq 184(squarerax=%rdx movq 184(%rdi),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 184) # asm 1: mulq 184(squarerax=int64#3 # asm 2: movq 184(squarerax=%rdx movq 184(%rdi),%rdx # qhasm: squarerax *= 38 # asm 1: imulq $38,squarerax=int64#7 # asm 2: imulq $38,squarerax=%rax imulq $38,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 192) # asm 1: mulq 192(squarerax=int64#3 # asm 2: movq 192(squarerax=%rdx movq 192(%rdi),%rdx # qhasm: squarerax *= 19 # asm 1: imulq $19,squarerax=int64#7 # asm 2: imulq $19,squarerax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) squarerdx squarerax = squarerax * *(uint64 *)(workp + 192) # asm 1: mulq 192(squareredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>squareredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: squarer01 = (squarer01.zq0) << 13 # asm 1: shld $13,squarer41=int64#4 # asm 2: imulq $19,squarer41=%rcx imulq $19,%r15,%rcx # qhasm: zq0 += squarer41 # asm 1: add squaret=int64#4 # asm 2: mov squaret=%rcx mov %rsi,%rcx # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,zq1=int64#5 # asm 2: mov zq1=%r8 mov %rcx,%r8 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,zq2=int64#6 # asm 2: mov zq2=%r9 mov %rcx,%r9 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,zq3=int64#7 # asm 2: mov zq3=%rax mov %rcx,%rax # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,zq4=int64#8 # asm 2: mov zq4=%r10 mov %rcx,%r10 # qhasm: (uint64) squaret >>= 51 # asm 1: shr $51,squaret=int64#4 # asm 2: imulq $19,squaret=%rcx imulq $19,%rcx,%rcx # qhasm: zq0 += squaret # asm 1: add mulrax=int64#2 # asm 2: movq 184(mulrax=%rsi movq 184(%rdi),%rsi # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rsi,%rax # qhasm: mulx319_stack = mulrax # asm 1: movq mulx319_stack=stack64#8 # asm 2: movq mulx319_stack=56(%rsp) movq %rax,56(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 16) # asm 1: mulq 16(zq0=int64#2 # asm 2: mov zq0=%rsi mov %rax,%rsi # qhasm: mulr01 = mulrdx # asm 1: mov mulr01=int64#4 # asm 2: mov mulr01=%rcx mov %rdx,%rcx # qhasm: mulrax = *(uint64 *)(workp + 192) # asm 1: movq 192(mulrax=int64#3 # asm 2: movq 192(mulrax=%rdx movq 192(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: mulx419_stack = mulrax # asm 1: movq mulx419_stack=stack64#9 # asm 2: movq mulx419_stack=64(%rsp) movq %rax,64(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 8) # asm 1: mulq 8(mulrax=int64#7 # asm 2: movq 160(mulrax=%rax movq 160(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 0) # asm 1: mulq 0(mulrax=int64#7 # asm 2: movq 160(mulrax=%rax movq 160(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 8) # asm 1: mulq 8(zq1=int64#5 # asm 2: mov zq1=%r8 mov %rax,%r8 # qhasm: mulr11 = mulrdx # asm 1: mov mulr11=int64#6 # asm 2: mov mulr11=%r9 mov %rdx,%r9 # qhasm: mulrax = *(uint64 *)(workp + 160) # asm 1: movq 160(mulrax=int64#7 # asm 2: movq 160(mulrax=%rax movq 160(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 16) # asm 1: mulq 16(zq2=int64#8 # asm 2: mov zq2=%r10 mov %rax,%r10 # qhasm: mulr21 = mulrdx # asm 1: mov mulr21=int64#9 # asm 2: mov mulr21=%r11 mov %rdx,%r11 # qhasm: mulrax = *(uint64 *)(workp + 160) # asm 1: movq 160(mulrax=int64#7 # asm 2: movq 160(mulrax=%rax movq 160(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 24) # asm 1: mulq 24(zq3=int64#10 # asm 2: mov zq3=%r12 mov %rax,%r12 # qhasm: mulr31 = mulrdx # asm 1: mov mulr31=int64#11 # asm 2: mov mulr31=%r13 mov %rdx,%r13 # qhasm: mulrax = *(uint64 *)(workp + 160) # asm 1: movq 160(mulrax=int64#7 # asm 2: movq 160(mulrax=%rax movq 160(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 32) # asm 1: mulq 32(zq4=int64#12 # asm 2: mov zq4=%r14 mov %rax,%r14 # qhasm: mulr41 = mulrdx # asm 1: mov mulr41=int64#13 # asm 2: mov mulr41=%r15 mov %rdx,%r15 # qhasm: mulrax = *(uint64 *)(workp + 168) # asm 1: movq 168(mulrax=int64#7 # asm 2: movq 168(mulrax=%rax movq 168(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 0) # asm 1: mulq 0(mulrax=int64#7 # asm 2: movq 168(mulrax=%rax movq 168(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 8) # asm 1: mulq 8(mulrax=int64#7 # asm 2: movq 168(mulrax=%rax movq 168(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 16) # asm 1: mulq 16(mulrax=int64#7 # asm 2: movq 168(mulrax=%rax movq 168(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 24) # asm 1: mulq 24(mulrax=int64#3 # asm 2: movq 168(mulrax=%rdx movq 168(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 32) # asm 1: mulq 32(mulrax=int64#7 # asm 2: movq 176(mulrax=%rax movq 176(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 0) # asm 1: mulq 0(mulrax=int64#7 # asm 2: movq 176(mulrax=%rax movq 176(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 8) # asm 1: mulq 8(mulrax=int64#7 # asm 2: movq 176(mulrax=%rax movq 176(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 16) # asm 1: mulq 16(mulrax=int64#3 # asm 2: movq 176(mulrax=%rdx movq 176(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 24) # asm 1: mulq 24(mulrax=int64#3 # asm 2: movq 176(mulrax=%rdx movq 176(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 32) # asm 1: mulq 32(mulrax=int64#7 # asm 2: movq 184(mulrax=%rax movq 184(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 0) # asm 1: mulq 0(mulrax=int64#7 # asm 2: movq 184(mulrax=%rax movq 184(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 8) # asm 1: mulq 8(mulrax=int64#7 # asm 2: movq mulrax=%rax movq 56(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 24) # asm 1: mulq 24(mulrax=int64#7 # asm 2: movq mulrax=%rax movq 56(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 32) # asm 1: mulq 32(mulrax=int64#7 # asm 2: movq 192(mulrax=%rax movq 192(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 0) # asm 1: mulq 0(mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 16) # asm 1: mulq 16(mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 24) # asm 1: mulq 24(mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * *(uint64 *)(workp + 32) # asm 1: mulq 32(mulredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>mulredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: mulr01 = (mulr01.zq0) << 13 # asm 1: shld $13,mulr41=int64#4 # asm 2: imulq $19,mulr41=%rcx imulq $19,%r15,%rcx # qhasm: zq0 += mulr41 # asm 1: add mult=int64#4 # asm 2: mov mult=%rcx mov %rsi,%rcx # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zq1=int64#5 # asm 2: mov zq1=%r8 mov %rcx,%r8 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zq2=int64#6 # asm 2: mov zq2=%r9 mov %rcx,%r9 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zq3=int64#7 # asm 2: mov zq3=%rax mov %rcx,%rax # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zq4=int64#8 # asm 2: mov zq4=%r10 mov %rcx,%r10 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,mult=int64#4 # asm 2: imulq $19,mult=%rcx imulq $19,%rcx,%rcx # qhasm: zq0 += mult # asm 1: add mulrax=int64#2 # asm 2: movq mulrax=%rsi movq 200(%rsp),%rsi # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rsi,%rax # qhasm: mulx319_stack = mulrax # asm 1: movq mulx319_stack=stack64#8 # asm 2: movq mulx319_stack=56(%rsp) movq %rax,56(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t72_stack # asm 1: mulq xp0=int64#2 # asm 2: mov xp0=%rsi mov %rax,%rsi # qhasm: mulr01 = mulrdx # asm 1: mov mulr01=int64#4 # asm 2: mov mulr01=%rcx mov %rdx,%rcx # qhasm: mulrax = t64_stack # asm 1: movq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 208(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: mulx419_stack = mulrax # asm 1: movq mulx419_stack=stack64#9 # asm 2: movq mulx419_stack=64(%rsp) movq %rax,64(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t71_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 176(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t70_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 176(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t71_stack # asm 1: mulq xp1=int64#5 # asm 2: mov xp1=%r8 mov %rax,%r8 # qhasm: mulr11 = mulrdx # asm 1: mov mulr11=int64#6 # asm 2: mov mulr11=%r9 mov %rdx,%r9 # qhasm: mulrax = t60_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 176(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t72_stack # asm 1: mulq xp2=int64#8 # asm 2: mov xp2=%r10 mov %rax,%r10 # qhasm: mulr21 = mulrdx # asm 1: mov mulr21=int64#9 # asm 2: mov mulr21=%r11 mov %rdx,%r11 # qhasm: mulrax = t60_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 176(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t73_stack # asm 1: mulq xp3=int64#10 # asm 2: mov xp3=%r12 mov %rax,%r12 # qhasm: mulr31 = mulrdx # asm 1: mov mulr31=int64#11 # asm 2: mov mulr31=%r13 mov %rdx,%r13 # qhasm: mulrax = t60_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 176(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t74_stack # asm 1: mulq xp4=int64#12 # asm 2: mov xp4=%r14 mov %rax,%r14 # qhasm: mulr41 = mulrdx # asm 1: mov mulr41=int64#13 # asm 2: mov mulr41=%r15 mov %rdx,%r15 # qhasm: mulrax = t61_stack # asm 1: movq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 184(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t70_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 184(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t71_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 184(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t72_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 184(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t73_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 184(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t74_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 192(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t70_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 192(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t71_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 192(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t72_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 192(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t73_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq mulrax=%rdx movq 192(%rsp),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t74_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 200(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t70_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 200(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t71_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 56(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t73_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 56(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t74_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 208(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t70_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t72_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t73_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t74_stack # asm 1: mulq mulredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>mulredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: mulr01 = (mulr01.xp0) << 13 # asm 1: shld $13,mulr41=int64#4 # asm 2: imulq $19,mulr41=%rcx imulq $19,%r15,%rcx # qhasm: xp0 += mulr41 # asm 1: add mult=int64#4 # asm 2: mov mult=%rcx mov %rsi,%rcx # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,xp1=int64#5 # asm 2: mov xp1=%r8 mov %rcx,%r8 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,xp2=int64#6 # asm 2: mov xp2=%r9 mov %rcx,%r9 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,xp3=int64#7 # asm 2: mov xp3=%rax mov %rcx,%rax # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,xp4=int64#8 # asm 2: mov xp4=%r10 mov %rcx,%r10 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,mult=int64#4 # asm 2: imulq $19,mult=%rcx imulq $19,%rcx,%rcx # qhasm: xp0 += mult # asm 1: add mul121666rax=int64#7 # asm 2: movq mul121666rax=%rax movq 216(%rsp),%rax # qhasm: (uint128) mul121666rdx mul121666rax = mul121666rax * *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_121666_213 mulq crypto_scalarmult_curve25519_amd64_51_121666_213 # qhasm: (uint64) mul121666rax >>= 13 # asm 1: shr $13,zp0=int64#2 # asm 2: mov zp0=%rsi mov %rax,%rsi # qhasm: zp1 = mul121666rdx # asm 1: mov zp1=int64#4 # asm 2: mov zp1=%rcx mov %rdx,%rcx # qhasm: mul121666rax = t51_stack # asm 1: movq mul121666rax=int64#7 # asm 2: movq mul121666rax=%rax movq 224(%rsp),%rax # qhasm: (uint128) mul121666rdx mul121666rax = mul121666rax * *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_121666_213 mulq crypto_scalarmult_curve25519_amd64_51_121666_213 # qhasm: (uint64) mul121666rax >>= 13 # asm 1: shr $13,zp2=int64#5 # asm 2: mov zp2=%r8 mov %rdx,%r8 # qhasm: mul121666rax = t52_stack # asm 1: movq mul121666rax=int64#7 # asm 2: movq mul121666rax=%rax movq 232(%rsp),%rax # qhasm: (uint128) mul121666rdx mul121666rax = mul121666rax * *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_121666_213 mulq crypto_scalarmult_curve25519_amd64_51_121666_213 # qhasm: (uint64) mul121666rax >>= 13 # asm 1: shr $13,zp3=int64#6 # asm 2: mov zp3=%r9 mov %rdx,%r9 # qhasm: mul121666rax = t53_stack # asm 1: movq mul121666rax=int64#7 # asm 2: movq mul121666rax=%rax movq 240(%rsp),%rax # qhasm: (uint128) mul121666rdx mul121666rax = mul121666rax * *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_121666_213 mulq crypto_scalarmult_curve25519_amd64_51_121666_213 # qhasm: (uint64) mul121666rax >>= 13 # asm 1: shr $13,zp4=int64#8 # asm 2: mov zp4=%r10 mov %rdx,%r10 # qhasm: mul121666rax = t54_stack # asm 1: movq mul121666rax=int64#7 # asm 2: movq mul121666rax=%rax movq 248(%rsp),%rax # qhasm: (uint128) mul121666rdx mul121666rax = mul121666rax * *(uint64 *) &crypto_scalarmult_curve25519_amd64_51_121666_213 mulq crypto_scalarmult_curve25519_amd64_51_121666_213 # qhasm: (uint64) mul121666rax >>= 13 # asm 1: shr $13,mul121666rdx=int64#3 # asm 2: imulq $19,mul121666rdx=%rdx imulq $19,%rdx,%rdx # qhasm: zp0 += mul121666rdx # asm 1: add mulrax=int64#2 # asm 2: movq 104(mulrax=%rsi movq 104(%rdi),%rsi # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rsi,%rax # qhasm: mulx319_stack = mulrax # asm 1: movq mulx319_stack=stack64#8 # asm 2: movq mulx319_stack=56(%rsp) movq %rax,56(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t52_stack # asm 1: mulq zp0=int64#2 # asm 2: mov zp0=%rsi mov %rax,%rsi # qhasm: mulr01 = mulrdx # asm 1: mov mulr01=int64#4 # asm 2: mov mulr01=%rcx mov %rdx,%rcx # qhasm: mulrax = *(uint64 *)(workp + 112) # asm 1: movq 112(mulrax=int64#3 # asm 2: movq 112(mulrax=%rdx movq 112(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: mulx419_stack = mulrax # asm 1: movq mulx419_stack=stack64#9 # asm 2: movq mulx419_stack=64(%rsp) movq %rax,64(%rsp) # qhasm: (uint128) mulrdx mulrax = mulrax * t51_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 80(mulrax=%rax movq 80(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t50_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 80(mulrax=%rax movq 80(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t51_stack # asm 1: mulq zp1=int64#5 # asm 2: mov zp1=%r8 mov %rax,%r8 # qhasm: mulr11 = mulrdx # asm 1: mov mulr11=int64#6 # asm 2: mov mulr11=%r9 mov %rdx,%r9 # qhasm: mulrax = *(uint64 *)(workp + 80) # asm 1: movq 80(mulrax=int64#7 # asm 2: movq 80(mulrax=%rax movq 80(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t52_stack # asm 1: mulq zp2=int64#8 # asm 2: mov zp2=%r10 mov %rax,%r10 # qhasm: mulr21 = mulrdx # asm 1: mov mulr21=int64#9 # asm 2: mov mulr21=%r11 mov %rdx,%r11 # qhasm: mulrax = *(uint64 *)(workp + 80) # asm 1: movq 80(mulrax=int64#7 # asm 2: movq 80(mulrax=%rax movq 80(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t53_stack # asm 1: mulq zp3=int64#10 # asm 2: mov zp3=%r12 mov %rax,%r12 # qhasm: mulr31 = mulrdx # asm 1: mov mulr31=int64#11 # asm 2: mov mulr31=%r13 mov %rdx,%r13 # qhasm: mulrax = *(uint64 *)(workp + 80) # asm 1: movq 80(mulrax=int64#7 # asm 2: movq 80(mulrax=%rax movq 80(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t54_stack # asm 1: mulq zp4=int64#12 # asm 2: mov zp4=%r14 mov %rax,%r14 # qhasm: mulr41 = mulrdx # asm 1: mov mulr41=int64#13 # asm 2: mov mulr41=%r15 mov %rdx,%r15 # qhasm: mulrax = *(uint64 *)(workp + 88) # asm 1: movq 88(mulrax=int64#7 # asm 2: movq 88(mulrax=%rax movq 88(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t50_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 88(mulrax=%rax movq 88(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t51_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 88(mulrax=%rax movq 88(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t52_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 88(mulrax=%rax movq 88(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t53_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq 88(mulrax=%rdx movq 88(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t54_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 96(mulrax=%rax movq 96(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t50_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 96(mulrax=%rax movq 96(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t51_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 96(mulrax=%rax movq 96(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t52_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq 96(mulrax=%rdx movq 96(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t53_stack # asm 1: mulq mulrax=int64#3 # asm 2: movq 96(mulrax=%rdx movq 96(%rdi),%rdx # qhasm: mulrax *= 19 # asm 1: imulq $19,mulrax=int64#7 # asm 2: imulq $19,mulrax=%rax imulq $19,%rdx,%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t54_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 104(mulrax=%rax movq 104(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t50_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 104(mulrax=%rax movq 104(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t51_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 56(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t53_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 56(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t54_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq 112(mulrax=%rax movq 112(%rdi),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t50_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t52_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t53_stack # asm 1: mulq mulrax=int64#7 # asm 2: movq mulrax=%rax movq 64(%rsp),%rax # qhasm: (uint128) mulrdx mulrax = mulrax * t54_stack # asm 1: mulq mulredmask=int64#3 # asm 2: movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,>mulredmask=%rdx movq crypto_scalarmult_curve25519_amd64_51_REDMASK51,%rdx # qhasm: mulr01 = (mulr01.zp0) << 13 # asm 1: shld $13,mulr41=int64#4 # asm 2: imulq $19,mulr41=%rcx imulq $19,%r15,%rcx # qhasm: zp0 += mulr41 # asm 1: add mult=int64#4 # asm 2: mov mult=%rcx mov %rsi,%rcx # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zp1=int64#5 # asm 2: mov zp1=%r8 mov %rcx,%r8 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zp2=int64#6 # asm 2: mov zp2=%r9 mov %rcx,%r9 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zp3=int64#7 # asm 2: mov zp3=%rax mov %rcx,%rax # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,zp4=int64#8 # asm 2: mov zp4=%r10 mov %rcx,%r10 # qhasm: (uint64) mult >>= 51 # asm 1: shr $51,mult=int64#4 # asm 2: imulq $19,mult=%rcx imulq $19,%rcx,%rcx # qhasm: zp0 += mult # asm 1: add caller1=int64#9 # asm 2: movq caller1=%r11 movq 0(%rsp),%r11 # qhasm: caller2 = caller2_stack # asm 1: movq caller2=int64#10 # asm 2: movq caller2=%r12 movq 8(%rsp),%r12 # qhasm: caller3 = caller3_stack # asm 1: movq caller3=int64#11 # asm 2: movq caller3=%r13 movq 16(%rsp),%r13 # qhasm: caller4 = caller4_stack # asm 1: movq caller4=int64#12 # asm 2: movq caller4=%r14 movq 24(%rsp),%r14 # qhasm: caller5 = caller5_stack # asm 1: movq caller5=int64#13 # asm 2: movq caller5=%r15 movq 32(%rsp),%r15 # qhasm: caller6 = caller6_stack # asm 1: movq caller6=int64#14 # asm 2: movq caller6=%rbx movq 40(%rsp),%rbx # qhasm: caller7 = caller7_stack # asm 1: movq caller7=int64#15 # asm 2: movq caller7=%rbp movq 48(%rsp),%rbp # qhasm: leave add %r11,%rsp mov %rdi,%rax mov %rsi,%rdx ret