Home | History | Annotate | Download | only in X86
      1 # RUN: llvm-mc --disassemble %s -triple=i686-linux-gnu-code16 | FileCheck %s
      2 
      3 # CHECK: movl $305419896, %ebx
      4 0x66 0xbb 0x78 0x56 0x34 0x12
      5 
      6 # CHECK: pause
      7 0xf3 0x90
      8 
      9 # CHECK: sfence
     10 0x0f 0xae 0xf8
     11 
     12 # CHECK: lfence
     13 0x0f 0xae 0xe8
     14 
     15 # CHECK: mfence
     16 0x0f 0xae 0xf0
     17 
     18 # CHECK: stgi
     19 0x0f 0x01 0xdc
     20 
     21 # CHECK: clgi
     22 0x0f 0x01 0xdd
     23 
     24 # CHECK: rdtscp
     25 0x0f 0x01 0xf9
     26 
     27 # CHECK: movl %eax, 16(%ebp)
     28 0x67 0x66 0x89 0x45 0x10
     29 
     30 # CHECK: movl %eax, -16(%ebp)
     31 0x67 0x66 0x89 0x45 0xf0
     32 
     33 # CHECK: testb %cl, %bl
     34 0x84 0xcb
     35 
     36 # CHECK: cmpl %eax, %ebx
     37 0x66 0x39 0xc3
     38 
     39 # CHECK: addw %ax, %ax
     40 0x01 0xc0
     41 
     42 # CHECK: shrl %eax
     43 0x66 0xd1 0xe8
     44 
     45 # CHECK: shll %eax
     46 0x66 0xd1 0xe0
     47 
     48 # CHECK: shll %eax
     49 0x66 0xd1 0xe0
     50 
     51 # CHECK: movb 0, %al
     52 0xa0 0x00 0x00
     53 
     54 # CHECK: movw 0, %ax
     55 0xa1 0x00 0x00
     56 
     57 # CHECK: movl 0, %eax
     58 0x66 0xa1 0x00 0x00
     59 
     60 # CHECK: into
     61 0xce
     62 
     63 # CHECK: int3
     64 0xcc
     65 
     66 # CHECK: int $4
     67 0xcd 0x04
     68 
     69 # CHECK: int $127
     70 0xcd 0x7f
     71 
     72 # CHECK: pushfw
     73 0x9c
     74 
     75 # CHECK: pushfl
     76 0x66 0x9c
     77 
     78 # CHECK: popfw
     79 0x9d
     80 
     81 # CHECK: popfl
     82 0x66 0x9d
     83 
     84 # CHECK: retl
     85 0x66 0xc3
     86 
     87 # CHECK: cmoval %eax, %edx
     88 0x66 0x0f 0x47 0xd0
     89 
     90 # CHECK: cmovael %eax, %edx
     91 0x66 0x0f 0x43 0xd0
     92 
     93 # CHECK: cmovbel %eax, %edx
     94 0x66 0x0f 0x46 0xd0
     95 
     96 # CHECK: cmovbl %eax, %edx
     97 0x66 0x0f 0x42 0xd0
     98 
     99 # CHECK: cmovbw %bx, %bx
    100 0x0f 0x42 0xdb
    101 
    102 # CHECK: cmovbel %eax, %edx
    103 0x66 0x0f 0x46 0xd0
    104 
    105 # CHECK: cmovbl %eax, %edx
    106 0x66 0x0f 0x42 0xd0
    107 
    108 # CHECK: cmovel %eax, %edx
    109 0x66 0x0f 0x44 0xd0
    110 
    111 # CHECK: cmovgl %eax, %edx
    112 0x66 0x0f 0x4f 0xd0
    113 
    114 # CHECK: cmovgel %eax, %edx
    115 0x66 0x0f 0x4d 0xd0
    116 
    117 # CHECK: cmovll %eax, %edx
    118 0x66 0x0f 0x4c 0xd0
    119 
    120 # CHECK: cmovlel %eax, %edx
    121 0x66 0x0f 0x4e 0xd0
    122 
    123 # CHECK: cmovbel %eax, %edx
    124 0x66 0x0f 0x46 0xd0
    125 
    126 # CHECK: cmovnel %eax, %edx
    127 0x66 0x0f 0x45 0xd0
    128 
    129 # CHECK: cmovael %eax, %edx
    130 0x66 0x0f 0x43 0xd0
    131 
    132 # CHECK: cmoval %eax, %edx
    133 0x66 0x0f 0x47 0xd0
    134 
    135 # CHECK: cmovael %eax, %edx
    136 0x66 0x0f 0x43 0xd0
    137 
    138 # CHECK: cmovnel %eax, %edx
    139 0x66 0x0f 0x45 0xd0
    140 
    141 # CHECK: cmovlel %eax, %edx
    142 0x66 0x0f 0x4e 0xd0
    143 
    144 # CHECK: cmovgel %eax, %edx
    145 0x66 0x0f 0x4d 0xd0
    146 
    147 # CHECK: cmovnel %eax, %edx
    148 0x66 0x0f 0x45 0xd0
    149 
    150 # CHECK: cmovlel %eax, %edx
    151 0x66 0x0f 0x4e 0xd0
    152 
    153 # CHECK: cmovll %eax, %edx
    154 0x66 0x0f 0x4c 0xd0
    155 
    156 # CHECK: cmovgel %eax, %edx
    157 0x66 0x0f 0x4d 0xd0
    158 
    159 # CHECK: cmovgl %eax, %edx
    160 0x66 0x0f 0x4f 0xd0
    161 
    162 # CHECK: cmovnol %eax, %edx
    163 0x66 0x0f 0x41 0xd0
    164 
    165 # CHECK: cmovnpl %eax, %edx
    166 0x66 0x0f 0x4b 0xd0
    167 
    168 # CHECK: cmovnsl %eax, %edx
    169 0x66 0x0f 0x49 0xd0
    170 
    171 # CHECK: cmovnel %eax, %edx
    172 0x66 0x0f 0x45 0xd0
    173 
    174 # CHECK: cmovol %eax, %edx
    175 0x66 0x0f 0x40 0xd0
    176 
    177 # CHECK: cmovpl %eax, %edx
    178 0x66 0x0f 0x4a 0xd0
    179 
    180 # CHECK: cmovsl %eax, %edx
    181 0x66 0x0f 0x48 0xd0
    182 
    183 # CHECK: cmovel %eax, %edx
    184 0x66 0x0f 0x44 0xd0
    185 
    186 # CHECK: fmul %st(0)
    187 0xd8 0xc8
    188 
    189 # CHECK: fadd %st(0)
    190 0xd8 0xc0
    191 
    192 # CHECK: fsub %st(0)
    193 0xd8 0xe0
    194 
    195 # CHECK: fsubr %st(0)
    196 0xd8 0xe8
    197 
    198 # CHECK: fdivr %st(0)
    199 0xd8 0xf8
    200 
    201 # CHECK: fdiv %st(0)
    202 0xd8 0xf0
    203 
    204 # CHECK: movl %cs, %eax
    205 0x66 0x8c 0xc8
    206 
    207 # CHECK: movw %cs, %ax
    208 0x8c 0xc8
    209 
    210 # CHECK: movl %cs, (%eax)
    211 0x67 0x66 0x8c 0x08
    212 
    213 # CHECK: movw %cs, (%eax)
    214 0x67 0x8c 0x08
    215 
    216 # CHECK: movl %eax, %cs
    217 0x66 0x8e 0xc8
    218 
    219 # CHECK: movl (%eax), %cs
    220 0x67 0x66 0x8e 0x08
    221 
    222 # CHECK: movw (%eax), %cs
    223 0x67 0x8e 0x08
    224 
    225 # CHECKX: movl %cr0, %eax
    226 0x0f 0x20 0xc0
    227 
    228 # CHECKX: movl %cr1, %eax
    229 0x0f 0x20 0xc8
    230 
    231 # CHECKX: movl %cr2, %eax
    232 0x0f 0x20 0xd0
    233 
    234 # CHECKX: movl %cr3, %eax
    235 0x0f 0x20 0xd8
    236 
    237 # CHECKX: movl %cr4, %eax
    238 0x0f 0x20 0xe0
    239 
    240 # CHECKX: movl %dr0, %eax
    241 0x0f 0x21 0xc0
    242 
    243 # CHECKX: movl %dr1, %eax
    244 0x0f 0x21 0xc8
    245 
    246 # CHECKX: movl %dr1, %eax
    247 0x0f 0x21 0xc8
    248 
    249 # CHECKX: movl %dr2, %eax
    250 0x0f 0x21 0xd0
    251 
    252 # CHECKX: movl %dr3, %eax
    253 0x0f 0x21 0xd8
    254 
    255 # CHECKX: movl %dr4, %eax
    256 0x0f 0x21 0xe0
    257 
    258 # CHECKX: movl %dr5, %eax
    259 0x0f 0x21 0xe8
    260 
    261 # CHECKX: movl %dr6, %eax
    262 0x0f 0x21 0xf0
    263 
    264 # CHECKX: movl %dr7, %eax
    265 0x0f 0x21 0xf8
    266 
    267 # CHECK: wait
    268 0x9b
    269 
    270 # CHECK: movl %gs:124, %eax
    271 0x65 0x66 0x8b 0x06 0x7c 0x00
    272 
    273 # CHECK: pushaw
    274 0x60
    275 
    276 # CHECK: popaw
    277 0x61
    278 
    279 # CHECK: pushaw
    280 0x60
    281 
    282 # CHECK: popaw
    283 0x61
    284 
    285 # CHECK: pushal
    286 0x66 0x60
    287 
    288 # CHECK: popal
    289 0x66 0x61
    290 
    291 # CHECK: jmpw *8(%eax)
    292 0x67 0xff 0x60 0x08
    293 
    294 # CHECK: jmpl *8(%eax)
    295 0x67 0x66 0xff 0x60 0x08
    296 
    297 # CHECK: lcalll $2, $4660
    298 0x66 0x9a 0x34 0x12 0x00 0x00 0x02 0x00
    299 
    300 # CHECK: jcxz
    301 0xe3 0x00
    302 
    303 # CHECK: jecxz
    304 0x67 0xe3 0x00
    305 
    306 # CHECK: iretw
    307 0xcf
    308 
    309 # CHECK: iretw
    310 0xcf
    311 
    312 # CHECK: iretl
    313 0x66 0xcf
    314 
    315 # CHECK: sysretl
    316 0x0f 0x07
    317 
    318 # CHECK: sysretl
    319 0x0f 0x07
    320 
    321 # CHECK: testl -24(%ebp), %ecx
    322 0x67 0x66 0x85 0x4d 0xe8
    323 
    324 # CHECK: testl -24(%ebp), %ecx
    325 0x67 0x66 0x85 0x4d 0xe8
    326 
    327 # CHECK: pushw %cs
    328 0x0e
    329 
    330 # CHECK: pushw %ds
    331 0x1e
    332 
    333 # CHECK: pushw %ss
    334 0x16
    335 
    336 # CHECK: pushw %es
    337 0x06
    338 
    339 # CHECK: pushw %fs
    340 0x0f 0xa0
    341 
    342 # CHECK: pushw %gs
    343 0x0f 0xa8
    344 
    345 # CHECK: pushw %cs
    346 0x0e
    347 
    348 # CHECK: pushw %ds
    349 0x1e
    350 
    351 # CHECK: pushw %ss
    352 0x16
    353 
    354 # CHECK: pushw %es
    355 0x06
    356 
    357 # CHECK: pushw %fs
    358 0x0f 0xa0
    359 
    360 # CHECK: pushw %gs
    361 0x0f 0xa8
    362 
    363 # CHECK: pushl %cs
    364 0x66 0x0e
    365 
    366 # CHECK: pushl %ds
    367 0x66 0x1e
    368 
    369 # CHECK: pushl %ss
    370 0x66 0x16
    371 
    372 # CHECK: pushl %es
    373 0x66 0x06
    374 
    375 # CHECK: pushl %fs
    376 0x66 0x0f 0xa0
    377 
    378 # CHECK: pushl %gs
    379 0x66 0x0f 0xa8
    380 
    381 # CHECK: popw %ss
    382 0x17
    383 
    384 # CHECK: popw %ds
    385 0x1f
    386 
    387 # CHECK: popw %es
    388 0x07
    389 
    390 # CHECK: popl %ss
    391 0x66 0x17
    392 
    393 # CHECK: popl %ds
    394 0x66 0x1f
    395 
    396 # CHECK: popl %es
    397 0x66 0x07
    398 
    399 # CHECK: pushfl
    400 0x66 0x9c
    401 
    402 # CHECK: popfl
    403 0x66 0x9d
    404 
    405 # CHECK: pushfl
    406 0x66 0x9c
    407 
    408 # CHECK: popfl
    409 0x66 0x9d
    410 
    411 # CHECK: setb %bl
    412 0x0f 0x92 0xc3
    413 
    414 # CHECK: setb %bl
    415 0x0f 0x92 0xc3
    416 
    417 # CHECK: setae %bl
    418 0x0f 0x93 0xc3
    419 
    420 # CHECK: setae %bl
    421 0x0f 0x93 0xc3
    422 
    423 # CHECK: setbe %bl
    424 0x0f 0x96 0xc3
    425 
    426 # CHECK: seta %bl
    427 0x0f 0x97 0xc3
    428 
    429 # CHECK: setp %bl
    430 0x0f 0x9a 0xc3
    431 
    432 # CHECK: setnp %bl
    433 0x0f 0x9b 0xc3
    434 
    435 # CHECK: setl %bl
    436 0x0f 0x9c 0xc3
    437 
    438 # CHECK: setge %bl
    439 0x0f 0x9d 0xc3
    440 
    441 # CHECK: setle %bl
    442 0x0f 0x9e 0xc3
    443 
    444 # CHECK: setg %bl
    445 0x0f 0x9f 0xc3
    446 
    447 # CHECK: setne %cl
    448 0x0f 0x95 0xc1
    449 
    450 # CHECK: setb %bl
    451 0x0f 0x92 0xc3
    452 
    453 # CHECK: setb %bl
    454 0x0f 0x92 0xc3
    455 
    456 # CHECK: lcalll $31438, $31438
    457 0x66 0x9a 0xce 0x7a 0x00 0x00 0xce 0x7a
    458 
    459 # CHECK: lcalll $31438, $31438
    460 0x66 0x9a 0xce 0x7a 0x00 0x00 0xce 0x7a
    461 
    462 # CHECK: ljmpl $31438, $31438
    463 0x66 0xea 0xce 0x7a 0x00 0x00 0xce 0x7a
    464 
    465 # CHECK: ljmpl $31438, $31438
    466 0x66 0xea 0xce 0x7a 0x00 0x00 0xce 0x7a
    467 
    468 # CHECK: lcallw $31438, $31438
    469 0x9a 0xce 0x7a 0xce 0x7a
    470 
    471 # CHECK: lcallw $31438, $31438
    472 0x9a 0xce 0x7a 0xce 0x7a
    473 
    474 # CHECK: ljmpw $31438, $31438
    475 0xea 0xce 0x7a 0xce 0x7a
    476 
    477 # CHECK: ljmpw $31438, $31438
    478 0xea 0xce 0x7a 0xce 0x7a
    479 
    480 # CHECK: lcallw $31438, $31438
    481 0x9a 0xce 0x7a 0xce 0x7a
    482 
    483 # CHECK: lcallw $31438, $31438
    484 0x9a 0xce 0x7a 0xce 0x7a
    485 
    486 # CHECK: ljmpw $31438, $31438
    487 0xea 0xce 0x7a 0xce 0x7a
    488 
    489 # CHECK: ljmpw $31438, $31438
    490 0xea 0xce 0x7a 0xce 0x7a
    491 
    492 # CHECK: calll 
    493 0x66 0xe8 0x00 0x00 0x00 0x00
    494 
    495 # CHECK: callw
    496 0xe8 0x00 0x00
    497 
    498 # CHECK: incb %al
    499 0xfe 0xc0
    500 
    501 # CHECK: incw %ax
    502 0x40
    503 
    504 # CHECK: incl %eax
    505 0x66 0x40
    506 
    507 # CHECK: decb %al
    508 0xfe 0xc8
    509 
    510 # CHECK: decw %ax
    511 0x48
    512 
    513 # CHECK: decl %eax
    514 0x66 0x48
    515 
    516 # CHECK: pshufw $14, %mm4, %mm0
    517 0x0f 0x70 0xc4 0x0e
    518 
    519 # CHECK: pshufw $90, %mm4, %mm0
    520 0x0f 0x70 0xc4 0x5a
    521 
    522 # CHECK: aaa
    523 0x37
    524 
    525 # CHECK: aad $1
    526 0xd5 0x01
    527 
    528 # CHECK: aad
    529 0xd5 0x0a
    530 
    531 # CHECK: aad
    532 0xd5 0x0a
    533 
    534 # CHECK: aam $2
    535 0xd4 0x02
    536 
    537 # CHECK: aam
    538 0xd4 0x0a
    539 
    540 # CHECK: aam
    541 0xd4 0x0a
    542 
    543 # CHECK: aas
    544 0x3f
    545 
    546 # CHECK: daa
    547 0x27
    548 
    549 # CHECK: das
    550 0x2f
    551 
    552 # CHECK: retw $31438
    553 0xc2 0xce 0x7a
    554 
    555 # CHECK: lretw $31438
    556 0xca 0xce 0x7a
    557 
    558 # CHECK: retw $31438
    559 0xc2 0xce 0x7a
    560 
    561 # CHECK: lretw $31438
    562 0xca 0xce 0x7a
    563 
    564 # CHECK: retl $31438
    565 0x66 0xc2 0xce 0x7a
    566 
    567 # CHECK: lretl $31438
    568 0x66 0xca 0xce 0x7a
    569 
    570 # CHECK: bound 2(%eax), %bx
    571 0x67 0x62 0x58 0x02
    572 
    573 # CHECK: bound 4(%ebx), %ecx
    574 0x67 0x66 0x62 0x4b 0x04
    575 
    576 # CHECK: arpl %bx, %bx
    577 0x63 0xdb
    578 
    579 # CHECK: arpl %bx, 6(%ecx)
    580 0x67 0x63 0x59 0x06
    581 
    582 # CHECK: lgdtw 4(%eax)
    583 0x67 0x0f 0x01 0x50 0x04
    584 
    585 # CHECK: lgdtw 4(%eax)
    586 0x67 0x0f 0x01 0x50 0x04
    587 
    588 # CHECK: lgdtl 4(%eax)
    589 0x67 0x66 0x0f 0x01 0x50 0x04
    590 
    591 # CHECK: lidtw 4(%eax)
    592 0x67 0x0f 0x01 0x58 0x04
    593 
    594 # CHECK: lidtw 4(%eax)
    595 0x67 0x0f 0x01 0x58 0x04
    596 
    597 # CHECK: lidtl 4(%eax)
    598 0x67 0x66 0x0f 0x01 0x58 0x04
    599 
    600 # CHECK: sgdtw 4(%eax)
    601 0x67 0x0f 0x01 0x40 0x04
    602 
    603 # CHECK: sgdtw 4(%eax)
    604 0x67 0x0f 0x01 0x40 0x04
    605 
    606 # CHECK: sgdtl 4(%eax)
    607 0x67 0x66 0x0f 0x01 0x40 0x04
    608 
    609 # CHECK: sidtw 4(%eax)
    610 0x67 0x0f 0x01 0x48 0x04
    611 
    612 # CHECK: sidtw 4(%eax)
    613 0x67 0x0f 0x01 0x48 0x04
    614 
    615 # CHECK: sidtl 4(%eax)
    616 0x67 0x66 0x0f 0x01 0x48 0x04
    617 
    618 # CHECK: fcompi %st(2)
    619 0xdf 0xf2
    620 
    621 # CHECK: fcompi %st(2)
    622 0xdf 0xf2
    623 
    624 # CHECK: fcompi %st(1)
    625 0xdf 0xf1
    626 
    627 # CHECK: fucompi %st(2)
    628 0xdf 0xea
    629 
    630 # CHECK: fucompi %st(2)
    631 0xdf 0xea
    632 
    633 # CHECK: fucompi %st(1)
    634 0xdf 0xe9
    635 
    636 # CHECK: fldcw 32493
    637 0xd9 0x2e 0xed 0x7e
    638 
    639 # CHECK: fldcw 32493
    640 0xd9 0x2e 0xed 0x7e
    641 
    642 # CHECK: fnstcw 32493
    643 0xd9 0x3e 0xed 0x7e
    644 
    645 # CHECK: fnstcw 32493
    646 0xd9 0x3e 0xed 0x7e
    647 
    648 # CHECK: wait
    649 0x9b
    650 
    651 # CHECK: fnstcw 32493
    652 0xd9 0x3e 0xed 0x7e
    653 
    654 # CHECK: wait
    655 0x9b
    656 
    657 # CHECK: fnstcw 32493
    658 0xd9 0x3e 0xed 0x7e
    659 
    660 # CHECK: fnstsw 32493
    661 0xdd 0x3e 0xed 0x7e
    662 
    663 # CHECK: fnstsw 32493
    664 0xdd 0x3e 0xed 0x7e
    665 
    666 # CHECK: wait
    667 0x9b
    668 
    669 # CHECK: fnstsw 32493
    670 0xdd 0x3e 0xed 0x7e
    671 
    672 # CHECK: wait
    673 0x9b
    674 
    675 # CHECK: fnstsw 32493
    676 0xdd 0x3e 0xed 0x7e
    677 
    678 # CHECK: verr 32493
    679 0x0f 0x00 0x26 0xed 0x7e
    680 
    681 # CHECK: verr 32493
    682 0x0f 0x00 0x26 0xed 0x7e
    683 
    684 # CHECK: wait
    685 0x9b
    686 
    687 # CHECK: fnclex
    688 0xdb 0xe2
    689 
    690 # CHECK: fnclex
    691 0xdb 0xe2
    692 
    693 # CHECK: ud2
    694 0x0f 0x0b
    695 
    696 # CHECK: ud2
    697 0x0f 0x0b
    698 
    699 # CHECK: ud2b
    700 0x0f 0xb9
    701 
    702 # CHECK: loope
    703 0xe1 0x00
    704 
    705 # CHECK: loopne
    706 0xe0 0x00
    707 
    708 # CHECK: outsb
    709 0x6e
    710 
    711 # CHECK: outsw
    712 0x6f
    713 
    714 # CHECK: outsl
    715 0x66 0x6f
    716 
    717 # CHECK: insb
    718 0x6c
    719 
    720 # CHECK: insw
    721 0x6d
    722 
    723 # CHECK: insl
    724 0x66 0x6d
    725 
    726 # CHECK: movsb
    727 0xa4
    728 
    729 # CHECK: movsw
    730 0xa5
    731 
    732 # CHECK: movsl
    733 0x66 0xa5
    734 
    735 # CHECK: lodsb
    736 0xac
    737 
    738 # CHECK: lodsw
    739 0xad
    740 
    741 # CHECK: lodsl
    742 0x66 0xad
    743 
    744 # CHECK: stosb
    745 0xaa
    746 
    747 # CHECK: stosw
    748 0xab
    749 
    750 # CHECK: stosl
    751 0x66 0xab
    752 
    753 # CHECK: strw %ax
    754 0x0f 0x00 0xc8
    755 
    756 # CHECK: strl %eax
    757 0x66 0x0f 0x00 0xc8
    758 
    759 # CHECK: fsubp %st(1)
    760 0xde 0xe1
    761 
    762 # CHECK: fsubp %st(2)
    763 0xde 0xe2
    764 
    765 # CHECKX: nop
    766 0x66 0x90
    767 
    768 # CHECKX: nop
    769 0x90
    770 
    771 # CHECK: xchgl %ecx, %eax
    772 0x66 0x91
    773 
    774 # CHECK: xchgl %ecx, %eax
    775 0x66 0x91
    776 
    777 # CHECK: retw
    778 0xc3
    779 
    780 # CHECK: retl
    781 0x66 0xc3
    782 
    783 # CHECK: lretw
    784 0xcb
    785 
    786 # CHECK: lretl
    787 0x66 0xcb
    788 
    789 # CHECK: callw	-1
    790 0xe8 0xff 0xff
    791