1# Check 64bit instructions with optimized encoding 2 3 .allow_index_reg 4 .text 5_start: 6 testq $0x7f, %rax 7 testl $0x7f, %eax 8 testw $0x7f, %ax 9 testb $0x7f, %al 10 test $0x7f, %rbx 11 test $0x7f, %ebx 12 test $0x7f, %bx 13 test $0x7f, %bl 14 test $0x7f, %rdi 15 test $0x7f, %edi 16 test $0x7f, %di 17 test $0x7f, %dil 18 test $0x7f, %r9 19 test $0x7f, %r9d 20 test $0x7f, %r9w 21 test $0x7f, %r9b 22 test $0x7f, %r12 23 test $0x7f, %r12d 24 test $0x7f, %r12w 25 test $0x7f, %r12b 26 27 and %cl, %cl 28 and %dx, %dx 29 and %ebx, %ebx 30 and %rsp, %rsp 31 32 or %bpl, %bpl 33 or %si, %si 34 or %edi, %edi 35 or %r8, %r8 36 37 vandnpd %zmm1, %zmm1, %zmm5 38 39 vmovdqa32 %xmm1, %xmm2 40 vmovdqa64 %xmm1, %xmm2 41 vmovdqu8 %xmm1, %xmm2 42 vmovdqu16 %xmm1, %xmm2 43 vmovdqu32 %xmm1, %xmm2 44 vmovdqu64 %xmm1, %xmm2 45 46 vmovdqa32 %xmm11, %xmm12 47 vmovdqa64 %xmm11, %xmm12 48 vmovdqu8 %xmm11, %xmm12 49 vmovdqu16 %xmm11, %xmm12 50 vmovdqu32 %xmm11, %xmm12 51 vmovdqu64 %xmm11, %xmm12 52 53 vmovdqa32 127(%rax), %xmm2 54 vmovdqa64 127(%rax), %xmm2 55 vmovdqu8 127(%rax), %xmm2 56 vmovdqu16 127(%rax), %xmm2 57 vmovdqu32 127(%rax), %xmm2 58 vmovdqu64 127(%rax), %xmm2 59 60 vmovdqa32 %xmm1, 128(%rax) 61 vmovdqa64 %xmm1, 128(%rax) 62 vmovdqu8 %xmm1, 128(%rax) 63 vmovdqu16 %xmm1, 128(%rax) 64 vmovdqu32 %xmm1, 128(%rax) 65 vmovdqu64 %xmm1, 128(%rax) 66 67 vmovdqa32 %ymm1, %ymm2 68 vmovdqa64 %ymm1, %ymm2 69 vmovdqu8 %ymm1, %ymm2 70 vmovdqu16 %ymm1, %ymm2 71 vmovdqu32 %ymm1, %ymm2 72 vmovdqu64 %ymm1, %ymm2 73 74 vmovdqa32 %ymm11, %ymm12 75 vmovdqa64 %ymm11, %ymm12 76 vmovdqu8 %ymm11, %ymm12 77 vmovdqu16 %ymm11, %ymm12 78 vmovdqu32 %ymm11, %ymm12 79 vmovdqu64 %ymm11, %ymm12 80 81 vmovdqa32 127(%rax), %ymm2 82 vmovdqa64 127(%rax), %ymm2 83 vmovdqu8 127(%rax), %ymm2 84 vmovdqu16 127(%rax), %ymm2 85 vmovdqu32 127(%rax), %ymm2 86 vmovdqu64 127(%rax), %ymm2 87 88 vmovdqa32 %ymm1, 128(%rax) 89 vmovdqa64 %ymm1, 128(%rax) 90 vmovdqu8 %ymm1, 128(%rax) 91 vmovdqu16 %ymm1, 128(%rax) 92 vmovdqu32 %ymm1, 128(%rax) 93 vmovdqu64 %ymm1, 128(%rax) 94 95 vmovdqa32 %xmm21, %xmm2 96 vmovdqa64 %xmm21, %xmm2 97 vmovdqu8 %xmm21, %xmm2 98 vmovdqu16 %xmm21, %xmm2 99 vmovdqu32 %xmm21, %xmm2 100 vmovdqu64 %xmm21, %xmm2 101 102 vmovdqa32 %zmm1, %zmm2 103 vmovdqa64 %zmm1, %zmm2 104 vmovdqu8 %zmm1, %zmm2 105 vmovdqu16 %zmm1, %zmm2 106 vmovdqu32 %zmm1, %zmm2 107 vmovdqu64 %zmm1, %zmm2 108 109 {evex} vmovdqa32 %ymm1, %ymm2 110 {evex} vmovdqa64 %ymm1, %ymm2 111 {evex} vmovdqu8 %xmm1, %xmm2 112 {evex} vmovdqu16 %xmm1, %xmm2 113 {evex} vmovdqu32 %xmm1, %xmm2 114 {evex} vmovdqu64 %xmm1, %xmm2 115 116 vmovdqa32 %ymm1, %ymm2{%k1} 117 vmovdqa64 %ymm1, %ymm2{%k1} 118 vmovdqu8 %xmm1, %xmm2{%k1} 119 vmovdqu16 %xmm1, %xmm2{%k1} 120 vmovdqu32 %xmm1, %xmm2{%k1} 121 vmovdqu64 %xmm1, %xmm2{%k1} 122 123 vmovdqa32 (%rax), %ymm2{%k1} 124 vmovdqa64 (%rax), %ymm2{%k1} 125 vmovdqu8 (%rax), %xmm2{%k1} 126 vmovdqu16 (%rax), %xmm2{%k1} 127 vmovdqu32 (%rax), %xmm2{%k1} 128 vmovdqu64 (%rax), %xmm2{%k1} 129 130 vmovdqa32 %ymm1, (%rax){%k1} 131 vmovdqa64 %ymm1, (%rax){%k1} 132 vmovdqu8 %xmm1, (%rax){%k1} 133 vmovdqu16 %xmm1, (%rax){%k1} 134 vmovdqu32 %xmm1, (%rax){%k1} 135 vmovdqu64 %xmm1, (%rax){%k1} 136 137 vmovdqa32 %xmm1, %xmm2{%k1}{z} 138 vmovdqa64 %xmm1, %xmm2{%k1}{z} 139 vmovdqu8 %xmm1, %xmm2{%k1}{z} 140 vmovdqu16 %xmm1, %xmm2{%k1}{z} 141 vmovdqu32 %xmm1, %xmm2{%k1}{z} 142 vmovdqu64 %xmm1, %xmm2{%k1}{z} 143 144 vpandd %xmm2, %xmm3, %xmm4 145 vpandq %xmm12, %xmm3, %xmm4 146 vpandnd %xmm2, %xmm13, %xmm4 147 vpandnq %xmm2, %xmm3, %xmm14 148 vpord %xmm2, %xmm3, %xmm4 149 vporq %xmm12, %xmm3, %xmm4 150 vpxord %xmm2, %xmm13, %xmm4 151 vpxorq %xmm2, %xmm3, %xmm14 152 153 vpandd %ymm2, %ymm3, %ymm4 154 vpandq %ymm12, %ymm3, %ymm4 155 vpandnd %ymm2, %ymm13, %ymm4 156 vpandnq %ymm2, %ymm3, %ymm14 157 vpord %ymm2, %ymm3, %ymm4 158 vporq %ymm12, %ymm3, %ymm4 159 vpxord %ymm2, %ymm13, %ymm4 160 vpxorq %ymm2, %ymm3, %ymm14 161 162 vpandd 112(%rax), %xmm2, %xmm3 163 vpandq 112(%rax), %xmm2, %xmm3 164 vpandnd 112(%rax), %xmm2, %xmm3 165 vpandnq 112(%rax), %xmm2, %xmm3 166 vpord 112(%rax), %xmm2, %xmm3 167 vporq 112(%rax), %xmm2, %xmm3 168 vpxord 112(%rax), %xmm2, %xmm3 169 vpxorq 112(%rax), %xmm2, %xmm3 170 171 vpandd 128(%rax), %xmm2, %xmm3 172 vpandq 128(%rax), %xmm2, %xmm3 173 vpandnd 128(%rax), %xmm2, %xmm3 174 vpandnq 128(%rax), %xmm2, %xmm3 175 vpord 128(%rax), %xmm2, %xmm3 176 vporq 128(%rax), %xmm2, %xmm3 177 vpxord 128(%rax), %xmm2, %xmm3 178 vpxorq 128(%rax), %xmm2, %xmm3 179 180 vpandd 96(%rax), %ymm2, %ymm3 181 vpandq 96(%rax), %ymm2, %ymm3 182 vpandnd 96(%rax), %ymm2, %ymm3 183 vpandnq 96(%rax), %ymm2, %ymm3 184 vpord 96(%rax), %ymm2, %ymm3 185 vporq 96(%rax), %ymm2, %ymm3 186 vpxord 96(%rax), %ymm2, %ymm3 187 vpxorq 96(%rax), %ymm2, %ymm3 188 189 vpandd 128(%rax), %ymm2, %ymm3 190 vpandq 128(%rax), %ymm2, %ymm3 191 vpandnd 128(%rax), %ymm2, %ymm3 192 vpandnq 128(%rax), %ymm2, %ymm3 193 vpord 128(%rax), %ymm2, %ymm3 194 vporq 128(%rax), %ymm2, %ymm3 195 vpxord 128(%rax), %ymm2, %ymm3 196 vpxorq 128(%rax), %ymm2, %ymm3 197 198 vpandd %xmm22, %xmm23, %xmm24 199 vpandq %ymm22, %ymm3, %ymm4 200 vpandnd %ymm2, %ymm23, %ymm4 201 vpandnq %xmm2, %xmm3, %xmm24 202 vpord %xmm22, %xmm23, %xmm24 203 vporq %ymm22, %ymm3, %ymm4 204 vpxord %ymm2, %ymm23, %ymm4 205 vpxorq %xmm2, %xmm3, %xmm24 206 207 vpandd %xmm2, %xmm3, %xmm4{%k5} 208 vpandq %ymm12, %ymm3, %ymm4{%k5} 209 vpandnd %ymm2, %ymm13, %ymm4{%k5} 210 vpandnq %xmm2, %xmm3, %xmm14{%k5} 211 vpord %xmm2, %xmm3, %xmm4{%k5} 212 vporq %ymm12, %ymm3, %ymm4{%k5} 213 vpxord %ymm2, %ymm13, %ymm4{%k5} 214 vpxorq %xmm2, %xmm3, %xmm14{%k5} 215 216 vpandd (%rax){1to8}, %ymm2, %ymm3 217 vpandq (%rax){1to2}, %xmm2, %xmm3 218 vpandnd (%rax){1to4}, %xmm2, %xmm3 219 vpandnq (%rax){1to4}, %ymm2, %ymm3 220 vpord (%rax){1to8}, %ymm2, %ymm3 221 vporq (%rax){1to2}, %xmm2, %xmm3 222 vpxord (%rax){1to4}, %xmm2, %xmm3 223 vpxorq (%rax){1to4}, %ymm2, %ymm3 224