Home | History | Annotate | Download | only in X86
      1 # RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 | FileCheck %s
      2 
      3 # CHECK: int	$33
      4 0xCD 0x21 
      5 
      6 # CHECK: int	$33
      7 0xCD 0x21
      8 
      9 # CHECK: jrcxz -127
     10 0xe3 0x81
     11 
     12 # CHECK: jecxz -127
     13 0x67 0xe3 0x81
     14 
     15 # CHECK: addb	%al, (%rax)
     16 0 0
     17 
     18 # CHECK: callq	-1234
     19 0xe8 0x2e 0xfb 0xff 0xff
     20 
     21 # CHECK: lfence
     22 0x0f 0xae 0xe8
     23 
     24 # CHECK: mfence
     25 0x0f 0xae 0xf0
     26 
     27 # CHECK: monitor
     28 0x0f 0x01 0xc8
     29 
     30 # CHECK: mwait
     31 0x0f 0x01 0xc9
     32 
     33 # CHECK: vmcall
     34 0x0f 0x01 0xc1
     35 
     36 # CHECK: vmfunc
     37 0x0f 0x01 0xd4
     38 
     39 # CHECK: vmlaunch
     40 0x0f 0x01 0xc2
     41 
     42 # CHECK: vmresume
     43 0x0f 0x01 0xc3
     44 
     45 # CHECK: vmxoff
     46 0x0f 0x01 0xc4
     47 
     48 # CHECK: swapgs
     49 0x0f 0x01 0xf8
     50 
     51 # CHECK: rdtscp
     52 0x0f 0x01 0xf9
     53 
     54 # CHECK: vmxon
     55 0xf3 0x0f 0xc7 0x30
     56 
     57 # CHECK: vmptrld
     58 0x0f 0xc7 0x30
     59 
     60 # CHECK: vmptrst
     61 0x0f 0xc7 0x38
     62 
     63 # CHECK: vmrun
     64 0x0f 0x01 0xd8
     65 
     66 # CHECK: vmmcall
     67 0x0f 0x01 0xd9
     68 
     69 # CHECK: vmload
     70 0x0f 0x01 0xda
     71 
     72 # CHECK: vmsave
     73 0x0f 0x01 0xdb
     74 
     75 # CHECK: stgi
     76 0x0f 0x01 0xdc
     77 
     78 # CHECK: clgi
     79 0x0f 0x01 0xdd
     80 
     81 # CHECK: skinit
     82 0x0f 0x01 0xde
     83 
     84 # CHECK: invlpga
     85 0x0f 0x01 0xdf
     86 
     87 # CHECK: movl $0, -4(%rbp)
     88 0xc7 0x45 0xfc 0x00 0x00 0x00 0x00
     89 
     90 # CHECK: movq	%cr0, %rcx
     91 0x0f 0x20 0xc1
     92 
     93 # CHECK: leal	4(%rsp), %ecx
     94 0x8d 0x4c 0x24 0x04 
     95 
     96 # CHECK: enter	$1, $2
     97 0xc8 0x01 0x00 0x02
     98 
     99 # CHECK: movw	$47416, -66(%rbp)
    100 0x66 0xc7 0x45 0xbe 0x38 0xb9
    101 
    102 # CHECK: vaddpd	%ymm13, %ymm1, %ymm0
    103 0xc4 0xc1 0x75 0x58 0xc5
    104 
    105 # CHECK: vaddps	%ymm3, %ymm1, %ymm0
    106 0xc5 0xf4 0x58 0xc3
    107 
    108 # CHECK: vandpd	%ymm13, %ymm1, %ymm0
    109 0xc4 0xc1 0x75 0x54 0xc5
    110 
    111 # CHECK: vandps	%ymm3, %ymm1, %ymm0
    112 0xc5 0xf4 0x54 0xc3
    113 
    114 # CHECK: vzeroall
    115 0xc5 0xfc 0x77
    116 
    117 # CHECK: vcvtps2pd %xmm0, %ymm0
    118 0xc5 0xfc 0x5a 0xc0
    119 
    120 # CHECK: vandps (%rdx), %xmm1, %xmm7
    121 0xc5 0xf0 0x54 0x3a
    122 
    123 # CHECK: vcvtss2si %xmm0, %eax
    124 0xc5 0xfa 0x2d 0xc0
    125 
    126 # CHECK: vcvtsd2si %xmm0, %eax
    127 0xc5 0xfb 0x2d 0xc0
    128 
    129 # CHECK: vcvtsd2si %xmm0, %rax
    130 0xc4 0xe1 0xfb 0x2d 0xc0
    131 
    132 # CHECK: vmaskmovpd %xmm0, %xmm1, (%rax)
    133 0xc4 0xe2 0x71 0x2f 0x00
    134 
    135 # CHECK: vmovapd %xmm0, %xmm2
    136 0xc5 0xf9 0x28 0xd0
    137 
    138 # Check X86 immediates print as signed values by default.  radr://8795217
    139 # CHECK: andq $-16, %rsp
    140 0x48 0x83 0xe4 0xf0
    141 
    142 # Check these special case instructions that the immediate is not sign-extend.
    143 # CHECK: blendps $129, %xmm2, %xmm1
    144 0x66 0x0f 0x3a 0x0c 0xca 0x81
    145 
    146 # CHECK: blendpd $129, %xmm2, %xmm1
    147 0x66 0x0f 0x3a 0x0d 0xca 0x81
    148 
    149 # CHECK: pblendw $129, %xmm2, %xmm1
    150 0x66 0x0f 0x3a 0x0e 0xca 0x81
    151 
    152 # CHECK: mpsadbw $129, %xmm2, %xmm1
    153 0x66 0x0f 0x3a 0x42 0xca 0x81
    154 
    155 # CHECK: dpps $129, %xmm2, %xmm1
    156 0x66 0x0f 0x3a 0x40 0xca 0x81
    157 
    158 # CHECK: dppd $129, %xmm2, %xmm1
    159 0x66 0x0f 0x3a 0x41 0xca 0x81
    160 
    161 # CHECK: insertps $129, %xmm2, %xmm1
    162 0x66 0x0f 0x3a 0x21 0xca 0x81
    163 
    164 # CHECK: vblendps $129, %ymm2, %ymm5, %ymm1
    165 0xc4 0xe3 0x55 0x0c 0xca 0x81
    166 
    167 # CHECK: vblendps $129, (%rax), %ymm5, %ymm1
    168 0xc4 0xe3 0x55 0x0c 0x08 0x81
    169 
    170 # CHECK: vblendpd $129, %ymm2, %ymm5, %ymm1
    171 0xc4 0xe3 0x55 0x0d 0xca 0x81
    172 
    173 # CHECK: vblendpd $129, (%rax), %ymm5, %ymm1
    174 0xc4 0xe3 0x55 0x0d 0x08 0x81
    175 
    176 # CHECK: vpblendw $129, %xmm2, %xmm5, %xmm1
    177 0xc4 0xe3 0x51 0x0e 0xca 0x81
    178 
    179 # CHECK: vmpsadbw $129, %xmm2, %xmm5, %xmm1
    180 0xc4 0xe3 0x51 0x42 0xca 0x81
    181 
    182 # CHECK: vdpps $129, %ymm2, %ymm5, %ymm1
    183 0xc4 0xe3 0x55 0x40 0xca 0x81
    184 
    185 # CHECK: vdpps $129, (%rax), %ymm5, %ymm1
    186 0xc4 0xe3 0x55 0x40 0x08 0x81
    187 
    188 # CHECK: vdppd $129, %xmm2, %xmm5, %xmm1
    189 0xc4 0xe3 0x51 0x41 0xca 0x81
    190 
    191 # CHECK: vinsertps $129, %xmm3, %xmm2, %xmm1
    192 0xc4 0xe3 0x69 0x21 0xcb 0x81
    193 
    194 # CHECK: pause
    195 0xf3 0x90
    196 
    197 # CHECK: addl %eax, %edi
    198 0x01 0xc7
    199 
    200 # CHECK: addl %edi, %eax
    201 0x03 0xc7
    202 
    203 # CHECK: movl %eax, %edi
    204 0x89 0xc7
    205 
    206 # CHECK: movl %edi, %eax
    207 0x8b 0xc7
    208 
    209 # CHECK: movups %xmm1, %xmm0
    210 0x0f 0x10 0xc1
    211 
    212 # CHECK: movups %xmm0, %xmm1
    213 0x0f 0x11 0xc1
    214 
    215 # CHECK: movaps %xmm1, %xmm0
    216 0x0f 0x28 0xc1
    217 
    218 # CHECK: movaps %xmm0, %xmm1
    219 0x0f 0x29 0xc1
    220 
    221 # CHECK: movupd %xmm1, %xmm0
    222 0x66 0x0f 0x10 0xc1
    223 
    224 # CHECK: movupd %xmm0, %xmm1
    225 0x66 0x0f 0x11 0xc1
    226 
    227 # CHECK: movapd %xmm1, %xmm0
    228 0x66 0x0f 0x28 0xc1
    229 
    230 # CHECK: movapd %xmm0, %xmm1
    231 0x66 0x0f 0x29 0xc1
    232 
    233 # CHECK: vmovups %xmm1, %xmm0
    234 0xc5 0xf8 0x10 0xc1
    235 
    236 # CHECK: vmovups %xmm0, %xmm1
    237 0xc5 0xf8 0x11 0xc1
    238 
    239 # CHECK: vmovaps %xmm1, %xmm0
    240 0xc5 0xf8 0x28 0xc1
    241 
    242 # CHECK: vmovaps %xmm0, %xmm1
    243 0xc5 0xf8 0x29 0xc1
    244 
    245 # CHECK: vmovupd %xmm1, %xmm0
    246 0xc5 0xf9 0x10 0xc1
    247 
    248 # CHECK: vmovupd %xmm0, %xmm1
    249 0xc5 0xf9 0x11 0xc1
    250 
    251 # CHECK: vmovapd %xmm1, %xmm0
    252 0xc5 0xf9 0x28 0xc1
    253 
    254 # CHECK: vmovapd %xmm0, %xmm1
    255 0xc5 0xf9 0x29 0xc1
    256 
    257 # CHECK: vmovups %ymm1, %ymm0
    258 0xc5 0xfc 0x10 0xc1
    259 
    260 # CHECK: vmovups %ymm0, %ymm1
    261 0xc5 0xfc 0x11 0xc1
    262 
    263 # CHECK: vmovaps %ymm1, %ymm0
    264 0xc5 0xfc 0x28 0xc1
    265 
    266 # CHECK: vmovaps %ymm0, %ymm1
    267 0xc5 0xfc 0x29 0xc1
    268 
    269 # CHECK: movdqa %xmm1, %xmm0
    270 0x66 0x0f 0x6f 0xc1
    271 
    272 # CHECK: movdqa %xmm0, %xmm1
    273 0x66 0x0f 0x7f 0xc1
    274 
    275 # CHECK: movdqu %xmm1, %xmm0
    276 0xf3 0x0f 0x6f 0xc1
    277 
    278 # CHECK: movdqu %xmm0, %xmm1
    279 0xf3 0x0f 0x7f 0xc1
    280 
    281 # CHECK: vmovdqa %xmm1, %xmm0
    282 0xc5 0xf9 0x6f 0xc1
    283 
    284 # CHECK: vmovdqa %xmm0, %xmm1
    285 0xc5 0xf9 0x7f 0xc1
    286 
    287 # CHECK: vmovdqa %ymm1, %ymm0
    288 0xc5 0xfd 0x6f 0xc1
    289 
    290 # CHECK: vmovdqa %ymm0, %ymm1
    291 0xc5 0xfd 0x7f 0xc1
    292 
    293 # CHECK: vmovdqu %xmm1, %xmm0
    294 0xc5 0xfa 0x6f 0xc1
    295 
    296 # CHECK: vmovdqu %xmm0, %xmm1
    297 0xc5 0xfa 0x7f 0xc1
    298 
    299 # CHECK: vmovdqu %ymm1, %ymm0
    300 0xc5 0xfe 0x6f 0xc1
    301 
    302 # CHECK: vmovdqu %ymm0, %ymm1
    303 0xc5 0xfe 0x7f 0xc1
    304 
    305 # CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
    306 0xc4 0xe3 0x69 0x4a 0xd9 0x41
    307 
    308 # CHECK: vroundpd $0, %xmm0, %xmm0
    309 0xc4 0xe3 0x79 0x09 0xc0 0x00
    310 
    311 # CHECK: vroundps $0, %xmm0, %xmm0
    312 0xc4 0xe3 0x79 0x08 0xc0 0x00
    313 
    314 # CHECK: vroundpd $0, %ymm0, %ymm0
    315 0xc4 0xe3 0x7d 0x09 0xc0 0x00
    316 
    317 # CHECK: vroundps $0, %ymm0, %ymm0
    318 0xc4 0xe3 0x7d 0x08 0xc0 0x00
    319 
    320 # CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
    321 0xc4 0xe3 0x79 0x0a 0xc0 0x00
    322 
    323 # CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
    324 0xc4 0xe3 0x79 0x0b 0xc0 0x00
    325 
    326 # CHECK: crc32b %al, %eax
    327 0xf2 0x0f 0x38 0xf0 0xc0
    328 
    329 # CHECK: crc32w %ax, %eax
    330 0x66 0xf2 0x0f 0x38 0xf1 0xc0
    331 
    332 # CHECK: crc32l %eax, %eax
    333 0xf2 0x0f 0x38 0xf1 0xc0
    334 
    335 # CHECK: crc32q %rax, %rax
    336 0xf2 0x48 0x0f 0x38 0xf1 0xc0
    337 
    338 # CHECK: invept (%rax), %rax
    339 0x66 0x0f 0x38 0x80 0x00
    340 
    341 # CHECK: invvpid (%rax), %rax
    342 0x66 0x0f 0x38 0x81 0x00
    343 
    344 # CHECK: invpcid (%rax), %rax
    345 0x66 0x0f 0x38 0x82 0x00
    346 
    347 # CHECK: nop
    348 0x90
    349 
    350 # CHECK: xchgl %r8d, %eax
    351 0x41 0x90
    352 
    353 # CHECK: xchgq %r8, %rax
    354 0x49 0x90
    355 
    356 # CHECK: addb $0, %al
    357 0x04 0x00
    358 
    359 # CHECK: addw $0, %ax
    360 0x66 0x05 0x00 0x00
    361 
    362 # CHECK: addl $0, %eax
    363 0x05 0x00 0x00 0x00 0x00
    364 
    365 # CHECK: addq $0, %rax
    366 0x48 0x05 0x00 0x00 0x00 0x00
    367 
    368 # CHECK: adcb $0, %al
    369 0x14 0x00
    370 
    371 # CHECK: adcw $0, %ax
    372 0x66 0x15 0x00 0x00
    373 
    374 # CHECK: adcl $0, %eax
    375 0x15 0x00 0x00 0x00 0x00
    376 
    377 # CHECK: adcq $0, %rax
    378 0x48 0x15 0x00 0x00 0x00 0x00
    379 
    380 # CHECK: cmpb $0, %al
    381 0x3c 0x00
    382 
    383 # CHECK: cmpw $0, %ax
    384 0x66 0x3d 0x00 0x00
    385 
    386 # CHECK: cmpl $0, %eax
    387 0x3d 0x00 0x00 0x00 0x00
    388 
    389 # CHECK: cmpq $0, %rax
    390 0x48 0x3d 0x00 0x00 0x00 0x00
    391 
    392 # CHECK: testb $0, %al
    393 0xa8 0x00
    394 
    395 # CHECK: testw $0, %ax
    396 0x66 0xa9 0x00 0x00
    397 
    398 # CHECK: testl $0, %eax
    399 0xa9 0x00 0x00 0x00 0x00
    400 
    401 # CHECK: testq $0, %rax
    402 0x48 0xa9 0x00 0x00 0x00 0x00
    403 
    404 # CHECK: vaddps	%xmm3, %xmm15, %xmm0
    405 0xc4 0xe1 0x00 0x58 0xc3
    406 
    407 # CHECK: movbel (%rax), %eax
    408 0x0f 0x38 0xf0 0x00
    409 
    410 # CHECK: movbel %eax, (%rax)
    411 0x0f 0x38 0xf1 0x00
    412 
    413 # CHECK: movbew (%rax), %ax
    414 0x66 0x0f 0x38 0xf0 0x00
    415 
    416 # CHECK: movbew %ax, (%rax)
    417 0x66 0x0f 0x38 0xf1 0x00
    418 
    419 # CHECK: movbeq (%rax), %rax
    420 0x48 0x0f 0x38 0xf0 0x00
    421 
    422 # CHECK: movbeq %rax, (%rax)
    423 0x48 0x0f 0x38 0xf1 0x00
    424 
    425 # CHECK: rdrandw %ax
    426 0x66 0x0f 0xc7 0xf0
    427 
    428 # CHECK: rdrandl %eax
    429 0x0f 0xc7 0xf0
    430 
    431 # CHECK: rdrandq %rax
    432 0x48 0x0f 0xc7 0xf0
    433 
    434 # CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
    435 0xc4 0xe3 0x7d 0x0a 0xc0 0x00
    436 
    437 # CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
    438 0xc4 0xe3 0x7d 0x0b 0xc0 0x00
    439 
    440 # CHECK: vcvtsd2si %xmm0, %eax
    441 0xc4 0xe1 0x7f 0x2d 0xc0
    442 
    443 # CHECK: vcvtsd2si %xmm0, %rax
    444 0xc4 0xe1 0xff 0x2d 0xc0
    445 
    446 # CHECK: vucomisd %xmm1, %xmm0
    447 0xc5 0xfd 0x2e 0xc1
    448 
    449 # CHECK: vucomiss %xmm1, %xmm0
    450 0xc5 0xfc 0x2e 0xc1
    451 
    452 # CHECK: vcomisd %xmm1, %xmm0
    453 0xc5 0xfd 0x2f 0xc1
    454 
    455 # CHECK: vcomiss %xmm1, %xmm0
    456 0xc5 0xfc 0x2f 0xc1
    457 
    458 # CHECK: vaddss %xmm1, %xmm0, %xmm0
    459 0xc5 0xfe 0x58 0xc1
    460 
    461 # CHECK: xsave (%rax)
    462 0x0f 0xae 0x20
    463 
    464 # CHECK: xrstor (%rax)
    465 0x0f 0xae 0x28
    466 
    467 # CHECK: xsaveopt (%rax)
    468 0x0f 0xae 0x30
    469 
    470 # CHECK: rdfsbasel %eax
    471 0xf3 0x0f 0xae 0xc0
    472 
    473 # CHECK: rdgsbasel %eax
    474 0xf3 0x0f 0xae 0xc8
    475 
    476 # CHECK: wrfsbasel %eax
    477 0xf3 0x0f 0xae 0xd0
    478 
    479 # CHECK: wrgsbasel %eax
    480 0xf3 0x0f 0xae 0xd8
    481 
    482 # CHECK: rdfsbaseq %rax
    483 0xf3 0x48 0x0f 0xae 0xc0
    484 
    485 # CHECK: rdgsbaseq %rax
    486 0xf3 0x48 0x0f 0xae 0xc8
    487 
    488 # CHECK: wrfsbaseq %rax
    489 0xf3 0x48 0x0f 0xae 0xd0
    490 
    491 # CHECK: wrgsbaseq %rax
    492 0xf3 0x48 0x0f 0xae 0xd8
    493 
    494 # CHECK: vcvtph2ps %xmm0, %xmm0
    495 0xc4 0xe2 0x79 0x13 0xc0
    496 
    497 # CHECK: vcvtph2ps (%rax), %xmm0
    498 0xc4 0xe2 0x79 0x13 0x00
    499 
    500 # CHECK: vcvtph2ps %xmm0, %ymm0
    501 0xc4 0xe2 0x7d 0x13 0xc0
    502 
    503 # CHECK: vcvtph2ps (%rax), %ymm0
    504 0xc4 0xe2 0x7d 0x13 0x00
    505 
    506 # CHECK: vcvtps2ph $0, %xmm0, %xmm0
    507 0xc4 0xe3 0x79 0x1d 0xc0 0x00
    508 
    509 # CHECK: vcvtps2ph $0, %xmm0, (%rax)
    510 0xc4 0xe3 0x79 0x1d 0x00 0x00
    511 
    512 # CHECK: vcvtps2ph $0, %ymm0, %xmm0
    513 0xc4 0xe3 0x7d 0x1d 0xc0 0x00
    514 
    515 # CHECK: vcvtps2ph $0, %ymm0, (%rax)
    516 0xc4 0xe3 0x7d 0x1d 0x00 0x00
    517 
    518 # CHECK: popcntl %eax, %eax
    519 0xf3 0x0f 0xb8 0xc0
    520 
    521 # CHECK: popcntw %ax, %ax
    522 0x66 0xf3 0x0f 0xb8 0xc0
    523 
    524 # CHECK: popcntq %rax, %rax
    525 0xf3 0x48 0x0f 0xb8 0xc0
    526 
    527 # CHECK: lzcntl %eax, %eax
    528 0xf3 0x0f 0xbd 0xc0
    529 
    530 # CHECK: lzcntw %ax, %ax
    531 0x66 0xf3 0x0f 0xbd 0xc0
    532 
    533 # CHECK: lzcntq %rax, %rax
    534 0xf3 0x48 0x0f 0xbd 0xc0
    535 
    536 # CHECK: tzcntl %eax, %eax
    537 0xf3 0x0f 0xbc 0xc0
    538 
    539 # CHECK: tzcntw %ax, %ax
    540 0x66 0xf3 0x0f 0xbc 0xc0
    541 
    542 # CHECK: tzcntq %rax, %rax
    543 0xf3 0x48 0x0f 0xbc 0xc0
    544 
    545 # CHECK: andnl %ecx, %r15d, %eax
    546 0xc4 0xe2 0x00 0xf2 0xc1
    547 
    548 # CHECK: andnq %rax, %r15, %rax
    549 0xc4 0xe2 0x80 0xf2 0xc0
    550 
    551 # CHECK: andnl (%rax), %r15d, %eax
    552 0xc4 0xe2 0x00 0xf2 0x00
    553 
    554 # CHECK: andnq (%rax), %r15, %rax
    555 0xc4 0xe2 0x80 0xf2 0x00
    556 
    557 # CHECK: blsrl (%rax), %r15d
    558 0xc4 0xe2 0x00 0xf3 0x08
    559 
    560 # CHECK: blsrq (%rax), %r15
    561 0xc4 0xe2 0x80 0xf3 0x08
    562 
    563 # CHECK: blsmskl (%rax), %r15d
    564 0xc4 0xe2 0x00 0xf3 0x10
    565 
    566 # CHECK: blsmskq (%rax), %r15
    567 0xc4 0xe2 0x80 0xf3 0x10
    568 
    569 # CHECK: blsil (%rax), %r15d
    570 0xc4 0xe2 0x00 0xf3 0x18
    571 
    572 # CHECK: blsiq (%rax), %r15
    573 0xc4 0xe2 0x80 0xf3 0x18
    574 
    575 # CHECK: bextrl %r12d, (%rax), %r10d
    576 0xc4 0x62 0x18 0xf7 0x10
    577 
    578 # CHECK: bextrl %r12d, %r11d, %r10d
    579 0xc4 0x42 0x18 0xf7 0xd3
    580 
    581 # CHECK: bextrq %r12, (%rax), %r10
    582 0xc4 0x62 0x98 0xf7 0x10
    583 
    584 # CHECK: bextrq %r12, %r11, %r10
    585 0xc4 0x42 0x98 0xf7 0xd3
    586 
    587 # CHECK: bzhil %r12d, (%rax), %r10d
    588 0xc4 0x62 0x18 0xf5 0x10
    589 
    590 # CHECK: bzhil %r12d, %r11d, %r10d
    591 0xc4 0x42 0x18 0xf5 0xd3
    592 
    593 # CHECK: bzhiq %r12, (%rax), %r10
    594 0xc4 0x62 0x98 0xf5 0x10
    595 
    596 # CHECK: bzhiq %r12, %r11, %r10
    597 0xc4 0x42 0x98 0xf5 0xd3
    598 
    599 # CHECK: pextl %r12d, %r11d, %r10d
    600 0xc4 0x42 0x22 0xf5 0xd4
    601 
    602 # CHECK: pextl (%rax), %r11d, %r10d
    603 0xc4 0x62 0x22 0xf5 0x10
    604 
    605 # CHECK: pextq %r12, %r11, %r10
    606 0xc4 0x42 0xa2 0xf5 0xd4
    607 
    608 # CHECK: pextq (%rax), %r11, %r10
    609 0xc4 0x62 0xa2 0xf5 0x10
    610 
    611 # CHECK: pdepl %r12d, %r11d, %r10d
    612 0xc4 0x42 0x23 0xf5 0xd4
    613 
    614 # CHECK: pdepl (%rax), %r11d, %r10d
    615 0xc4 0x62 0x23 0xf5 0x10
    616 
    617 # CHECK: pdepq %r12, %r11, %r10
    618 0xc4 0x42 0xa3 0xf5 0xd4
    619 
    620 # CHECK: pdepq (%rax), %r11, %r10
    621 0xc4 0x62 0xa3 0xf5 0x10
    622 
    623 # CHECK: mulxl %r12d, %r11d, %r10d
    624 0xc4 0x42 0x23 0xf6 0xd4
    625 
    626 # CHECK: mulxl (%rax), %r11d, %r10d
    627 0xc4 0x62 0x23 0xf6 0x10
    628 
    629 # CHECK: mulxq %r12, %r11, %r10
    630 0xc4 0x42 0xa3 0xf6 0xd4
    631 
    632 # CHECK: mulxq (%rax), %r11, %r10
    633 0xc4 0x62 0xa3 0xf6 0x10
    634 
    635 # CHECK: rorxl $1, %r12d, %r10d
    636 0xc4 0x43 0x7b 0xf0 0xd4 0x01
    637 
    638 # CHECK: rorxl $31, (%rax), %r10d
    639 0xc4 0x63 0x7b 0xf0 0x10 0x1f
    640 
    641 # CHECK: rorxq $1, %r12, %r10
    642 0xc4 0x43 0xfb 0xf0 0xd4 0x01
    643 
    644 # CHECK: rorxq $63, (%rax), %r10
    645 0xc4 0x63 0xfb 0xf0 0x10 0x3f
    646 
    647 # CHECK: shlxl %r12d, (%rax), %r10d
    648 0xc4 0x62 0x19 0xf7 0x10
    649 
    650 # CHECK: shlxl %r12d, %r11d, %r10d
    651 0xc4 0x42 0x19 0xf7 0xd3
    652 
    653 # CHECK: shlxq %r12, (%rax), %r10
    654 0xc4 0x62 0x99 0xf7 0x10
    655 
    656 # CHECK: shlxq %r12, %r11, %r10
    657 0xc4 0x42 0x99 0xf7 0xd3
    658 
    659 # CHECK: sarxl %r12d, (%rax), %r10d
    660 0xc4 0x62 0x1a 0xf7 0x10
    661 
    662 # CHECK: sarxl %r12d, %r11d, %r10d
    663 0xc4 0x42 0x1a 0xf7 0xd3
    664 
    665 # CHECK: sarxq %r12, (%rax), %r10
    666 0xc4 0x62 0x9a 0xf7 0x10
    667 
    668 # CHECK: sarxq %r12, %r11, %r10
    669 0xc4 0x42 0x9a 0xf7 0xd3
    670 
    671 # CHECK: shrxl %r12d, (%rax), %r10d
    672 0xc4 0x62 0x1b 0xf7 0x10
    673 
    674 # CHECK: shrxl %r12d, %r11d, %r10d
    675 0xc4 0x42 0x1b 0xf7 0xd3
    676 
    677 # CHECK: shrxq %r12, (%rax), %r10
    678 0xc4 0x62 0x9b 0xf7 0x10
    679 
    680 # CHECK: shrxq %r12, %r11, %r10
    681 0xc4 0x42 0x9b 0xf7 0xd3
    682 
    683 # CHECK: vfmadd132ps %xmm11, %xmm12, %xmm10
    684 0xc4 0x42 0x19 0x98 0xd3
    685 
    686 # CHECK: vfmadd132pd %xmm11, %xmm12, %xmm10
    687 0xc4 0x42 0x99 0x98 0xd3
    688 
    689 # CHECK: vfmadd132ps %ymm11, %ymm12, %ymm10
    690 0xc4 0x42 0x1d 0x98 0xd3
    691 
    692 # CHECK: vfmadd132pd %ymm11, %ymm12, %ymm10
    693 0xc4 0x42 0x9d 0x98 0xd3
    694 
    695 # CHECK: vfmadd132ps (%rax), %xmm12, %xmm10
    696 0xc4 0x62 0x19 0x98 0x10
    697 
    698 # CHECK: vfmadd132pd (%rax), %xmm12, %xmm10
    699 0xc4 0x62 0x99 0x98 0x10
    700 
    701 # CHECK: vfmadd132ps (%rax), %ymm12, %ymm10
    702 0xc4 0x62 0x1d 0x98 0x10
    703 
    704 # CHECK: vfmadd132pd (%rax), %ymm12, %ymm10
    705 0xc4 0x62 0x9d 0x98 0x10
    706 
    707 # CHECK: vfmadd132ss %xmm11, %xmm12, %xmm10
    708 0xc4 0x42 0x19 0x99 0xd3
    709 
    710 # CHECK: vfmadd132sd %xmm11, %xmm12, %xmm10
    711 0xc4 0x42 0x99 0x99 0xd3
    712 
    713 # CHECK: vfmadd132ss (%rax), %xmm12, %xmm10
    714 0xc4 0x62 0x19 0x99 0x10
    715 
    716 # CHECK: vfmadd132sd (%rax), %xmm12, %xmm10
    717 0xc4 0x62 0x99 0x99 0x10
    718 
    719 # CHECK: vfmaddss (%rcx), %xmm1, %xmm0, %xmm0
    720 0xc4 0xe3 0xf9 0x6a 0x01 0x10
    721 
    722 # CHECK: vfmaddss %xmm1, (%rcx), %xmm0, %xmm0
    723 0xc4 0xe3 0x79 0x6a 0x01 0x10
    724 
    725 # CHECK: vpermil2ps $1, 4(%rax), %xmm2, %xmm3, %xmm0
    726 0xc4 0xe3 0xe1 0x48 0x40 0x04 0x21
    727 
    728 # CHECK: vgatherdpd %xmm0, (%rdi,%xmm1,2), %xmm2
    729 0xc4 0xe2 0xf9 0x92 0x14 0x4f
    730 
    731 # CHECK: vgatherdpd %ymm0, (%rdi,%xmm1,2), %ymm2
    732 0xc4 0xe2 0xfd 0x92 0x14 0x4f
    733 
    734 # CHECK: vgatherqps %xmm8, (%r15,%xmm9,2), %xmm10
    735 0xc4 0x02 0x39 0x93 0x14 0x4f
    736 
    737 # CHECK: vgatherqps %xmm8, (%r15,%ymm9,2), %xmm10
    738 0xc4 0x02 0x3d 0x93 0x14 0x4f
    739 
    740 # CHECK: vpgatherdq %xmm0, (%rdi,%xmm1,2), %xmm2
    741 0xc4 0xe2 0xf9 0x90 0x14 0x4f
    742 
    743 # CHECK: vpgatherdq %ymm0, (%rdi,%xmm1,2), %ymm2
    744 0xc4 0xe2 0xfd 0x90 0x14 0x4f
    745 
    746 # CHECK: vpgatherqd %xmm8, (%r15,%xmm9,2), %xmm10
    747 0xc4 0x02 0x39 0x91 0x14 0x4f
    748 
    749 # CHECK: vpgatherqd %xmm8, (%r15,%ymm9,2), %xmm10
    750 0xc4 0x02 0x3d 0x91 0x14 0x4f
    751 
    752 # rdar://8812056 lldb doesn't print the x86 lock prefix when disassembling
    753 # CHECK: lock
    754 # CHECK-NEXT: xaddq	%rcx, %rbx
    755 0xf0 0x48 0x0f 0xc1 0xcb
    756