223 lines
5.3 KiB
ArmAsm
223 lines
5.3 KiB
ArmAsm
# Check 64bit instructions with optimized encoding
|
|
|
|
.allow_index_reg
|
|
.text
|
|
_start:
|
|
testq $0x7f, %rax
|
|
testl $0x7f, %eax
|
|
testw $0x7f, %ax
|
|
testb $0x7f, %al
|
|
test $0x7f, %rbx
|
|
test $0x7f, %ebx
|
|
test $0x7f, %bx
|
|
test $0x7f, %bl
|
|
test $0x7f, %rdi
|
|
test $0x7f, %edi
|
|
test $0x7f, %di
|
|
test $0x7f, %dil
|
|
test $0x7f, %r9
|
|
test $0x7f, %r9d
|
|
test $0x7f, %r9w
|
|
test $0x7f, %r9b
|
|
test $0x7f, %r12
|
|
test $0x7f, %r12d
|
|
test $0x7f, %r12w
|
|
test $0x7f, %r12b
|
|
|
|
and %cl, %cl
|
|
and %dx, %dx
|
|
and %ebx, %ebx
|
|
and %rsp, %rsp
|
|
|
|
or %bpl, %bpl
|
|
or %si, %si
|
|
or %edi, %edi
|
|
or %r8, %r8
|
|
|
|
vandnpd %zmm1, %zmm1, %zmm5
|
|
|
|
vmovdqa32 %xmm1, %xmm2
|
|
vmovdqa64 %xmm1, %xmm2
|
|
vmovdqu8 %xmm1, %xmm2
|
|
vmovdqu16 %xmm1, %xmm2
|
|
vmovdqu32 %xmm1, %xmm2
|
|
vmovdqu64 %xmm1, %xmm2
|
|
|
|
vmovdqa32 %xmm11, %xmm12
|
|
vmovdqa64 %xmm11, %xmm12
|
|
vmovdqu8 %xmm11, %xmm12
|
|
vmovdqu16 %xmm11, %xmm12
|
|
vmovdqu32 %xmm11, %xmm12
|
|
vmovdqu64 %xmm11, %xmm12
|
|
|
|
vmovdqa32 127(%rax), %xmm2
|
|
vmovdqa64 127(%rax), %xmm2
|
|
vmovdqu8 127(%rax), %xmm2
|
|
vmovdqu16 127(%rax), %xmm2
|
|
vmovdqu32 127(%rax), %xmm2
|
|
vmovdqu64 127(%rax), %xmm2
|
|
|
|
vmovdqa32 %xmm1, 128(%rax)
|
|
vmovdqa64 %xmm1, 128(%rax)
|
|
vmovdqu8 %xmm1, 128(%rax)
|
|
vmovdqu16 %xmm1, 128(%rax)
|
|
vmovdqu32 %xmm1, 128(%rax)
|
|
vmovdqu64 %xmm1, 128(%rax)
|
|
|
|
vmovdqa32 %ymm1, %ymm2
|
|
vmovdqa64 %ymm1, %ymm2
|
|
vmovdqu8 %ymm1, %ymm2
|
|
vmovdqu16 %ymm1, %ymm2
|
|
vmovdqu32 %ymm1, %ymm2
|
|
vmovdqu64 %ymm1, %ymm2
|
|
|
|
vmovdqa32 %ymm11, %ymm12
|
|
vmovdqa64 %ymm11, %ymm12
|
|
vmovdqu8 %ymm11, %ymm12
|
|
vmovdqu16 %ymm11, %ymm12
|
|
vmovdqu32 %ymm11, %ymm12
|
|
vmovdqu64 %ymm11, %ymm12
|
|
|
|
vmovdqa32 127(%rax), %ymm2
|
|
vmovdqa64 127(%rax), %ymm2
|
|
vmovdqu8 127(%rax), %ymm2
|
|
vmovdqu16 127(%rax), %ymm2
|
|
vmovdqu32 127(%rax), %ymm2
|
|
vmovdqu64 127(%rax), %ymm2
|
|
|
|
vmovdqa32 %ymm1, 128(%rax)
|
|
vmovdqa64 %ymm1, 128(%rax)
|
|
vmovdqu8 %ymm1, 128(%rax)
|
|
vmovdqu16 %ymm1, 128(%rax)
|
|
vmovdqu32 %ymm1, 128(%rax)
|
|
vmovdqu64 %ymm1, 128(%rax)
|
|
|
|
vmovdqa32 %xmm21, %xmm2
|
|
vmovdqa64 %xmm21, %xmm2
|
|
vmovdqu8 %xmm21, %xmm2
|
|
vmovdqu16 %xmm21, %xmm2
|
|
vmovdqu32 %xmm21, %xmm2
|
|
vmovdqu64 %xmm21, %xmm2
|
|
|
|
vmovdqa32 %zmm1, %zmm2
|
|
vmovdqa64 %zmm1, %zmm2
|
|
vmovdqu8 %zmm1, %zmm2
|
|
vmovdqu16 %zmm1, %zmm2
|
|
vmovdqu32 %zmm1, %zmm2
|
|
vmovdqu64 %zmm1, %zmm2
|
|
|
|
{evex} vmovdqa32 %ymm1, %ymm2
|
|
{evex} vmovdqa64 %ymm1, %ymm2
|
|
{evex} vmovdqu8 %xmm1, %xmm2
|
|
{evex} vmovdqu16 %xmm1, %xmm2
|
|
{evex} vmovdqu32 %xmm1, %xmm2
|
|
{evex} vmovdqu64 %xmm1, %xmm2
|
|
|
|
vmovdqa32 %ymm1, %ymm2{%k1}
|
|
vmovdqa64 %ymm1, %ymm2{%k1}
|
|
vmovdqu8 %xmm1, %xmm2{%k1}
|
|
vmovdqu16 %xmm1, %xmm2{%k1}
|
|
vmovdqu32 %xmm1, %xmm2{%k1}
|
|
vmovdqu64 %xmm1, %xmm2{%k1}
|
|
|
|
vmovdqa32 (%rax), %ymm2{%k1}
|
|
vmovdqa64 (%rax), %ymm2{%k1}
|
|
vmovdqu8 (%rax), %xmm2{%k1}
|
|
vmovdqu16 (%rax), %xmm2{%k1}
|
|
vmovdqu32 (%rax), %xmm2{%k1}
|
|
vmovdqu64 (%rax), %xmm2{%k1}
|
|
|
|
vmovdqa32 %ymm1, (%rax){%k1}
|
|
vmovdqa64 %ymm1, (%rax){%k1}
|
|
vmovdqu8 %xmm1, (%rax){%k1}
|
|
vmovdqu16 %xmm1, (%rax){%k1}
|
|
vmovdqu32 %xmm1, (%rax){%k1}
|
|
vmovdqu64 %xmm1, (%rax){%k1}
|
|
|
|
vmovdqa32 %xmm1, %xmm2{%k1}{z}
|
|
vmovdqa64 %xmm1, %xmm2{%k1}{z}
|
|
vmovdqu8 %xmm1, %xmm2{%k1}{z}
|
|
vmovdqu16 %xmm1, %xmm2{%k1}{z}
|
|
vmovdqu32 %xmm1, %xmm2{%k1}{z}
|
|
vmovdqu64 %xmm1, %xmm2{%k1}{z}
|
|
|
|
vpandd %xmm2, %xmm3, %xmm4
|
|
vpandq %xmm12, %xmm3, %xmm4
|
|
vpandnd %xmm2, %xmm13, %xmm4
|
|
vpandnq %xmm2, %xmm3, %xmm14
|
|
vpord %xmm2, %xmm3, %xmm4
|
|
vporq %xmm12, %xmm3, %xmm4
|
|
vpxord %xmm2, %xmm13, %xmm4
|
|
vpxorq %xmm2, %xmm3, %xmm14
|
|
|
|
vpandd %ymm2, %ymm3, %ymm4
|
|
vpandq %ymm12, %ymm3, %ymm4
|
|
vpandnd %ymm2, %ymm13, %ymm4
|
|
vpandnq %ymm2, %ymm3, %ymm14
|
|
vpord %ymm2, %ymm3, %ymm4
|
|
vporq %ymm12, %ymm3, %ymm4
|
|
vpxord %ymm2, %ymm13, %ymm4
|
|
vpxorq %ymm2, %ymm3, %ymm14
|
|
|
|
vpandd 112(%rax), %xmm2, %xmm3
|
|
vpandq 112(%rax), %xmm2, %xmm3
|
|
vpandnd 112(%rax), %xmm2, %xmm3
|
|
vpandnq 112(%rax), %xmm2, %xmm3
|
|
vpord 112(%rax), %xmm2, %xmm3
|
|
vporq 112(%rax), %xmm2, %xmm3
|
|
vpxord 112(%rax), %xmm2, %xmm3
|
|
vpxorq 112(%rax), %xmm2, %xmm3
|
|
|
|
vpandd 128(%rax), %xmm2, %xmm3
|
|
vpandq 128(%rax), %xmm2, %xmm3
|
|
vpandnd 128(%rax), %xmm2, %xmm3
|
|
vpandnq 128(%rax), %xmm2, %xmm3
|
|
vpord 128(%rax), %xmm2, %xmm3
|
|
vporq 128(%rax), %xmm2, %xmm3
|
|
vpxord 128(%rax), %xmm2, %xmm3
|
|
vpxorq 128(%rax), %xmm2, %xmm3
|
|
|
|
vpandd 96(%rax), %ymm2, %ymm3
|
|
vpandq 96(%rax), %ymm2, %ymm3
|
|
vpandnd 96(%rax), %ymm2, %ymm3
|
|
vpandnq 96(%rax), %ymm2, %ymm3
|
|
vpord 96(%rax), %ymm2, %ymm3
|
|
vporq 96(%rax), %ymm2, %ymm3
|
|
vpxord 96(%rax), %ymm2, %ymm3
|
|
vpxorq 96(%rax), %ymm2, %ymm3
|
|
|
|
vpandd 128(%rax), %ymm2, %ymm3
|
|
vpandq 128(%rax), %ymm2, %ymm3
|
|
vpandnd 128(%rax), %ymm2, %ymm3
|
|
vpandnq 128(%rax), %ymm2, %ymm3
|
|
vpord 128(%rax), %ymm2, %ymm3
|
|
vporq 128(%rax), %ymm2, %ymm3
|
|
vpxord 128(%rax), %ymm2, %ymm3
|
|
vpxorq 128(%rax), %ymm2, %ymm3
|
|
|
|
vpandd %xmm22, %xmm23, %xmm24
|
|
vpandq %ymm22, %ymm3, %ymm4
|
|
vpandnd %ymm2, %ymm23, %ymm4
|
|
vpandnq %xmm2, %xmm3, %xmm24
|
|
vpord %xmm22, %xmm23, %xmm24
|
|
vporq %ymm22, %ymm3, %ymm4
|
|
vpxord %ymm2, %ymm23, %ymm4
|
|
vpxorq %xmm2, %xmm3, %xmm24
|
|
|
|
vpandd %xmm2, %xmm3, %xmm4{%k5}
|
|
vpandq %ymm12, %ymm3, %ymm4{%k5}
|
|
vpandnd %ymm2, %ymm13, %ymm4{%k5}
|
|
vpandnq %xmm2, %xmm3, %xmm14{%k5}
|
|
vpord %xmm2, %xmm3, %xmm4{%k5}
|
|
vporq %ymm12, %ymm3, %ymm4{%k5}
|
|
vpxord %ymm2, %ymm13, %ymm4{%k5}
|
|
vpxorq %xmm2, %xmm3, %xmm14{%k5}
|
|
|
|
vpandd (%rax){1to8}, %ymm2, %ymm3
|
|
vpandq (%rax){1to2}, %xmm2, %xmm3
|
|
vpandnd (%rax){1to4}, %xmm2, %xmm3
|
|
vpandnq (%rax){1to4}, %ymm2, %ymm3
|
|
vpord (%rax){1to8}, %ymm2, %ymm3
|
|
vporq (%rax){1to2}, %xmm2, %xmm3
|
|
vpxord (%rax){1to4}, %xmm2, %xmm3
|
|
vpxorq (%rax){1to4}, %ymm2, %ymm3
|