1# Check instructions with pseudo prefixes for encoding 2 3 .text 4_start: 5 {vex3} vmovaps %xmm7,%xmm2 6 {vex3} {load} vmovaps %xmm7,%xmm2 7 {vex3} {store} vmovaps %xmm7,%xmm2 8 vmovaps %xmm7,%xmm2 9 {vex} vmovaps %xmm7,%xmm2 10 {vex} {load} vmovaps %xmm7,%xmm2 11 {vex} {store} vmovaps %xmm7,%xmm2 12 {vex3} vmovaps (%eax),%xmm2 13 vmovaps (%eax),%xmm2 14 {vex2} vmovaps (%eax),%xmm2 15 {evex} vmovaps (%eax),%xmm2 16 {disp32} vmovaps (%eax),%xmm2 17 {evex} {disp8} vmovaps (%eax),%xmm2 18 {evex} {disp32} vmovaps (%eax),%xmm2 19 20 {vex} {disp8} vmovaps 128(%eax),%xmm2 21 {vex} {disp32} vmovaps 128(%eax),%xmm2 22 {evex} {disp8} vmovaps 128(%eax),%xmm2 23 {evex} {disp32} vmovaps 128(%eax),%xmm2 24 25 mov %ecx, %eax 26 {load} mov %ecx, %eax 27 {store} mov %ecx, %eax 28 adc %ecx, %eax 29 {load} adc %ecx, %eax 30 {store} adc %ecx, %eax 31 add %ecx, %eax 32 {load} add %ecx, %eax 33 {store} add %ecx, %eax 34 and %ecx, %eax 35 {load} and %ecx, %eax 36 {store} and %ecx, %eax 37 cmp %ecx, %eax 38 {load} cmp %ecx, %eax 39 {store} cmp %ecx, %eax 40 or %ecx, %eax 41 {load} or %ecx, %eax 42 {store} or %ecx, %eax 43 sbb %ecx, %eax 44 {load} sbb %ecx, %eax 45 {store} sbb %ecx, %eax 46 sub %ecx, %eax 47 {load} sub %ecx, %eax 48 {store} sub %ecx, %eax 49 xor %ecx, %eax 50 {load} xor %ecx, %eax 51 {store} xor %ecx, %eax 52 53 {load} mov 0x12345678, %eax 54 {load} mov %eax, 0x12345678 55 {store} mov 0x12345678, %eax 56 {store} mov %eax, 0x12345678 57 {load} mov %eax, (%edi) 58 {load} mov (%edi), %eax 59 {store} mov %eax, (%edi) 60 {store} mov (%edi), %eax 61 {load} mov %es, %edi 62 {load} mov %eax, %gs 63 {store} mov %es, %edi 64 {store} mov %eax, %gs 65 {load} mov %cr0, %edi 66 {load} mov %eax, %cr7 67 {store} mov %cr0, %edi 68 {store} mov %eax, %cr7 69 {load} mov %dr0, %edi 70 {load} mov %eax, %dr7 71 {store} mov %dr0, %edi 72 {store} mov %eax, %dr7 73 {load} kmovb %k0, %edi 74 {load} kmovb %eax, %k7 75 {store} kmovb %k0, %edi 76 {store} kmovb %eax, %k7 77 {load} kmovd %k0, %edi 78 {load} kmovd %eax, %k7 79 {store} kmovd %k0, %edi 80 {store} kmovd %eax, %k7 81 {load} kmovw %k0, %edi 82 {load} kmovw %eax, %k7 83 {store} kmovw %k0, %edi 84 {store} kmovw %eax, %k7 85 {load} kmovb %k0, %k7 86 {store} kmovb %k0, %k7 87 {load} kmovd %k0, %k7 88 {store} kmovd %k0, %k7 89 {load} kmovq %k0, %k7 90 {store} kmovq %k0, %k7 91 {load} kmovw %k0, %k7 92 {store} kmovw %k0, %k7 93 {load} adc %eax, (%edi) 94 {load} adc (%edi), %eax 95 {store} adc %eax, (%edi) 96 {store} adc (%edi), %eax 97 {load} add %eax, (%edi) 98 {load} add (%edi), %eax 99 {store} add %eax, (%edi) 100 {store} add (%edi), %eax 101 {load} and %eax, (%edi) 102 {load} and (%edi), %eax 103 {store} and %eax, (%edi) 104 {store} and (%edi), %eax 105 {load} cmp %eax, (%edi) 106 {load} cmp (%edi), %eax 107 {store} cmp %eax, (%edi) 108 {store} cmp (%edi), %eax 109 {load} or %eax, (%edi) 110 {load} or (%edi), %eax 111 {store} or %eax, (%edi) 112 {store} or (%edi), %eax 113 {load} sbb %eax, (%edi) 114 {load} sbb (%edi), %eax 115 {store} sbb %eax, (%edi) 116 {store} sbb (%edi), %eax 117 {load} sub %eax, (%edi) 118 {load} sub (%edi), %eax 119 {store} sub %eax, (%edi) 120 {store} sub (%edi), %eax 121 {load} xor %eax, (%edi) 122 {load} xor (%edi), %eax 123 {store} xor %eax, (%edi) 124 {store} xor (%edi), %eax 125 126 fadd %st, %st 127 {load} fadd %st, %st 128 {store} fadd %st, %st 129 fdiv %st, %st 130 {load} fdiv %st, %st 131 {store} fdiv %st, %st 132 fdivr %st, %st 133 {load} fdivr %st, %st 134 {store} fdivr %st, %st 135 fmul %st, %st 136 {load} fmul %st, %st 137 {store} fmul %st, %st 138 fsub %st, %st 139 {load} fsub %st, %st 140 {store} fsub %st, %st 141 fsubr %st, %st 142 {load} fsubr %st, %st 143 {store} fsubr %st, %st 144 145 movq %mm0, %mm7 146 {load} movq %mm0, %mm7 147 {store} movq %mm0, %mm7 148 149 movaps %xmm0, %xmm7 150 {load} movaps %xmm0, %xmm7 151 {store} movaps %xmm0, %xmm7 152 movups %xmm0, %xmm7 153 {load} movups %xmm0, %xmm7 154 {store} movups %xmm0, %xmm7 155 movss %xmm0, %xmm7 156 {load} movss %xmm0, %xmm7 157 {store} movss %xmm0, %xmm7 158 movapd %xmm0, %xmm7 159 {load} movapd %xmm0, %xmm7 160 {store} movapd %xmm0, %xmm7 161 movupd %xmm0, %xmm7 162 {load} movupd %xmm0, %xmm7 163 {store} movupd %xmm0, %xmm7 164 movsd %xmm0, %xmm7 165 {load} movsd %xmm0, %xmm7 166 {store} movsd %xmm0, %xmm7 167 movdqa %xmm0, %xmm7 168 {load} movdqa %xmm0, %xmm7 169 {store} movdqa %xmm0, %xmm7 170 movdqu %xmm0, %xmm7 171 {load} movdqu %xmm0, %xmm7 172 {store} movdqu %xmm0, %xmm7 173 movq %xmm0, %xmm7 174 {load} movq %xmm0, %xmm7 175 {store} movq %xmm0, %xmm7 176 vmovaps %xmm0, %xmm7 177 {load} vmovaps %xmm0, %xmm7 178 {store} vmovaps %xmm0, %xmm7 179 vmovaps %zmm0, %zmm7 180 {load} vmovaps %zmm0, %zmm7 181 {store} vmovaps %zmm0, %zmm7 182 vmovaps %xmm0, %xmm7{%k7} 183 {load} vmovaps %xmm0, %xmm7{%k7} 184 {store} vmovaps %xmm0, %xmm7{%k7} 185 vmovups %zmm0, %zmm7 186 {load} vmovups %zmm0, %zmm7 187 {store} vmovups %zmm0, %zmm7 188 vmovups %xmm0, %xmm7 189 {load} vmovups %xmm0, %xmm7 190 {store} vmovups %xmm0, %xmm7 191 vmovups %xmm0, %xmm7{%k7} 192 {load} vmovups %xmm0, %xmm7{%k7} 193 {store} vmovups %xmm0, %xmm7{%k7} 194 vmovss %xmm0, %xmm1, %xmm7 195 {load} vmovss %xmm0, %xmm1, %xmm7 196 {store} vmovss %xmm0, %xmm1, %xmm7 197 vmovss %xmm0, %xmm1, %xmm7{%k7} 198 {load} vmovss %xmm0, %xmm1, %xmm7{%k7} 199 {store} vmovss %xmm0, %xmm1, %xmm7{%k7} 200 vmovapd %xmm0, %xmm7 201 {load} vmovapd %xmm0, %xmm7 202 {store} vmovapd %xmm0, %xmm7 203 vmovapd %zmm0, %zmm7 204 {load} vmovapd %zmm0, %zmm7 205 {store} vmovapd %zmm0, %zmm7 206 vmovapd %xmm0, %xmm7{%k7} 207 {load} vmovapd %xmm0, %xmm7{%k7} 208 {store} vmovapd %xmm0, %xmm7{%k7} 209 vmovupd %xmm0, %xmm7 210 {load} vmovupd %xmm0, %xmm7 211 {store} vmovupd %xmm0, %xmm7 212 vmovupd %zmm0, %zmm7 213 {load} vmovupd %zmm0, %zmm7 214 {store} vmovupd %zmm0, %zmm7 215 vmovupd %xmm0, %xmm7{%k7} 216 {load} vmovupd %xmm0, %xmm7{%k7} 217 {store} vmovupd %xmm0, %xmm7{%k7} 218 vmovsd %xmm0, %xmm1, %xmm7 219 {load} vmovsd %xmm0, %xmm1, %xmm7 220 {store} vmovsd %xmm0, %xmm1, %xmm7 221 vmovsd %xmm0, %xmm1, %xmm7{%k7} 222 {load} vmovsd %xmm0, %xmm1, %xmm7{%k7} 223 {store} vmovsd %xmm0, %xmm1, %xmm7{%k7} 224 vmovdqa %xmm0, %xmm7 225 {load} vmovdqa %xmm0, %xmm7 226 {store} vmovdqa %xmm0, %xmm7 227 vmovdqa32 %zmm0, %zmm7 228 {load} vmovdqa32 %zmm0, %zmm7 229 {store} vmovdqa32 %zmm0, %zmm7 230 vmovdqa32 %xmm0, %xmm7 231 {load} vmovdqa32 %xmm0, %xmm7 232 {store} vmovdqa32 %xmm0, %xmm7 233 vmovdqa64 %zmm0, %zmm7 234 {load} vmovdqa64 %zmm0, %zmm7 235 {store} vmovdqa64 %zmm0, %zmm7 236 vmovdqa64 %xmm0, %xmm7 237 {load} vmovdqa64 %xmm0, %xmm7 238 {store} vmovdqa64 %xmm0, %xmm7 239 vmovdqu %xmm0, %xmm7 240 {load} vmovdqu %xmm0, %xmm7 241 {store} vmovdqu %xmm0, %xmm7 242 vmovdqu8 %zmm0, %zmm7 243 {load} vmovdqu8 %zmm0, %zmm7 244 {store} vmovdqu8 %zmm0, %zmm7 245 vmovdqu8 %xmm0, %xmm7 246 {load} vmovdqu8 %xmm0, %xmm7 247 {store} vmovdqu8 %zmm0, %zmm7 248 vmovdqu16 %zmm0, %zmm7 249 {load} vmovdqu16 %zmm0, %zmm7 250 {store} vmovdqu16 %zmm0, %zmm7 251 vmovdqu16 %xmm0, %xmm7 252 {load} vmovdqu16 %xmm0, %xmm7 253 {store} vmovdqu16 %xmm0, %xmm7 254 vmovdqu32 %zmm0, %zmm7 255 {load} vmovdqu32 %zmm0, %zmm7 256 {store} vmovdqu32 %zmm0, %zmm7 257 vmovdqu32 %xmm0, %xmm7 258 {load} vmovdqu32 %xmm0, %xmm7 259 {store} vmovdqu32 %xmm0, %xmm7 260 vmovdqu64 %zmm0, %zmm7 261 {load} vmovdqu64 %zmm0, %zmm7 262 {store} vmovdqu64 %zmm0, %zmm7 263 vmovdqu64 %xmm0, %xmm7 264 {load} vmovdqu64 %xmm0, %xmm7 265 {store} vmovdqu64 %xmm0, %xmm7 266 vmovq %xmm0, %xmm7 267 {load} vmovq %xmm0, %xmm7 268 {store} vmovq %xmm0, %xmm7 269 {evex} vmovq %xmm0, %xmm7 270 {load} {evex} vmovq %xmm0, %xmm7 271 {store} {evex} vmovq %xmm0, %xmm7 272 273 pextrw $0, %xmm0, %edi 274 {load} pextrw $0, %xmm0, %edi 275 {store} pextrw $0, %xmm0, %edi 276 277 vpextrw $0, %xmm0, %edi 278 {load} vpextrw $0, %xmm0, %edi 279 {store} vpextrw $0, %xmm0, %edi 280 281 {evex} vpextrw $0, %xmm0, %edi 282 {load} {evex} vpextrw $0, %xmm0, %edi 283 {store} {evex} vpextrw $0, %xmm0, %edi 284 285 bndmov %bnd3, %bnd0 286 {load} bndmov %bnd3, %bnd0 287 {store} bndmov %bnd3, %bnd0 288 289 movaps (%eax),%xmm2 290 {load} movaps (%eax),%xmm2 291 {store} movaps (%eax),%xmm2 292 {disp8} movaps (%eax),%xmm2 293 {disp32} movaps (%eax),%xmm2 294 movaps -1(%eax),%xmm2 295 {disp8} movaps -1(%eax),%xmm2 296 {disp32} movaps -1(%eax),%xmm2 297 movaps 128(%eax),%xmm2 298 {disp8} movaps 128(%eax),%xmm2 299 {disp32} movaps 128(%eax),%xmm2 300 301 movb (%ebp),%al 302 {disp8} movb (%ebp),%al 303 {disp32} movb (%ebp),%al 304 305 movb (%si),%al 306 {disp8} movb (%si),%al 307 {disp16} movb (%si),%al 308 309 movb (%di),%al 310 {disp8} movb (%di),%al 311 {disp16} movb (%di),%al 312 313 movb (%bx),%al 314 {disp8} movb (%bx),%al 315 {disp16} movb (%bx),%al 316 317 movb (%bp),%al 318 {disp8} movb (%bp),%al 319 {disp16} movb (%bp),%al 320 321 .intel_syntax noprefix 322 {vex3} vmovaps xmm2,xmm7 323 {vex3} {load} vmovaps xmm2,xmm7 324 {vex3} {store} vmovaps xmm2,xmm7 325 vmovaps xmm2,xmm7 326 {vex2} vmovaps xmm2,xmm7 327 {vex2} {load} vmovaps xmm2,xmm7 328 {vex2} {store} vmovaps xmm2,xmm7 329 {vex3} vmovaps xmm2,XMMWORD PTR [eax] 330 vmovaps xmm2,XMMWORD PTR [eax] 331 {vex2} vmovaps xmm2,XMMWORD PTR [eax] 332 {evex} vmovaps xmm2,XMMWORD PTR [eax] 333 {disp32} vmovaps xmm2,XMMWORD PTR [eax] 334 {evex} {disp8} vmovaps xmm2,XMMWORD PTR [eax] 335 {evex} {disp32} vmovaps xmm2,XMMWORD PTR [eax] 336 337 {vex} {disp8} vmovaps xmm2,XMMWORD PTR [eax+128] 338 {vex} {disp32} vmovaps xmm2,XMMWORD PTR [eax+128] 339 {evex} {disp8} vmovaps xmm2,XMMWORD PTR [eax+128] 340 {evex} {disp32} vmovaps xmm2,XMMWORD PTR [eax+128] 341 342 mov eax,ecx 343 {load} mov eax,ecx 344 {store} mov eax,ecx 345 movaps xmm2,XMMWORD PTR [eax] 346 {load} movaps xmm2,XMMWORD PTR [eax] 347 {store} movaps xmm2,XMMWORD PTR [eax] 348 {disp8} movaps xmm2,XMMWORD PTR [eax] 349 {disp32} movaps xmm2,XMMWORD PTR [eax] 350 movaps xmm2,XMMWORD PTR [eax-1] 351 {disp8} movaps xmm2,XMMWORD PTR [eax-1] 352 {disp32} movaps xmm2,XMMWORD PTR [eax-1] 353 movaps xmm2,XMMWORD PTR [eax+128] 354 {disp8} movaps xmm2,XMMWORD PTR [eax+128] 355 {disp32} movaps xmm2,XMMWORD PTR [eax+128] 356 357 mov al, BYTE PTR [ebp] 358 {disp8} mov al, BYTE PTR [ebp] 359 {disp32} mov al, BYTE PTR [ebp] 360 361 mov al, BYTE PTR [si] 362 {disp8} mov al, BYTE PTR [si] 363 {disp16} mov al, BYTE PTR [si] 364 365 mov al, BYTE PTR [di] 366 {disp8} mov al, BYTE PTR [di] 367 {disp16} mov al, BYTE PTR [di] 368 369 mov al, BYTE PTR [bx] 370 {disp8} mov al, BYTE PTR [bx] 371 {disp16} mov al, BYTE PTR [bx] 372 373 mov al, BYTE PTR [bp] 374 {disp8} mov al, BYTE PTR [bp] 375 {disp16} mov al, BYTE PTR [bp] 376