#include "crypto_asm_hidden.h" // linker define work_cswap # qhasm: int64 workp # qhasm: int64 swap # qhasm: input workp # qhasm: input swap # qhasm: int64 w0 # qhasm: int64 w1 # qhasm: int64 w2 # qhasm: int64 w3 # qhasm: int64 w4 # qhasm: int64 w5 # qhasm: int64 w6 # qhasm: int64 w7 # qhasm: int64 w8 # qhasm: int64 w9 # qhasm: int64 w10 # qhasm: int64 w11 # qhasm: int64 w12 # qhasm: int64 w13 # qhasm: int64 w14 # qhasm: int64 w15 # qhasm: int64 t # 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: enter CRYPTO_SHARED_NAMESPACE(work_cswap) .text .p2align 5 ASM_HIDDEN _CRYPTO_SHARED_NAMESPACE(work_cswap) .globl _CRYPTO_SHARED_NAMESPACE(work_cswap) ASM_HIDDEN CRYPTO_SHARED_NAMESPACE(work_cswap) .globl CRYPTO_SHARED_NAMESPACE(work_cswap) _CRYPTO_SHARED_NAMESPACE(work_cswap): CRYPTO_SHARED_NAMESPACE(work_cswap): mov %rsp,%r11 and $31,%r11 add $0,%r11 sub %r11,%rsp # qhasm: =? swap - 1 # asm 1: cmp $1,w0=int64#2 # asm 2: movq 0(w0=%rsi movq 0(%rdi),%rsi # qhasm: w8 = *(uint64 *)(workp + 64) # asm 1: movq 64(w8=int64#3 # asm 2: movq 64(w8=%rdx movq 64(%rdi),%rdx # qhasm: t = w0 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w0 = w8 if = # asm 1: cmove w1=int64#2 # asm 2: movq 8(w1=%rsi movq 8(%rdi),%rsi # qhasm: w9 = *(uint64 *)(workp + 72) # asm 1: movq 72(w9=int64#3 # asm 2: movq 72(w9=%rdx movq 72(%rdi),%rdx # qhasm: t = w1 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w1 = w9 if = # asm 1: cmove w2=int64#2 # asm 2: movq 16(w2=%rsi movq 16(%rdi),%rsi # qhasm: w10 = *(uint64 *)(workp + 80) # asm 1: movq 80(w10=int64#3 # asm 2: movq 80(w10=%rdx movq 80(%rdi),%rdx # qhasm: t = w2 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w2 = w10 if = # asm 1: cmove w3=int64#2 # asm 2: movq 24(w3=%rsi movq 24(%rdi),%rsi # qhasm: w11 = *(uint64 *)(workp + 88) # asm 1: movq 88(w11=int64#3 # asm 2: movq 88(w11=%rdx movq 88(%rdi),%rdx # qhasm: t = w3 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w3 = w11 if = # asm 1: cmove w4=int64#2 # asm 2: movq 32(w4=%rsi movq 32(%rdi),%rsi # qhasm: w12 = *(uint64 *)(workp + 96) # asm 1: movq 96(w12=int64#3 # asm 2: movq 96(w12=%rdx movq 96(%rdi),%rdx # qhasm: t = w4 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w4 = w12 if = # asm 1: cmove w5=int64#2 # asm 2: movq 40(w5=%rsi movq 40(%rdi),%rsi # qhasm: w13 = *(uint64 *)(workp + 104) # asm 1: movq 104(w13=int64#3 # asm 2: movq 104(w13=%rdx movq 104(%rdi),%rdx # qhasm: t = w5 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w5 = w13 if = # asm 1: cmove w6=int64#2 # asm 2: movq 48(w6=%rsi movq 48(%rdi),%rsi # qhasm: w14 = *(uint64 *)(workp + 112) # asm 1: movq 112(w14=int64#3 # asm 2: movq 112(w14=%rdx movq 112(%rdi),%rdx # qhasm: t = w6 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w6 = w14 if = # asm 1: cmove w7=int64#2 # asm 2: movq 56(w7=%rsi movq 56(%rdi),%rsi # qhasm: w15 = *(uint64 *)(workp + 120) # asm 1: movq 120(w15=int64#3 # asm 2: movq 120(w15=%rdx movq 120(%rdi),%rdx # qhasm: t = w7 # asm 1: mov t=int64#4 # asm 2: mov t=%rcx mov %rsi,%rcx # qhasm: w7 = w15 if = # asm 1: cmove