# qhasm: int64 xp # qhasm: int64 yp # qhasm: int64 ret # qhasm: input xp # qhasm: input yp # qhasm: output ret # qhasm: int64 t0 # qhasm: int64 t1 # qhasm: int64 t2 # qhasm: int64 t3 # qhasm: int64 doof # 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 caller4_stack # qhasm: stack64 caller5_stack # qhasm: stack64 caller6_stack # qhasm: stack64 caller7_stack # qhasm: enter crypto_sign_ed25519_amd64_64_sc25519_lt .text .p2align 5 .globl _crypto_sign_ed25519_amd64_64_sc25519_lt .globl crypto_sign_ed25519_amd64_64_sc25519_lt _crypto_sign_ed25519_amd64_64_sc25519_lt: crypto_sign_ed25519_amd64_64_sc25519_lt: mov %rsp,%r11 and $31,%r11 add $0,%r11 sub %r11,%rsp # qhasm: t0 = *(uint64 *)(xp + 0) # asm 1: movq 0(t0=int64#3 # asm 2: movq 0(t0=%rdx movq 0(%rdi),%rdx # qhasm: t1 = *(uint64 *)(xp + 8) # asm 1: movq 8(t1=int64#4 # asm 2: movq 8(t1=%rcx movq 8(%rdi),%rcx # qhasm: t2 = *(uint64 *)(xp + 16) # asm 1: movq 16(t2=int64#5 # asm 2: movq 16(t2=%r8 movq 16(%rdi),%r8 # qhasm: t3 = *(uint64 *)(xp + 24) # asm 1: movq 24(t3=int64#1 # asm 2: movq 24(t3=%rdi movq 24(%rdi),%rdi # qhasm: carry? t0 -= *(uint64 *)(yp + 0) # asm 1: subq 0(ret=int64#1 # asm 2: mov $0,>ret=%rdi mov $0,%rdi # qhasm: doof = 1 # asm 1: mov $1,>doof=int64#2 # asm 2: mov $1,>doof=%rsi mov $1,%rsi # qhasm: ret = doof if carry # asm 1: cmovc