b3f9d4f8d6
* Add McEliece reference implementations * Add Vec implementations of McEliece * Add sse implementations * Add AVX2 implementations * Get rid of stuff not supported by Mac ABI * restrict to two cores * Ditch .data files * Remove .hidden from all .S files * speed up duplicate consistency tests by batching * make cpuinfo more robust * Hope to stabilize macos cpuinfo without ccache * Revert "Hope to stabilize macos cpuinfo without ccache" This reverts commit 6129c3cabe1abbc8b956bc87e902a698e32bf322. * Just hardcode what's available at travis * Fixed-size types in api.h * namespace all header files in mceliece * Ditch operations.h * Get rid of static inline functions * fixup! Ditch operations.h
1737 lines
54 KiB
ArmAsm
1737 lines
54 KiB
ArmAsm
|
|
# qhasm: int64 input_0
|
|
|
|
# qhasm: int64 input_1
|
|
|
|
# qhasm: int64 input_2
|
|
|
|
# qhasm: int64 input_3
|
|
|
|
# qhasm: int64 input_4
|
|
|
|
# qhasm: int64 input_5
|
|
|
|
# qhasm: stack64 input_6
|
|
|
|
# qhasm: stack64 input_7
|
|
|
|
# qhasm: int64 caller_r11
|
|
|
|
# qhasm: int64 caller_r12
|
|
|
|
# qhasm: int64 caller_r13
|
|
|
|
# qhasm: int64 caller_r14
|
|
|
|
# qhasm: int64 caller_r15
|
|
|
|
# qhasm: int64 caller_rbx
|
|
|
|
# qhasm: int64 caller_rbp
|
|
|
|
# qhasm: reg256 a0
|
|
|
|
# qhasm: reg256 a1
|
|
|
|
# qhasm: reg256 a2
|
|
|
|
# qhasm: reg256 a3
|
|
|
|
# qhasm: reg256 a4
|
|
|
|
# qhasm: reg256 a5
|
|
|
|
# qhasm: reg256 a6
|
|
|
|
# qhasm: reg256 a7
|
|
|
|
# qhasm: reg256 a8
|
|
|
|
# qhasm: reg256 a9
|
|
|
|
# qhasm: reg256 a10
|
|
|
|
# qhasm: reg256 a11
|
|
|
|
# qhasm: reg256 b0
|
|
|
|
# qhasm: reg256 b1
|
|
|
|
# qhasm: reg256 r0
|
|
|
|
# qhasm: reg256 r1
|
|
|
|
# qhasm: reg256 r2
|
|
|
|
# qhasm: reg256 r3
|
|
|
|
# qhasm: reg256 r4
|
|
|
|
# qhasm: reg256 r5
|
|
|
|
# qhasm: reg256 r6
|
|
|
|
# qhasm: reg256 r7
|
|
|
|
# qhasm: reg256 r8
|
|
|
|
# qhasm: reg256 r9
|
|
|
|
# qhasm: reg256 r10
|
|
|
|
# qhasm: reg256 r11
|
|
|
|
# qhasm: reg256 r12
|
|
|
|
# qhasm: reg256 r13
|
|
|
|
# qhasm: reg256 r14
|
|
|
|
# qhasm: reg256 r15
|
|
|
|
# qhasm: reg256 r16
|
|
|
|
# qhasm: reg256 r17
|
|
|
|
# qhasm: reg256 r18
|
|
|
|
# qhasm: reg256 r19
|
|
|
|
# qhasm: reg256 r20
|
|
|
|
# qhasm: reg256 r21
|
|
|
|
# qhasm: reg256 r22
|
|
|
|
# qhasm: reg256 r
|
|
|
|
# qhasm: enter vec256_mul_asm
|
|
.p2align 5
|
|
.global _PQCLEAN_MCELIECE348864F_AVX_vec256_mul_asm
|
|
.global PQCLEAN_MCELIECE348864F_AVX_vec256_mul_asm
|
|
_PQCLEAN_MCELIECE348864F_AVX_vec256_mul_asm:
|
|
PQCLEAN_MCELIECE348864F_AVX_vec256_mul_asm:
|
|
mov %rsp,%r11
|
|
and $31,%r11
|
|
add $0,%r11
|
|
sub %r11,%rsp
|
|
|
|
# qhasm: b0 = mem256[ input_2 + 0 ]
|
|
# asm 1: vmovupd 0(<input_2=int64#3),>b0=reg256#1
|
|
# asm 2: vmovupd 0(<input_2=%rdx),>b0=%ymm0
|
|
vmovupd 0(%rdx),%ymm0
|
|
|
|
# qhasm: a11 = mem256[ input_1 + 352 ]
|
|
# asm 1: vmovupd 352(<input_1=int64#2),>a11=reg256#2
|
|
# asm 2: vmovupd 352(<input_1=%rsi),>a11=%ymm1
|
|
vmovupd 352(%rsi),%ymm1
|
|
|
|
# qhasm: r11 = a11 & b0
|
|
# asm 1: vpand <a11=reg256#2,<b0=reg256#1,>r11=reg256#3
|
|
# asm 2: vpand <a11=%ymm1,<b0=%ymm0,>r11=%ymm2
|
|
vpand %ymm1,%ymm0,%ymm2
|
|
|
|
# qhasm: r12 = a11 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a11=reg256#2,>r12=reg256#4
|
|
# asm 2: vpand 32(<input_2=%rdx),<a11=%ymm1,>r12=%ymm3
|
|
vpand 32(%rdx),%ymm1,%ymm3
|
|
|
|
# qhasm: r13 = a11 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a11=reg256#2,>r13=reg256#5
|
|
# asm 2: vpand 64(<input_2=%rdx),<a11=%ymm1,>r13=%ymm4
|
|
vpand 64(%rdx),%ymm1,%ymm4
|
|
|
|
# qhasm: r14 = a11 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a11=reg256#2,>r14=reg256#6
|
|
# asm 2: vpand 96(<input_2=%rdx),<a11=%ymm1,>r14=%ymm5
|
|
vpand 96(%rdx),%ymm1,%ymm5
|
|
|
|
# qhasm: r15 = a11 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a11=reg256#2,>r15=reg256#7
|
|
# asm 2: vpand 128(<input_2=%rdx),<a11=%ymm1,>r15=%ymm6
|
|
vpand 128(%rdx),%ymm1,%ymm6
|
|
|
|
# qhasm: r16 = a11 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a11=reg256#2,>r16=reg256#8
|
|
# asm 2: vpand 160(<input_2=%rdx),<a11=%ymm1,>r16=%ymm7
|
|
vpand 160(%rdx),%ymm1,%ymm7
|
|
|
|
# qhasm: r17 = a11 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a11=reg256#2,>r17=reg256#9
|
|
# asm 2: vpand 192(<input_2=%rdx),<a11=%ymm1,>r17=%ymm8
|
|
vpand 192(%rdx),%ymm1,%ymm8
|
|
|
|
# qhasm: r18 = a11 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a11=reg256#2,>r18=reg256#10
|
|
# asm 2: vpand 224(<input_2=%rdx),<a11=%ymm1,>r18=%ymm9
|
|
vpand 224(%rdx),%ymm1,%ymm9
|
|
|
|
# qhasm: r19 = a11 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a11=reg256#2,>r19=reg256#11
|
|
# asm 2: vpand 256(<input_2=%rdx),<a11=%ymm1,>r19=%ymm10
|
|
vpand 256(%rdx),%ymm1,%ymm10
|
|
|
|
# qhasm: r20 = a11 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a11=reg256#2,>r20=reg256#12
|
|
# asm 2: vpand 288(<input_2=%rdx),<a11=%ymm1,>r20=%ymm11
|
|
vpand 288(%rdx),%ymm1,%ymm11
|
|
|
|
# qhasm: r21 = a11 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a11=reg256#2,>r21=reg256#13
|
|
# asm 2: vpand 320(<input_2=%rdx),<a11=%ymm1,>r21=%ymm12
|
|
vpand 320(%rdx),%ymm1,%ymm12
|
|
|
|
# qhasm: r22 = a11 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a11=reg256#2,>r22=reg256#2
|
|
# asm 2: vpand 352(<input_2=%rdx),<a11=%ymm1,>r22=%ymm1
|
|
vpand 352(%rdx),%ymm1,%ymm1
|
|
|
|
# qhasm: r13 ^= r22
|
|
# asm 1: vpxor <r22=reg256#2,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r22=%ymm1,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm1,%ymm4,%ymm4
|
|
|
|
# qhasm: r10 = r22
|
|
# asm 1: vmovapd <r22=reg256#2,>r10=reg256#2
|
|
# asm 2: vmovapd <r22=%ymm1,>r10=%ymm1
|
|
vmovapd %ymm1,%ymm1
|
|
|
|
# qhasm: a10 = mem256[ input_1 + 320 ]
|
|
# asm 1: vmovupd 320(<input_1=int64#2),>a10=reg256#14
|
|
# asm 2: vmovupd 320(<input_1=%rsi),>a10=%ymm13
|
|
vmovupd 320(%rsi),%ymm13
|
|
|
|
# qhasm: r = a10 & b0
|
|
# asm 1: vpand <a10=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a10=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r16 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r16=reg256#8,<r16=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r16=%ymm7,<r16=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r17 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r17=reg256#9,<r17=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r17=%ymm8,<r17=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r18 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r18=reg256#10,<r18=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r18=%ymm9,<r18=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r19 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r19=reg256#11,<r19=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r19=%ymm10,<r19=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a10=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a10=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r20 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r20=reg256#12,<r20=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r20=%ymm11,<r20=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a10 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a10=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a10=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r21 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r21=reg256#13,<r21=reg256#13
|
|
# asm 2: vpxor <r=%ymm13,<r21=%ymm12,<r21=%ymm12
|
|
vpxor %ymm13,%ymm12,%ymm12
|
|
|
|
# qhasm: r12 ^= r21
|
|
# asm 1: vpxor <r21=reg256#13,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r21=%ymm12,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm12,%ymm3,%ymm3
|
|
|
|
# qhasm: r9 = r21
|
|
# asm 1: vmovapd <r21=reg256#13,>r9=reg256#13
|
|
# asm 2: vmovapd <r21=%ymm12,>r9=%ymm12
|
|
vmovapd %ymm12,%ymm12
|
|
|
|
# qhasm: a9 = mem256[ input_1 + 288 ]
|
|
# asm 1: vmovupd 288(<input_1=int64#2),>a9=reg256#14
|
|
# asm 2: vmovupd 288(<input_1=%rsi),>a9=%ymm13
|
|
vmovupd 288(%rsi),%ymm13
|
|
|
|
# qhasm: r = a9 & b0
|
|
# asm 1: vpand <a9=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a9=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r16 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r16=reg256#8,<r16=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r16=%ymm7,<r16=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r17 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r17=reg256#9,<r17=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r17=%ymm8,<r17=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r18 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r18=reg256#10,<r18=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r18=%ymm9,<r18=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a9=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a9=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r19 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r19=reg256#11,<r19=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r19=%ymm10,<r19=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a9 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a9=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a9=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r20 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r20=reg256#12,<r20=reg256#12
|
|
# asm 2: vpxor <r=%ymm13,<r20=%ymm11,<r20=%ymm11
|
|
vpxor %ymm13,%ymm11,%ymm11
|
|
|
|
# qhasm: r11 ^= r20
|
|
# asm 1: vpxor <r20=reg256#12,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r20=%ymm11,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm11,%ymm2,%ymm2
|
|
|
|
# qhasm: r8 = r20
|
|
# asm 1: vmovapd <r20=reg256#12,>r8=reg256#12
|
|
# asm 2: vmovapd <r20=%ymm11,>r8=%ymm11
|
|
vmovapd %ymm11,%ymm11
|
|
|
|
# qhasm: a8 = mem256[ input_1 + 256 ]
|
|
# asm 1: vmovupd 256(<input_1=int64#2),>a8=reg256#14
|
|
# asm 2: vmovupd 256(<input_1=%rsi),>a8=%ymm13
|
|
vmovupd 256(%rsi),%ymm13
|
|
|
|
# qhasm: r = a8 & b0
|
|
# asm 1: vpand <a8=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a8=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r16 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r16=reg256#8,<r16=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r16=%ymm7,<r16=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r17 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r17=reg256#9,<r17=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r17=%ymm8,<r17=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a8=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a8=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r18 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r18=reg256#10,<r18=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r18=%ymm9,<r18=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a8 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a8=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a8=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r19 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r19=reg256#11,<r19=reg256#11
|
|
# asm 2: vpxor <r=%ymm13,<r19=%ymm10,<r19=%ymm10
|
|
vpxor %ymm13,%ymm10,%ymm10
|
|
|
|
# qhasm: r10 ^= r19
|
|
# asm 1: vpxor <r19=reg256#11,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r19=%ymm10,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm10,%ymm1,%ymm1
|
|
|
|
# qhasm: r7 = r19
|
|
# asm 1: vmovapd <r19=reg256#11,>r7=reg256#11
|
|
# asm 2: vmovapd <r19=%ymm10,>r7=%ymm10
|
|
vmovapd %ymm10,%ymm10
|
|
|
|
# qhasm: a7 = mem256[ input_1 + 224 ]
|
|
# asm 1: vmovupd 224(<input_1=int64#2),>a7=reg256#14
|
|
# asm 2: vmovupd 224(<input_1=%rsi),>a7=%ymm13
|
|
vmovupd 224(%rsi),%ymm13
|
|
|
|
# qhasm: r = a7 & b0
|
|
# asm 1: vpand <a7=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a7=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r16 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r16=reg256#8,<r16=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r16=%ymm7,<r16=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a7=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a7=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r17 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r17=reg256#9,<r17=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r17=%ymm8,<r17=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a7 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a7=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a7=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r18 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r18=reg256#10,<r18=reg256#10
|
|
# asm 2: vpxor <r=%ymm13,<r18=%ymm9,<r18=%ymm9
|
|
vpxor %ymm13,%ymm9,%ymm9
|
|
|
|
# qhasm: r9 ^= r18
|
|
# asm 1: vpxor <r18=reg256#10,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r18=%ymm9,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm9,%ymm12,%ymm12
|
|
|
|
# qhasm: r6 = r18
|
|
# asm 1: vmovapd <r18=reg256#10,>r6=reg256#10
|
|
# asm 2: vmovapd <r18=%ymm9,>r6=%ymm9
|
|
vmovapd %ymm9,%ymm9
|
|
|
|
# qhasm: a6 = mem256[ input_1 + 192 ]
|
|
# asm 1: vmovupd 192(<input_1=int64#2),>a6=reg256#14
|
|
# asm 2: vmovupd 192(<input_1=%rsi),>a6=%ymm13
|
|
vmovupd 192(%rsi),%ymm13
|
|
|
|
# qhasm: r = a6 & b0
|
|
# asm 1: vpand <a6=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a6=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a6=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a6=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r16 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r16=reg256#8,<r16=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r16=%ymm7,<r16=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a6 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a6=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a6=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r17 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r17=reg256#9,<r17=reg256#9
|
|
# asm 2: vpxor <r=%ymm13,<r17=%ymm8,<r17=%ymm8
|
|
vpxor %ymm13,%ymm8,%ymm8
|
|
|
|
# qhasm: r8 ^= r17
|
|
# asm 1: vpxor <r17=reg256#9,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r17=%ymm8,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm8,%ymm11,%ymm11
|
|
|
|
# qhasm: r5 = r17
|
|
# asm 1: vmovapd <r17=reg256#9,>r5=reg256#9
|
|
# asm 2: vmovapd <r17=%ymm8,>r5=%ymm8
|
|
vmovapd %ymm8,%ymm8
|
|
|
|
# qhasm: a5 = mem256[ input_1 + 160 ]
|
|
# asm 1: vmovupd 160(<input_1=int64#2),>a5=reg256#14
|
|
# asm 2: vmovupd 160(<input_1=%rsi),>a5=%ymm13
|
|
vmovupd 160(%rsi),%ymm13
|
|
|
|
# qhasm: r = a5 & b0
|
|
# asm 1: vpand <a5=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a5=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r5 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a5=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a5=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a5 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a5=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a5=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r16 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r16=reg256#8,<r16=reg256#8
|
|
# asm 2: vpxor <r=%ymm13,<r16=%ymm7,<r16=%ymm7
|
|
vpxor %ymm13,%ymm7,%ymm7
|
|
|
|
# qhasm: r7 ^= r16
|
|
# asm 1: vpxor <r16=reg256#8,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r16=%ymm7,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm7,%ymm10,%ymm10
|
|
|
|
# qhasm: r4 = r16
|
|
# asm 1: vmovapd <r16=reg256#8,>r4=reg256#8
|
|
# asm 2: vmovapd <r16=%ymm7,>r4=%ymm7
|
|
vmovapd %ymm7,%ymm7
|
|
|
|
# qhasm: a4 = mem256[ input_1 + 128 ]
|
|
# asm 1: vmovupd 128(<input_1=int64#2),>a4=reg256#14
|
|
# asm 2: vmovupd 128(<input_1=%rsi),>a4=%ymm13
|
|
vmovupd 128(%rsi),%ymm13
|
|
|
|
# qhasm: r = a4 & b0
|
|
# asm 1: vpand <a4=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a4=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r4 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r4=reg256#8,<r4=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r4=%ymm7,<r4=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r5 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a4=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a4=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a4 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a4=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a4=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r15 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r15=reg256#7,<r15=reg256#7
|
|
# asm 2: vpxor <r=%ymm13,<r15=%ymm6,<r15=%ymm6
|
|
vpxor %ymm13,%ymm6,%ymm6
|
|
|
|
# qhasm: r6 ^= r15
|
|
# asm 1: vpxor <r15=reg256#7,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r15=%ymm6,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm6,%ymm9,%ymm9
|
|
|
|
# qhasm: r3 = r15
|
|
# asm 1: vmovapd <r15=reg256#7,>r3=reg256#7
|
|
# asm 2: vmovapd <r15=%ymm6,>r3=%ymm6
|
|
vmovapd %ymm6,%ymm6
|
|
|
|
# qhasm: a3 = mem256[ input_1 + 96 ]
|
|
# asm 1: vmovupd 96(<input_1=int64#2),>a3=reg256#14
|
|
# asm 2: vmovupd 96(<input_1=%rsi),>a3=%ymm13
|
|
vmovupd 96(%rsi),%ymm13
|
|
|
|
# qhasm: r = a3 & b0
|
|
# asm 1: vpand <a3=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a3=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r3 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r3=reg256#7,<r3=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r3=%ymm6,<r3=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r4 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r4=reg256#8,<r4=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r4=%ymm7,<r4=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r5 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a3=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a3=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a3 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a3=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a3=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r14 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r14=reg256#6,<r14=reg256#6
|
|
# asm 2: vpxor <r=%ymm13,<r14=%ymm5,<r14=%ymm5
|
|
vpxor %ymm13,%ymm5,%ymm5
|
|
|
|
# qhasm: r5 ^= r14
|
|
# asm 1: vpxor <r14=reg256#6,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r14=%ymm5,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm5,%ymm8,%ymm8
|
|
|
|
# qhasm: r2 = r14
|
|
# asm 1: vmovapd <r14=reg256#6,>r2=reg256#6
|
|
# asm 2: vmovapd <r14=%ymm5,>r2=%ymm5
|
|
vmovapd %ymm5,%ymm5
|
|
|
|
# qhasm: a2 = mem256[ input_1 + 64 ]
|
|
# asm 1: vmovupd 64(<input_1=int64#2),>a2=reg256#14
|
|
# asm 2: vmovupd 64(<input_1=%rsi),>a2=%ymm13
|
|
vmovupd 64(%rsi),%ymm13
|
|
|
|
# qhasm: r = a2 & b0
|
|
# asm 1: vpand <a2=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a2=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r2 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r2=reg256#6,<r2=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r2=%ymm5,<r2=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r3 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r3=reg256#7,<r3=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r3=%ymm6,<r3=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r4 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r4=reg256#8,<r4=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r4=%ymm7,<r4=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r5 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a2=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a2=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm14,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm14,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a2 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a2=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a2=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r13 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r13=reg256#5,<r13=reg256#5
|
|
# asm 2: vpxor <r=%ymm13,<r13=%ymm4,<r13=%ymm4
|
|
vpxor %ymm13,%ymm4,%ymm4
|
|
|
|
# qhasm: r4 ^= r13
|
|
# asm 1: vpxor <r13=reg256#5,<r4=reg256#8,<r4=reg256#8
|
|
# asm 2: vpxor <r13=%ymm4,<r4=%ymm7,<r4=%ymm7
|
|
vpxor %ymm4,%ymm7,%ymm7
|
|
|
|
# qhasm: r1 = r13
|
|
# asm 1: vmovapd <r13=reg256#5,>r1=reg256#5
|
|
# asm 2: vmovapd <r13=%ymm4,>r1=%ymm4
|
|
vmovapd %ymm4,%ymm4
|
|
|
|
# qhasm: a1 = mem256[ input_1 + 32 ]
|
|
# asm 1: vmovupd 32(<input_1=int64#2),>a1=reg256#14
|
|
# asm 2: vmovupd 32(<input_1=%rsi),>a1=%ymm13
|
|
vmovupd 32(%rsi),%ymm13
|
|
|
|
# qhasm: r = a1 & b0
|
|
# asm 1: vpand <a1=reg256#14,<b0=reg256#1,>r=reg256#15
|
|
# asm 2: vpand <a1=%ymm13,<b0=%ymm0,>r=%ymm14
|
|
vpand %ymm13,%ymm0,%ymm14
|
|
|
|
# qhasm: r1 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r1=reg256#5,<r1=reg256#5
|
|
# asm 2: vpxor <r=%ymm14,<r1=%ymm4,<r1=%ymm4
|
|
vpxor %ymm14,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 32(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 32(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r2 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r2=reg256#6,<r2=reg256#6
|
|
# asm 2: vpxor <r=%ymm14,<r2=%ymm5,<r2=%ymm5
|
|
vpxor %ymm14,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 64(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 64(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r3 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r3=reg256#7,<r3=reg256#7
|
|
# asm 2: vpxor <r=%ymm14,<r3=%ymm6,<r3=%ymm6
|
|
vpxor %ymm14,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 96(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 96(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r4 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r4=reg256#8,<r4=reg256#8
|
|
# asm 2: vpxor <r=%ymm14,<r4=%ymm7,<r4=%ymm7
|
|
vpxor %ymm14,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 128(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 128(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r5 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r=%ymm14,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm14,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 160(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 160(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm14,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm14,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 192(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 192(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm14,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm14,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 224(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 224(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm14,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm14,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 256(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 256(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm14,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm14,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 288(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 288(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm14,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm14,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a1=reg256#14,>r=reg256#15
|
|
# asm 2: vpand 320(<input_2=%rdx),<a1=%ymm13,>r=%ymm14
|
|
vpand 320(%rdx),%ymm13,%ymm14
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#15,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm14,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm14,%ymm2,%ymm2
|
|
|
|
# qhasm: r = a1 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a1=reg256#14,>r=reg256#14
|
|
# asm 2: vpand 352(<input_2=%rdx),<a1=%ymm13,>r=%ymm13
|
|
vpand 352(%rdx),%ymm13,%ymm13
|
|
|
|
# qhasm: r12 ^= r
|
|
# asm 1: vpxor <r=reg256#14,<r12=reg256#4,<r12=reg256#4
|
|
# asm 2: vpxor <r=%ymm13,<r12=%ymm3,<r12=%ymm3
|
|
vpxor %ymm13,%ymm3,%ymm3
|
|
|
|
# qhasm: r3 ^= r12
|
|
# asm 1: vpxor <r12=reg256#4,<r3=reg256#7,<r3=reg256#7
|
|
# asm 2: vpxor <r12=%ymm3,<r3=%ymm6,<r3=%ymm6
|
|
vpxor %ymm3,%ymm6,%ymm6
|
|
|
|
# qhasm: r0 = r12
|
|
# asm 1: vmovapd <r12=reg256#4,>r0=reg256#4
|
|
# asm 2: vmovapd <r12=%ymm3,>r0=%ymm3
|
|
vmovapd %ymm3,%ymm3
|
|
|
|
# qhasm: a0 = mem256[ input_1 + 0 ]
|
|
# asm 1: vmovupd 0(<input_1=int64#2),>a0=reg256#14
|
|
# asm 2: vmovupd 0(<input_1=%rsi),>a0=%ymm13
|
|
vmovupd 0(%rsi),%ymm13
|
|
|
|
# qhasm: r = a0 & b0
|
|
# asm 1: vpand <a0=reg256#14,<b0=reg256#1,>r=reg256#1
|
|
# asm 2: vpand <a0=%ymm13,<b0=%ymm0,>r=%ymm0
|
|
vpand %ymm13,%ymm0,%ymm0
|
|
|
|
# qhasm: r0 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r0=reg256#4,<r0=reg256#4
|
|
# asm 2: vpxor <r=%ymm0,<r0=%ymm3,<r0=%ymm3
|
|
vpxor %ymm0,%ymm3,%ymm3
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 32]
|
|
# asm 1: vpand 32(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 32(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 32(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r1 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r1=reg256#5,<r1=reg256#5
|
|
# asm 2: vpxor <r=%ymm0,<r1=%ymm4,<r1=%ymm4
|
|
vpxor %ymm0,%ymm4,%ymm4
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 64]
|
|
# asm 1: vpand 64(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 64(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 64(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r2 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r2=reg256#6,<r2=reg256#6
|
|
# asm 2: vpxor <r=%ymm0,<r2=%ymm5,<r2=%ymm5
|
|
vpxor %ymm0,%ymm5,%ymm5
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 96]
|
|
# asm 1: vpand 96(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 96(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 96(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r3 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r3=reg256#7,<r3=reg256#7
|
|
# asm 2: vpxor <r=%ymm0,<r3=%ymm6,<r3=%ymm6
|
|
vpxor %ymm0,%ymm6,%ymm6
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 128]
|
|
# asm 1: vpand 128(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 128(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 128(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r4 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r4=reg256#8,<r4=reg256#8
|
|
# asm 2: vpxor <r=%ymm0,<r4=%ymm7,<r4=%ymm7
|
|
vpxor %ymm0,%ymm7,%ymm7
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 160]
|
|
# asm 1: vpand 160(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 160(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 160(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r5 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r5=reg256#9,<r5=reg256#9
|
|
# asm 2: vpxor <r=%ymm0,<r5=%ymm8,<r5=%ymm8
|
|
vpxor %ymm0,%ymm8,%ymm8
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 192]
|
|
# asm 1: vpand 192(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 192(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 192(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r6 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r6=reg256#10,<r6=reg256#10
|
|
# asm 2: vpxor <r=%ymm0,<r6=%ymm9,<r6=%ymm9
|
|
vpxor %ymm0,%ymm9,%ymm9
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 224]
|
|
# asm 1: vpand 224(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 224(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 224(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r7 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r7=reg256#11,<r7=reg256#11
|
|
# asm 2: vpxor <r=%ymm0,<r7=%ymm10,<r7=%ymm10
|
|
vpxor %ymm0,%ymm10,%ymm10
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 256]
|
|
# asm 1: vpand 256(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 256(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 256(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r8 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r8=reg256#12,<r8=reg256#12
|
|
# asm 2: vpxor <r=%ymm0,<r8=%ymm11,<r8=%ymm11
|
|
vpxor %ymm0,%ymm11,%ymm11
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 288]
|
|
# asm 1: vpand 288(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 288(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 288(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r9 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r9=reg256#13,<r9=reg256#13
|
|
# asm 2: vpxor <r=%ymm0,<r9=%ymm12,<r9=%ymm12
|
|
vpxor %ymm0,%ymm12,%ymm12
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 320]
|
|
# asm 1: vpand 320(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 320(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 320(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r10 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r10=reg256#2,<r10=reg256#2
|
|
# asm 2: vpxor <r=%ymm0,<r10=%ymm1,<r10=%ymm1
|
|
vpxor %ymm0,%ymm1,%ymm1
|
|
|
|
# qhasm: r = a0 & mem256[input_2 + 352]
|
|
# asm 1: vpand 352(<input_2=int64#3),<a0=reg256#14,>r=reg256#1
|
|
# asm 2: vpand 352(<input_2=%rdx),<a0=%ymm13,>r=%ymm0
|
|
vpand 352(%rdx),%ymm13,%ymm0
|
|
|
|
# qhasm: r11 ^= r
|
|
# asm 1: vpxor <r=reg256#1,<r11=reg256#3,<r11=reg256#3
|
|
# asm 2: vpxor <r=%ymm0,<r11=%ymm2,<r11=%ymm2
|
|
vpxor %ymm0,%ymm2,%ymm2
|
|
|
|
# qhasm: mem256[ input_0 + 352 ] = r11
|
|
# asm 1: vmovupd <r11=reg256#3,352(<input_0=int64#1)
|
|
# asm 2: vmovupd <r11=%ymm2,352(<input_0=%rdi)
|
|
vmovupd %ymm2,352(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 320 ] = r10
|
|
# asm 1: vmovupd <r10=reg256#2,320(<input_0=int64#1)
|
|
# asm 2: vmovupd <r10=%ymm1,320(<input_0=%rdi)
|
|
vmovupd %ymm1,320(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 288 ] = r9
|
|
# asm 1: vmovupd <r9=reg256#13,288(<input_0=int64#1)
|
|
# asm 2: vmovupd <r9=%ymm12,288(<input_0=%rdi)
|
|
vmovupd %ymm12,288(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 256 ] = r8
|
|
# asm 1: vmovupd <r8=reg256#12,256(<input_0=int64#1)
|
|
# asm 2: vmovupd <r8=%ymm11,256(<input_0=%rdi)
|
|
vmovupd %ymm11,256(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 224 ] = r7
|
|
# asm 1: vmovupd <r7=reg256#11,224(<input_0=int64#1)
|
|
# asm 2: vmovupd <r7=%ymm10,224(<input_0=%rdi)
|
|
vmovupd %ymm10,224(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 192 ] = r6
|
|
# asm 1: vmovupd <r6=reg256#10,192(<input_0=int64#1)
|
|
# asm 2: vmovupd <r6=%ymm9,192(<input_0=%rdi)
|
|
vmovupd %ymm9,192(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 160 ] = r5
|
|
# asm 1: vmovupd <r5=reg256#9,160(<input_0=int64#1)
|
|
# asm 2: vmovupd <r5=%ymm8,160(<input_0=%rdi)
|
|
vmovupd %ymm8,160(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 128 ] = r4
|
|
# asm 1: vmovupd <r4=reg256#8,128(<input_0=int64#1)
|
|
# asm 2: vmovupd <r4=%ymm7,128(<input_0=%rdi)
|
|
vmovupd %ymm7,128(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 96 ] = r3
|
|
# asm 1: vmovupd <r3=reg256#7,96(<input_0=int64#1)
|
|
# asm 2: vmovupd <r3=%ymm6,96(<input_0=%rdi)
|
|
vmovupd %ymm6,96(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 64 ] = r2
|
|
# asm 1: vmovupd <r2=reg256#6,64(<input_0=int64#1)
|
|
# asm 2: vmovupd <r2=%ymm5,64(<input_0=%rdi)
|
|
vmovupd %ymm5,64(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 32 ] = r1
|
|
# asm 1: vmovupd <r1=reg256#5,32(<input_0=int64#1)
|
|
# asm 2: vmovupd <r1=%ymm4,32(<input_0=%rdi)
|
|
vmovupd %ymm4,32(%rdi)
|
|
|
|
# qhasm: mem256[ input_0 + 0 ] = r0
|
|
# asm 1: vmovupd <r0=reg256#4,0(<input_0=int64#1)
|
|
# asm 2: vmovupd <r0=%ymm3,0(<input_0=%rdi)
|
|
vmovupd %ymm3,0(%rdi)
|
|
|
|
# qhasm: return
|
|
add %r11,%rsp
|
|
ret
|