#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 w16 # qhasm: int64 w17 # qhasm: int64 w18 # qhasm: int64 w19 # qhasm: int64 t0 # qhasm: int64 t1 # qhasm: int64 t2 # qhasm: int64 t3 # qhasm: int64 t4 # qhasm: int64 t5 # qhasm: int64 t6 # qhasm: int64 t7 # qhasm: int64 t8 # qhasm: int64 t9 # 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: w10 = *(uint64 *)(workp + 80) # asm 1: movq 80(w10=int64#3 # asm 2: movq 80(w10=%rdx movq 80(%rdi),%rdx # qhasm: w1 = *(uint64 *)(workp + 8) # asm 1: movq 8(w1=int64#4 # asm 2: movq 8(w1=%rcx movq 8(%rdi),%rcx # qhasm: w11 = *(uint64 *)(workp + 88) # asm 1: movq 88(w11=int64#5 # asm 2: movq 88(w11=%r8 movq 88(%rdi),%r8 # qhasm: t0 = w0 # asm 1: mov t0=int64#6 # asm 2: mov t0=%r9 mov %rsi,%r9 # qhasm: w0 = w10 if = # asm 1: cmove t1=int64#6 # asm 2: mov t1=%r9 mov %rcx,%r9 # qhasm: w1 = w11 if = # asm 1: cmove w2=int64#2 # asm 2: movq 16(w2=%rsi movq 16(%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: w3 = *(uint64 *)(workp + 24) # asm 1: movq 24(w3=int64#4 # asm 2: movq 24(w3=%rcx movq 24(%rdi),%rcx # qhasm: w13 = *(uint64 *)(workp + 104) # asm 1: movq 104(w13=int64#5 # asm 2: movq 104(w13=%r8 movq 104(%rdi),%r8 # qhasm: t2 = w2 # asm 1: mov t2=int64#6 # asm 2: mov t2=%r9 mov %rsi,%r9 # qhasm: w2 = w12 if = # asm 1: cmove t3=int64#6 # asm 2: mov t3=%r9 mov %rcx,%r9 # qhasm: w3 = w13 if = # asm 1: cmove w4=int64#2 # asm 2: movq 32(w4=%rsi movq 32(%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: w5 = *(uint64 *)(workp + 40) # asm 1: movq 40(w5=int64#4 # asm 2: movq 40(w5=%rcx movq 40(%rdi),%rcx # qhasm: w15 = *(uint64 *)(workp + 120) # asm 1: movq 120(w15=int64#5 # asm 2: movq 120(w15=%r8 movq 120(%rdi),%r8 # qhasm: t4 = w4 # asm 1: mov t4=int64#6 # asm 2: mov t4=%r9 mov %rsi,%r9 # qhasm: w4 = w14 if = # asm 1: cmove t5=int64#6 # asm 2: mov t5=%r9 mov %rcx,%r9 # qhasm: w5 = w15 if = # asm 1: cmove w6=int64#2 # asm 2: movq 48(w6=%rsi movq 48(%rdi),%rsi # qhasm: w16 = *(uint64 *)(workp + 128) # asm 1: movq 128(w16=int64#3 # asm 2: movq 128(w16=%rdx movq 128(%rdi),%rdx # qhasm: w7 = *(uint64 *)(workp + 56) # asm 1: movq 56(w7=int64#4 # asm 2: movq 56(w7=%rcx movq 56(%rdi),%rcx # qhasm: w17 = *(uint64 *)(workp + 136) # asm 1: movq 136(w17=int64#5 # asm 2: movq 136(w17=%r8 movq 136(%rdi),%r8 # qhasm: t6 = w6 # asm 1: mov t6=int64#6 # asm 2: mov t6=%r9 mov %rsi,%r9 # qhasm: w6 = w16 if = # asm 1: cmove t7=int64#6 # asm 2: mov t7=%r9 mov %rcx,%r9 # qhasm: w7 = w17 if = # asm 1: cmove w8=int64#2 # asm 2: movq 64(w8=%rsi movq 64(%rdi),%rsi # qhasm: w18 = *(uint64 *)(workp + 144) # asm 1: movq 144(w18=int64#3 # asm 2: movq 144(w18=%rdx movq 144(%rdi),%rdx # qhasm: w9 = *(uint64 *)(workp + 72) # asm 1: movq 72(w9=int64#4 # asm 2: movq 72(w9=%rcx movq 72(%rdi),%rcx # qhasm: w19 = *(uint64 *)(workp + 152) # asm 1: movq 152(w19=int64#5 # asm 2: movq 152(w19=%r8 movq 152(%rdi),%r8 # qhasm: t8 = w8 # asm 1: mov t8=int64#6 # asm 2: mov t8=%r9 mov %rsi,%r9 # qhasm: w8 = w18 if = # asm 1: cmove t9=int64#6 # asm 2: mov t9=%r9 mov %rcx,%r9 # qhasm: w9 = w19 if = # asm 1: cmove