Home | History | Annotate | Download | only in X86
      1 // RUN: llvm-mc -triple i386-unknown-unknown-code16 --show-encoding %s | FileCheck %s
      2 
      3 	movl $0x12345678, %ebx
      4 // CHECK: movl
      5 // CHECK: encoding: [0x66,0xbb,0x78,0x56,0x34,0x12]
      6 	pause
      7 // CHECK: pause
      8 // CHECK: encoding: [0xf3,0x90]
      9 	sfence
     10 // CHECK: sfence
     11 // CHECK: encoding: [0x0f,0xae,0xf8]
     12 	lfence
     13 // CHECK: lfence
     14 // CHECK: encoding: [0x0f,0xae,0xe8]
     15 	mfence
     16 	stgi
     17 // CHECK: stgi
     18 // CHECK: encoding: [0x0f,0x01,0xdc]
     19 	clgi
     20 // CHECK: clgi
     21 // CHECK: encoding: [0x0f,0x01,0xdd]
     22 
     23 	rdtscp
     24 // CHECK: rdtscp
     25 // CHECK:  encoding: [0x0f,0x01,0xf9]
     26 
     27 
     28 // CHECK: movl	%eax, 16(%ebp)          # encoding: [0x67,0x66,0x89,0x45,0x10]
     29 	movl	%eax, 16(%ebp)
     30 // CHECK: movl	%eax, -16(%ebp)          # encoding: [0x67,0x66,0x89,0x45,0xf0]
     31 	movl	%eax, -16(%ebp)
     32 
     33 // CHECK: testb	%bl, %cl                # encoding: [0x84,0xcb]
     34         testb %bl, %cl
     35 
     36 // CHECK: cmpl	%eax, %ebx              # encoding: [0x66,0x39,0xc3]
     37         cmpl %eax, %ebx
     38 
     39 // CHECK: addw	%ax, %ax                # encoding: [0x01,0xc0]
     40         addw %ax, %ax
     41 
     42 // CHECK: shrl	%eax                    # encoding: [0x66,0xd1,0xe8]
     43         shrl $1, %eax
     44 
     45 // CHECK: shll	%eax                    # encoding: [0x66,0xd1,0xe0]
     46         sall $1, %eax
     47 // CHECK: shll	%eax                    # encoding: [0x66,0xd1,0xe0]
     48         sal $1, %eax
     49 
     50 // moffset forms of moves
     51 
     52 // CHECK: movb 0, %al  # encoding: [0xa0,0x00,0x00]
     53 movb	0, %al
     54 
     55 // CHECK: movw 0, %ax  # encoding: [0xa1,0x00,0x00]
     56 movw	0, %ax
     57 
     58 // CHECK: movl 0, %eax  # encoding: [0x66,0xa1,0x00,0x00]
     59 movl	0, %eax
     60 
     61 into
     62 // CHECK: into
     63 // CHECK:  encoding: [0xce]
     64 int3
     65 // CHECK: int3
     66 // CHECK:  encoding: [0xcc]
     67 int $4
     68 // CHECK: int $4
     69 // CHECK:  encoding: [0xcd,0x04]
     70 int $255
     71 // CHECK: int $255
     72 // CHECK:  encoding: [0xcd,0xff]
     73 
     74 // CHECK: pushfw	# encoding: [0x9c]
     75         pushf
     76 // CHECK: pushfl	# encoding: [0x66,0x9c]
     77         pushfl
     78 // CHECK: popfw         # encoding: [0x9d]
     79         popf
     80 // CHECK: popfl	        # encoding: [0x66,0x9d]
     81         popfl
     82 
     83 retl
     84 // CHECK: ret
     85 // CHECK:  encoding: [0x66,0xc3]
     86 
     87 // CHECK: cmoval	%eax, %edx
     88 // CHECK:  encoding: [0x66,0x0f,0x47,0xd0]
     89         	cmoval	%eax,%edx
     90 
     91 // CHECK: cmovael	%eax, %edx
     92 // CHECK:  encoding: [0x66,0x0f,0x43,0xd0]
     93         	cmovael	%eax,%edx
     94 
     95 // CHECK: cmovbel	%eax, %edx
     96 // CHECK:  encoding: [0x66,0x0f,0x46,0xd0]
     97         	cmovbel	%eax,%edx
     98 
     99 // CHECK: cmovbl	%eax, %edx
    100 // CHECK:  encoding: [0x66,0x0f,0x42,0xd0]
    101         	cmovbl	%eax,%edx
    102 
    103 // CHECK: cmovbw %bx, %bx
    104 cmovnae	%bx,%bx
    105 
    106 
    107 // CHECK: cmovbel	%eax, %edx
    108 // CHECK:  encoding: [0x66,0x0f,0x46,0xd0]
    109         	cmovbel	%eax,%edx
    110 
    111 // CHECK: cmovbl	%eax, %edx
    112 // CHECK:  encoding: [0x66,0x0f,0x42,0xd0]
    113         	cmovcl	%eax,%edx
    114 
    115 // CHECK: cmovel	%eax, %edx
    116 // CHECK:  encoding: [0x66,0x0f,0x44,0xd0]
    117         	cmovel	%eax,%edx
    118 
    119 // CHECK: cmovgl	%eax, %edx
    120 // CHECK:  encoding: [0x66,0x0f,0x4f,0xd0]
    121         	cmovgl	%eax,%edx
    122 
    123 // CHECK: cmovgel	%eax, %edx
    124 // CHECK:  encoding: [0x66,0x0f,0x4d,0xd0]
    125         	cmovgel	%eax,%edx
    126 
    127 // CHECK: cmovll	%eax, %edx
    128 // CHECK:  encoding: [0x66,0x0f,0x4c,0xd0]
    129         	cmovll	%eax,%edx
    130 
    131 // CHECK: cmovlel	%eax, %edx
    132 // CHECK:  encoding: [0x66,0x0f,0x4e,0xd0]
    133         	cmovlel	%eax,%edx
    134 
    135 // CHECK: cmovbel	%eax, %edx
    136 // CHECK:  encoding: [0x66,0x0f,0x46,0xd0]
    137         	cmovnal	%eax,%edx
    138 
    139 // CHECK: cmovnel	%eax, %edx
    140 // CHECK:  encoding: [0x66,0x0f,0x45,0xd0]
    141         	cmovnel	%eax,%edx
    142 
    143 // CHECK: cmovael	%eax, %edx
    144 // CHECK:  encoding: [0x66,0x0f,0x43,0xd0]
    145         	cmovnbl	%eax,%edx
    146 
    147 // CHECK: cmoval	%eax, %edx
    148 // CHECK:  encoding: [0x66,0x0f,0x47,0xd0]
    149         	cmovnbel	%eax,%edx
    150 
    151 // CHECK: cmovael	%eax, %edx
    152 // CHECK:  encoding: [0x66,0x0f,0x43,0xd0]
    153         	cmovncl	%eax,%edx
    154 
    155 // CHECK: cmovnel	%eax, %edx
    156 // CHECK:  encoding: [0x66,0x0f,0x45,0xd0]
    157         	cmovnel	%eax,%edx
    158 
    159 // CHECK: cmovlel	%eax, %edx
    160 // CHECK:  encoding: [0x66,0x0f,0x4e,0xd0]
    161         	cmovngl	%eax,%edx
    162 
    163 // CHECK: cmovgel	%eax, %edx
    164 // CHECK:  encoding: [0x66,0x0f,0x4d,0xd0]
    165         	cmovnl	%eax,%edx
    166 
    167 // CHECK: cmovnel	%eax, %edx
    168 // CHECK:  encoding: [0x66,0x0f,0x45,0xd0]
    169         	cmovnel	%eax,%edx
    170 
    171 // CHECK: cmovlel	%eax, %edx
    172 // CHECK:  encoding: [0x66,0x0f,0x4e,0xd0]
    173         	cmovngl	%eax,%edx
    174 
    175 // CHECK: cmovll	%eax, %edx
    176 // CHECK:  encoding: [0x66,0x0f,0x4c,0xd0]
    177         	cmovngel	%eax,%edx
    178 
    179 // CHECK: cmovgel	%eax, %edx
    180 // CHECK:  encoding: [0x66,0x0f,0x4d,0xd0]
    181         	cmovnll	%eax,%edx
    182 
    183 // CHECK: cmovgl	%eax, %edx
    184 // CHECK:  encoding: [0x66,0x0f,0x4f,0xd0]
    185         	cmovnlel	%eax,%edx
    186 
    187 // CHECK: cmovnol	%eax, %edx
    188 // CHECK:  encoding: [0x66,0x0f,0x41,0xd0]
    189         	cmovnol	%eax,%edx
    190 
    191 // CHECK: cmovnpl	%eax, %edx
    192 // CHECK:  encoding: [0x66,0x0f,0x4b,0xd0]
    193         	cmovnpl	%eax,%edx
    194 
    195 // CHECK: cmovnsl	%eax, %edx
    196 // CHECK:  encoding: [0x66,0x0f,0x49,0xd0]
    197         	cmovnsl	%eax,%edx
    198 
    199 // CHECK: cmovnel	%eax, %edx
    200 // CHECK:  encoding: [0x66,0x0f,0x45,0xd0]
    201         	cmovnzl	%eax,%edx
    202 
    203 // CHECK: cmovol	%eax, %edx
    204 // CHECK:  encoding: [0x66,0x0f,0x40,0xd0]
    205         	cmovol	%eax,%edx
    206 
    207 // CHECK: cmovpl	%eax, %edx
    208 // CHECK:  encoding: [0x66,0x0f,0x4a,0xd0]
    209         	cmovpl	%eax,%edx
    210 
    211 // CHECK: cmovsl	%eax, %edx
    212 // CHECK:  encoding: [0x66,0x0f,0x48,0xd0]
    213         	cmovsl	%eax,%edx
    214 
    215 // CHECK: cmovel	%eax, %edx
    216 // CHECK:  encoding: [0x66,0x0f,0x44,0xd0]
    217         	cmovzl	%eax,%edx
    218 
    219 // CHECK: fmul	%st(0)
    220 // CHECK:  encoding: [0xd8,0xc8]
    221         fmul %st(0), %st
    222 
    223 // CHECK: fadd	%st(0)
    224 // CHECK:  encoding: [0xd8,0xc0]
    225         fadd %st(0), %st
    226 
    227 // CHECK: fsub	%st(0)
    228 // CHECK:  encoding: [0xd8,0xe0]
    229         fsub %st(0), %st
    230 
    231 // CHECK: fsubr	%st(0)
    232 // CHECK:  encoding: [0xd8,0xe8]
    233         fsubr %st(0), %st
    234 
    235 // CHECK: fdivr	%st(0)
    236 // CHECK:  encoding: [0xd8,0xf8]
    237         fdivr %st(0), %st
    238 
    239 // CHECK: fdiv	%st(0)
    240 // CHECK:  encoding: [0xd8,0xf0]
    241         fdiv %st(0), %st
    242 
    243 // CHECK: movl	%cs, %eax
    244 // CHECK:  encoding: [0x66,0x8c,0xc8]
    245         movl %cs, %eax
    246 
    247 // CHECK: movw	%cs, %ax
    248 // CHECK:  encoding: [0x8c,0xc8]
    249         movw %cs, %ax
    250 
    251 // CHECK: movl	%cs, (%eax)
    252 // CHECK:  encoding: [0x67,0x66,0x8c,0x08]
    253         movl %cs, (%eax)
    254 
    255 // CHECK: movw	%cs, (%eax)
    256 // CHECK:  encoding: [0x67,0x8c,0x08]
    257         movw %cs, (%eax)
    258 
    259 // CHECK: movl	%eax, %cs
    260 // CHECK:  encoding: [0x66,0x8e,0xc8]
    261         movl %eax, %cs
    262 
    263 // CHECK: movl	(%eax), %cs
    264 // CHECK:  encoding: [0x67,0x66,0x8e,0x08]
    265         movl (%eax), %cs
    266 
    267 // CHECK: movw	(%eax), %cs
    268 // CHECK:  encoding: [0x67,0x8e,0x08]
    269         movw (%eax), %cs
    270 
    271 // CHECK: movl	%cr0, %eax
    272 // CHECK:  encoding: [0x0f,0x20,0xc0]
    273         movl %cr0,%eax
    274 
    275 // CHECK: movl	%cr1, %eax
    276 // CHECK:  encoding: [0x0f,0x20,0xc8]
    277         movl %cr1,%eax
    278 
    279 // CHECK: movl	%cr2, %eax
    280 // CHECK:  encoding: [0x0f,0x20,0xd0]
    281         movl %cr2,%eax
    282 
    283 // CHECK: movl	%cr3, %eax
    284 // CHECK:  encoding: [0x0f,0x20,0xd8]
    285         movl %cr3,%eax
    286 
    287 // CHECK: movl	%cr4, %eax
    288 // CHECK:  encoding: [0x0f,0x20,0xe0]
    289         movl %cr4,%eax
    290 
    291 // CHECK: movl	%dr0, %eax
    292 // CHECK:  encoding: [0x0f,0x21,0xc0]
    293         movl %dr0,%eax
    294 
    295 // CHECK: movl	%dr1, %eax
    296 // CHECK:  encoding: [0x0f,0x21,0xc8]
    297         movl %dr1,%eax
    298 
    299 // CHECK: movl	%dr1, %eax
    300 // CHECK:  encoding: [0x0f,0x21,0xc8]
    301         movl %dr1,%eax
    302 
    303 // CHECK: movl	%dr2, %eax
    304 // CHECK:  encoding: [0x0f,0x21,0xd0]
    305         movl %dr2,%eax
    306 
    307 // CHECK: movl	%dr3, %eax
    308 // CHECK:  encoding: [0x0f,0x21,0xd8]
    309         movl %dr3,%eax
    310 
    311 // CHECK: movl	%dr4, %eax
    312 // CHECK:  encoding: [0x0f,0x21,0xe0]
    313         movl %dr4,%eax
    314 
    315 // CHECK: movl	%dr5, %eax
    316 // CHECK:  encoding: [0x0f,0x21,0xe8]
    317         movl %dr5,%eax
    318 
    319 // CHECK: movl	%dr6, %eax
    320 // CHECK:  encoding: [0x0f,0x21,0xf0]
    321         movl %dr6,%eax
    322 
    323 // CHECK: movl	%dr7, %eax
    324 // CHECK:  encoding: [0x0f,0x21,0xf8]
    325         movl %dr7,%eax
    326 
    327 // CHECK: wait
    328 // CHECK:  encoding: [0x9b]
    329 	fwait
    330 
    331 // CHECK: [0x66,0x65,0xa1,0x7c,0x00]
    332         movl	%gs:124, %eax
    333 
    334 // CHECK: pusha
    335 // CHECK:  encoding: [0x60]
    336         	pusha
    337 
    338 // CHECK: popa
    339 // CHECK:  encoding: [0x61]
    340         	popa
    341 
    342 // CHECK: pushaw
    343 // CHECK:  encoding: [0x60]
    344         	pushaw
    345 
    346 // CHECK: popaw
    347 // CHECK:  encoding: [0x61]
    348         	popaw
    349 
    350 // CHECK: pushal
    351 // CHECK:  encoding: [0x66,0x60]
    352         	pushal
    353 
    354 // CHECK: popal
    355 // CHECK:  encoding: [0x66,0x61]
    356         	popal
    357 
    358 // CHECK: jmpw *8(%eax)
    359 // CHECK:   encoding: [0x67,0xff,0x60,0x08]
    360 	jmp	*8(%eax)
    361 
    362 // CHECK: jmpl *8(%eax)
    363 // CHECK:   encoding: [0x67,0x66,0xff,0x60,0x08]
    364         jmpl	*8(%eax)
    365 
    366 // CHECK: lcalll $2, $4660
    367 // CHECK:   encoding: [0x66,0x9a,0x34,0x12,0x00,0x00,0x02,0x00]
    368 lcalll $0x2, $0x1234
    369 
    370 
    371 L1:
    372   jcxz L1
    373 // CHECK: jcxz L1
    374 // CHECK:   encoding: [0xe3,A]
    375   jecxz L1
    376 // CHECK: jecxz L1
    377 // CHECK:   encoding: [0x67,0xe3,A]
    378 
    379 iret
    380 // CHECK: iretw
    381 // CHECK: encoding: [0xcf]
    382 iretw
    383 // CHECK: iretw
    384 // CHECK: encoding: [0xcf]
    385 iretl
    386 // CHECK: iretl
    387 // CHECK: encoding: [0x66,0xcf]
    388 
    389 sysret
    390 // CHECK: sysretl
    391 // CHECK: encoding: [0x0f,0x07]
    392 sysretl
    393 // CHECK: sysretl
    394 // CHECK: encoding: [0x0f,0x07]
    395 
    396 testl	%ecx, -24(%ebp)
    397 // CHECK: testl	-24(%ebp), %ecx
    398 testl	-24(%ebp), %ecx
    399 // CHECK: testl	-24(%ebp), %ecx
    400 
    401 
    402 push %cs
    403 // CHECK: pushw	%cs
    404 // CHECK: encoding: [0x0e]
    405 push %ds
    406 // CHECK: pushw	%ds
    407 // CHECK: encoding: [0x1e]
    408 push %ss
    409 // CHECK: pushw	%ss
    410 // CHECK: encoding: [0x16]
    411 push %es
    412 // CHECK: pushw	%es
    413 // CHECK: encoding: [0x06]
    414 push %fs
    415 // CHECK: pushw	%fs
    416 // CHECK: encoding: [0x0f,0xa0]
    417 push %gs
    418 // CHECK: pushw	%gs
    419 // CHECK: encoding: [0x0f,0xa8]
    420 
    421 pushw %cs
    422 // CHECK: pushw	%cs
    423 // CHECK: encoding: [0x0e]
    424 pushw %ds
    425 // CHECK: pushw	%ds
    426 // CHECK: encoding: [0x1e]
    427 pushw %ss
    428 // CHECK: pushw	%ss
    429 // CHECK: encoding: [0x16]
    430 pushw %es
    431 // CHECK: pushw	%es
    432 // CHECK: encoding: [0x06]
    433 pushw %fs
    434 // CHECK: pushw	%fs
    435 // CHECK: encoding: [0x0f,0xa0]
    436 pushw %gs
    437 // CHECK: pushw	%gs
    438 // CHECK: encoding: [0x0f,0xa8]
    439 
    440 pushl %cs
    441 // CHECK: pushl	%cs
    442 // CHECK: encoding: [0x66,0x0e]
    443 pushl %ds
    444 // CHECK: pushl	%ds
    445 // CHECK: encoding: [0x66,0x1e]
    446 pushl %ss
    447 // CHECK: pushl	%ss
    448 // CHECK: encoding: [0x66,0x16]
    449 pushl %es
    450 // CHECK: pushl	%es
    451 // CHECK: encoding: [0x66,0x06]
    452 pushl %fs
    453 // CHECK: pushl	%fs
    454 // CHECK: encoding: [0x66,0x0f,0xa0]
    455 pushl %gs
    456 // CHECK: pushl	%gs
    457 // CHECK: encoding: [0x66,0x0f,0xa8]
    458 
    459 pop %ss
    460 // CHECK: popw	%ss
    461 // CHECK: encoding: [0x17]
    462 pop %ds
    463 // CHECK: popw	%ds
    464 // CHECK: encoding: [0x1f]
    465 pop %es
    466 // CHECK: popw	%es
    467 // CHECK: encoding: [0x07]
    468 
    469 popl %ss
    470 // CHECK: popl	%ss
    471 // CHECK: encoding: [0x66,0x17]
    472 popl %ds
    473 // CHECK: popl	%ds
    474 // CHECK: encoding: [0x66,0x1f]
    475 popl %es
    476 // CHECK: popl	%es
    477 // CHECK: encoding: [0x66,0x07]
    478 
    479 pushfd
    480 // CHECK: pushfl
    481 popfd
    482 // CHECK: popfl
    483 pushfl
    484 // CHECK: pushfl
    485 popfl
    486 // CHECK: popfl
    487 
    488 
    489 	setc	%bl
    490 	setnae	%bl
    491 	setnb	%bl
    492 	setnc	%bl
    493 	setna	%bl
    494 	setnbe	%bl
    495 	setpe	%bl
    496 	setpo	%bl
    497 	setnge	%bl
    498 	setnl	%bl
    499 	setng	%bl
    500 	setnle	%bl
    501 
    502         setneb  %cl // CHECK: setne %cl
    503 	setcb	%bl // CHECK: setb %bl
    504 	setnaeb	%bl // CHECK: setb %bl
    505 
    506 
    507 // CHECK: lcalll	$31438, $31438
    508 // CHECK: lcalll	$31438, $31438
    509 // CHECK: ljmpl	$31438, $31438
    510 // CHECK: ljmpl	$31438, $31438
    511 
    512 calll	$0x7ace,$0x7ace
    513 lcalll	$0x7ace,$0x7ace
    514 jmpl	$0x7ace,$0x7ace
    515 ljmpl	$0x7ace,$0x7ace
    516 
    517 // CHECK: lcallw	$31438, $31438
    518 // CHECK: lcallw	$31438, $31438
    519 // CHECK: ljmpw	$31438, $31438
    520 // CHECK: ljmpw	$31438, $31438
    521 
    522 callw	$0x7ace,$0x7ace
    523 lcallw	$0x7ace,$0x7ace
    524 jmpw	$0x7ace,$0x7ace
    525 ljmpw	$0x7ace,$0x7ace
    526 
    527 // CHECK: lcallw	$31438, $31438
    528 // CHECK: lcallw	$31438, $31438
    529 // CHECK: ljmpw	$31438, $31438
    530 // CHECK: ljmpw	$31438, $31438
    531 
    532 call	$0x7ace,$0x7ace
    533 lcall	$0x7ace,$0x7ace
    534 jmp	$0x7ace,$0x7ace
    535 ljmp	$0x7ace,$0x7ace
    536 
    537 // CHECK: calll a
    538  calll a
    539 
    540 // CHECK:	incb	%al # encoding: [0xfe,0xc0]
    541 	incb %al
    542 
    543 // CHECK:	incw	%ax # encoding: [0x40]
    544 	incw %ax
    545 
    546 // CHECK:	incl	%eax # encoding: [0x66,0x40]
    547 	incl %eax
    548 
    549 // CHECK:	decb	%al # encoding: [0xfe,0xc8]
    550 	decb %al
    551 
    552 // CHECK:	decw	%ax # encoding: [0x48]
    553 	decw %ax
    554 
    555 // CHECK:	decl	%eax # encoding: [0x66,0x48]
    556 	decl %eax
    557 
    558 // CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e]
    559 pshufw $14, %mm4, %mm0
    560 
    561 // CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a]
    562 pshufw $90, %mm4, %mm0
    563 
    564 // CHECK: aaa
    565 // CHECK:  encoding: [0x37]
    566         	aaa
    567 
    568 // CHECK: aad	$1
    569 // CHECK:  encoding: [0xd5,0x01]
    570         	aad	$1
    571 
    572 // CHECK: aad
    573 // CHECK:  encoding: [0xd5,0x0a]
    574         	aad	$0xA
    575 
    576 // CHECK: aad
    577 // CHECK:  encoding: [0xd5,0x0a]
    578         	aad
    579 
    580 // CHECK: aam	$2
    581 // CHECK:  encoding: [0xd4,0x02]
    582         	aam	$2
    583 
    584 // CHECK: aam
    585 // CHECK:  encoding: [0xd4,0x0a]
    586         	aam	$0xA
    587 
    588 // CHECK: aam
    589 // CHECK:  encoding: [0xd4,0x0a]
    590         	aam
    591 
    592 // CHECK: aas
    593 // CHECK:  encoding: [0x3f]
    594         	aas
    595 
    596 // CHECK: daa
    597 // CHECK:  encoding: [0x27]
    598         	daa
    599 
    600 // CHECK: das
    601 // CHECK:  encoding: [0x2f]
    602         	das
    603 
    604 // CHECK: retw	$31438
    605 // CHECK:  encoding: [0xc2,0xce,0x7a]
    606         	retw	$0x7ace
    607 
    608 // CHECK: lretw	$31438
    609 // CHECK:  encoding: [0xca,0xce,0x7a]
    610         	lretw	$0x7ace
    611 
    612 // CHECK: retw	$31438
    613 // CHECK:  encoding: [0xc2,0xce,0x7a]
    614         	ret	$0x7ace
    615 
    616 // CHECK: lretw	$31438
    617 // CHECK:  encoding: [0xca,0xce,0x7a]
    618         	lret	$0x7ace
    619 
    620 // CHECK: retl	$31438
    621 // CHECK:  encoding: [0x66,0xc2,0xce,0x7a]
    622         	retl	$0x7ace
    623 
    624 // CHECK: lretl	$31438
    625 // CHECK:  encoding: [0x66,0xca,0xce,0x7a]
    626         	lretl	$0x7ace
    627 
    628 // CHECK: bound	2(%eax), %bx
    629 // CHECK:  encoding: [0x67,0x62,0x58,0x02]
    630         	bound	2(%eax),%bx
    631 
    632 // CHECK: bound	4(%ebx), %ecx
    633 // CHECK:  encoding: [0x67,0x66,0x62,0x4b,0x04]
    634         	bound	4(%ebx),%ecx
    635 
    636 // CHECK: arpl	%bx, %bx
    637 // CHECK:  encoding: [0x63,0xdb]
    638         	arpl	%bx,%bx
    639 
    640 // CHECK: arpl	%bx, 6(%ecx)
    641 // CHECK:  encoding: [0x67,0x63,0x59,0x06]
    642         	arpl	%bx,6(%ecx)
    643 
    644 // CHECK: lgdtw	4(%eax)
    645 // CHECK:  encoding: [0x67,0x0f,0x01,0x50,0x04]
    646         	lgdtw	4(%eax)
    647 
    648 // CHECK: lgdtw	4(%eax)
    649 // CHECK:  encoding: [0x67,0x0f,0x01,0x50,0x04]
    650         	lgdt	4(%eax)
    651 
    652 // CHECK: lgdtl	4(%eax)
    653 // CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x50,0x04]
    654         	lgdtl	4(%eax)
    655 
    656 // CHECK: lidtw	4(%eax)
    657 // CHECK:  encoding: [0x67,0x0f,0x01,0x58,0x04]
    658         	lidtw	4(%eax)
    659 
    660 // CHECK: lidtw	4(%eax)
    661 // CHECK:  encoding: [0x67,0x0f,0x01,0x58,0x04]
    662         	lidt	4(%eax)
    663 
    664 // CHECK: lidtl	4(%eax)
    665 // CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x58,0x04]
    666         	lidtl	4(%eax)
    667 
    668 // CHECK: sgdtw	4(%eax)
    669 // CHECK:  encoding: [0x67,0x0f,0x01,0x40,0x04]
    670         	sgdtw	4(%eax)
    671 
    672 // CHECK: sgdtw	4(%eax)
    673 // CHECK:  encoding: [0x67,0x0f,0x01,0x40,0x04]
    674         	sgdt	4(%eax)
    675 
    676 // CHECK: sgdtl	4(%eax)
    677 // CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x40,0x04]
    678         	sgdtl	4(%eax)
    679 
    680 // CHECK: sidtw	4(%eax)
    681 // CHECK:  encoding: [0x67,0x0f,0x01,0x48,0x04]
    682         	sidtw	4(%eax)
    683 
    684 // CHECK: sidtw	4(%eax)
    685 // CHECK:  encoding: [0x67,0x0f,0x01,0x48,0x04]
    686         	sidt	4(%eax)
    687 
    688 // CHECK: sidtl	4(%eax)
    689 // CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x48,0x04]
    690         	sidtl	4(%eax)
    691 
    692 // CHECK: fcompi	%st(2)
    693 // CHECK:  encoding: [0xdf,0xf2]
    694         	fcompi	%st(2), %st
    695 
    696 // CHECK: fcompi	%st(2)
    697 // CHECK:  encoding: [0xdf,0xf2]
    698         	fcompi	%st(2)
    699 
    700 // CHECK: fcompi
    701 // CHECK:  encoding: [0xdf,0xf1]
    702         	fcompi
    703 
    704 // CHECK: fucompi	%st(2)
    705 // CHECK:  encoding: [0xdf,0xea]
    706         	fucompi	%st(2),%st
    707 
    708 // CHECK: fucompi	%st(2)
    709 // CHECK:  encoding: [0xdf,0xea]
    710         	fucompi	%st(2)
    711 
    712 // CHECK: fucompi
    713 // CHECK:  encoding: [0xdf,0xe9]
    714         	fucompi
    715 
    716 // CHECK: fldcw	32493
    717 // CHECK:  encoding: [0xd9,0x2e,0xed,0x7e]
    718         	fldcww	0x7eed
    719 
    720 // CHECK: fldcw	32493
    721 // CHECK:  encoding: [0xd9,0x2e,0xed,0x7e]
    722         	fldcw	0x7eed
    723 
    724 // CHECK: fnstcw	32493
    725 // CHECK:  encoding: [0xd9,0x3e,0xed,0x7e]
    726         	fnstcww	0x7eed
    727 
    728 // CHECK: fnstcw	32493
    729 // CHECK:  encoding: [0xd9,0x3e,0xed,0x7e]
    730         	fnstcw	0x7eed
    731 
    732 // CHECK: wait
    733 // CHECK:  encoding: [0x9b]
    734         	fstcww	0x7eed
    735 
    736 // CHECK: wait
    737 // CHECK:  encoding: [0x9b]
    738         	fstcw	0x7eed
    739 
    740 // CHECK: fnstsw	32493
    741 // CHECK:  encoding: [0xdd,0x3e,0xed,0x7e]
    742         	fnstsww	0x7eed
    743 
    744 // CHECK: fnstsw	32493
    745 // CHECK:  encoding: [0xdd,0x3e,0xed,0x7e]
    746         	fnstsw	0x7eed
    747 
    748 // CHECK: wait
    749 // CHECK:  encoding: [0x9b]
    750         	fstsww	0x7eed
    751 
    752 // CHECK: wait
    753 // CHECK:  encoding: [0x9b]
    754         	fstsw	0x7eed
    755 
    756 // CHECK: verr	32493
    757 // CHECK:  encoding: [0x0f,0x00,0x26,0xed,0x7e]
    758         	verrw	0x7eed
    759 
    760 // CHECK: verr	32493
    761 // CHECK:  encoding: [0x0f,0x00,0x26,0xed,0x7e]
    762         	verr	0x7eed
    763 
    764 // CHECK: wait
    765 // CHECK:  encoding: [0x9b]
    766         	fclex
    767 
    768 // CHECK: fnclex
    769 // CHECK:  encoding: [0xdb,0xe2]
    770         	fnclex
    771 
    772 // CHECK: ud2
    773 // CHECK:  encoding: [0x0f,0x0b]
    774         	ud2
    775 
    776 // CHECK: ud2
    777 // CHECK:  encoding: [0x0f,0x0b]
    778         	ud2a
    779 
    780 // CHECK: ud2b
    781 // CHECK:  encoding: [0x0f,0xb9]
    782         	ud2b
    783 
    784 // CHECK: loope 0
    785 // CHECK: encoding: [0xe1,A]
    786 	loopz 0
    787 
    788 // CHECK: loopne 0
    789 // CHECK: encoding: [0xe0,A]
    790 	loopnz 0
    791 
    792 // CHECK: outsb (%si), %dx # encoding: [0x6e]
    793 // CHECK: outsb
    794 // CHECK: outsb
    795 	outsb
    796 	outsb	%ds:(%si), %dx
    797 	outsb	(%si), %dx
    798 
    799 // CHECK: outsw (%si), %dx # encoding: [0x6f]
    800 // CHECK: outsw
    801 // CHECK: outsw
    802 	outsw
    803 	outsw	%ds:(%si), %dx
    804 	outsw	(%si), %dx
    805 
    806 // CHECK: outsl (%si), %dx # encoding: [0x66,0x6f]
    807 // CHECK: outsl
    808 	outsl
    809 	outsl	%ds:(%si), %dx
    810 	outsl	(%si), %dx
    811 
    812 // CHECK: insb %dx, %es:(%di) # encoding: [0x6c]
    813 // CHECK: insb
    814 	insb
    815 	insb	%dx, %es:(%di)
    816 
    817 // CHECK: insw %dx, %es:(%di) # encoding: [0x6d]
    818 // CHECK: insw
    819 	insw
    820 	insw	%dx, %es:(%di)
    821 
    822 // CHECK: insl %dx, %es:(%di) # encoding: [0x66,0x6d]
    823 // CHECK: insl
    824 	insl
    825 	insl	%dx, %es:(%di)
    826 
    827 // CHECK: movsb (%si), %es:(%di) # encoding: [0xa4]
    828 // CHECK: movsb
    829 // CHECK: movsb
    830 	movsb
    831 	movsb	%ds:(%si), %es:(%di)
    832 	movsb	(%si), %es:(%di)
    833 
    834 // CHECK: movsw (%si), %es:(%di) # encoding: [0xa5]
    835 // CHECK: movsw
    836 // CHECK: movsw
    837 	movsw
    838 	movsw	%ds:(%si), %es:(%di)
    839 	movsw	(%si), %es:(%di)
    840 
    841 // CHECK: movsl (%si), %es:(%di) # encoding: [0x66,0xa5]
    842 // CHECK: movsl
    843 // CHECK: movsl
    844 	movsl
    845 	movsl	%ds:(%si), %es:(%di)
    846 	movsl	(%si), %es:(%di)
    847 
    848 // CHECK: lodsb (%si), %al # encoding: [0xac]
    849 // CHECK: lodsb
    850 // CHECK: lodsb
    851 // CHECK: lodsb
    852 // CHECK: lodsb
    853 	lodsb
    854 	lodsb	%ds:(%si), %al
    855 	lodsb	(%si), %al
    856 	lods	%ds:(%si), %al
    857 	lods	(%si), %al
    858 
    859 // CHECK: lodsw (%si), %ax # encoding: [0xad]
    860 // CHECK: lodsw
    861 // CHECK: lodsw
    862 // CHECK: lodsw
    863 // CHECK: lodsw
    864 	lodsw
    865 	lodsw	%ds:(%si), %ax
    866 	lodsw	(%si), %ax
    867 	lods	%ds:(%si), %ax
    868 	lods	(%si), %ax
    869 
    870 // CHECK: lodsl (%si), %eax # encoding: [0x66,0xad]
    871 // CHECK: lodsl
    872 // CHECK: lodsl
    873 // CHECK: lodsl
    874 // CHECK: lodsl
    875 	lodsl
    876 	lodsl	%ds:(%si), %eax
    877 	lodsl	(%si), %eax
    878 	lods	%ds:(%si), %eax
    879 	lods	(%si), %eax
    880 
    881 // CHECK: stosb %al, %es:(%di) # encoding: [0xaa]
    882 // CHECK: stosb
    883 // CHECK: stosb
    884 	stosb
    885 	stosb	%al, %es:(%di)
    886 	stos	%al, %es:(%di)
    887 
    888 // CHECK: stosw %ax, %es:(%di) # encoding: [0xab]
    889 // CHECK: stosw
    890 // CHECK: stosw
    891 	stosw
    892 	stosw	%ax, %es:(%di)
    893 	stos	%ax, %es:(%di)
    894 
    895 // CHECK: stosl %eax, %es:(%di) # encoding: [0x66,0xab]
    896 // CHECK: stosl
    897 // CHECK: stosl
    898 	stosl
    899 	stosl	%eax, %es:(%di)
    900 	stos	%eax, %es:(%di)
    901 
    902 // CHECK: strw
    903 // CHECK: encoding: [0x0f,0x00,0xc8]
    904 	str %ax
    905 
    906 // CHECK: strl
    907 // CHECK: encoding: [0x66,0x0f,0x00,0xc8]
    908 	str %eax
    909 
    910 
    911 // CHECK: fsubp
    912 // CHECK: encoding: [0xde,0xe1]
    913 fsubp %st,%st(1)
    914 
    915 // CHECK: fsubp	%st(2)
    916 // CHECK: encoding: [0xde,0xe2]
    917 fsubp   %st, %st(2)
    918 
    919 // CHECK: xchgl %eax, %eax
    920 // CHECK: encoding: [0x66,0x90]
    921 xchgl %eax, %eax
    922 
    923 // CHECK: xchgw %ax, %ax
    924 // CHECK: encoding: [0x90]
    925 xchgw %ax, %ax
    926 
    927 // CHECK: xchgl %ecx, %eax
    928 // CHECK: encoding: [0x66,0x91]
    929 xchgl %ecx, %eax
    930 
    931 // CHECK: xchgl %ecx, %eax
    932 // CHECK: encoding: [0x66,0x91]
    933 xchgl %eax, %ecx
    934 
    935 // CHECK: retw
    936 // CHECK: encoding: [0xc3]
    937 retw
    938 
    939 // CHECK: retl
    940 // CHECK: encoding: [0x66,0xc3]
    941 retl
    942 
    943 // CHECK: lretw
    944 // CHECK: encoding: [0xcb]
    945 lretw
    946 
    947 // CHECK: lretl
    948 // CHECK: encoding: [0x66,0xcb]
    949 lretl
    950