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,0xd9] 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] 53movb 0, %al 54 55// CHECK: movw 0, %ax # encoding: [0xa1,0x00,0x00] 56movw 0, %ax 57 58// CHECK: movl 0, %eax # encoding: [0x66,0xa1,0x00,0x00] 59movl 0, %eax 60 61into 62// CHECK: into 63// CHECK: encoding: [0xce] 64int3 65// CHECK: int3 66// CHECK: encoding: [0xcc] 67int $4 68// CHECK: int $4 69// CHECK: encoding: [0xcd,0x04] 70int $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 83retl 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 104cmovnae %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: movw %cs, (%eax) 252// CHECK: encoding: [0x67,0x8c,0x08] 253 mov %cs, (%eax) 254 255// CHECK: movw %cs, (%eax) 256// CHECK: encoding: [0x67,0x8c,0x08] 257 movw %cs, (%eax) 258 259// CHECK: movw %ax, %cs 260// CHECK: encoding: [0x8e,0xc8] 261 movl %eax, %cs 262 263// CHECK: movw %ax, %cs 264// CHECK: encoding: [0x8e,0xc8] 265 mov %eax, %cs 266 267// CHECK: movw %ax, %cs 268// CHECK: encoding: [0x8e,0xc8] 269 movw %ax, %cs 270 271// CHECK: movw %ax, %cs 272// CHECK: encoding: [0x8e,0xc8] 273 mov %ax, %cs 274 275// CHECK: movw (%eax), %cs 276// CHECK: encoding: [0x67,0x8e,0x08] 277 mov (%eax), %cs 278 279// CHECK: movw (%eax), %cs 280// CHECK: encoding: [0x67,0x8e,0x08] 281 movw (%eax), %cs 282 283// CHECK: movl %cr0, %eax 284// CHECK: encoding: [0x0f,0x20,0xc0] 285 movl %cr0,%eax 286 287// CHECK: movl %cr1, %eax 288// CHECK: encoding: [0x0f,0x20,0xc8] 289 movl %cr1,%eax 290 291// CHECK: movl %cr2, %eax 292// CHECK: encoding: [0x0f,0x20,0xd0] 293 movl %cr2,%eax 294 295// CHECK: movl %cr3, %eax 296// CHECK: encoding: [0x0f,0x20,0xd8] 297 movl %cr3,%eax 298 299// CHECK: movl %cr4, %eax 300// CHECK: encoding: [0x0f,0x20,0xe0] 301 movl %cr4,%eax 302 303// CHECK: movl %dr0, %eax 304// CHECK: encoding: [0x0f,0x21,0xc0] 305 movl %dr0,%eax 306 307// CHECK: movl %dr1, %eax 308// CHECK: encoding: [0x0f,0x21,0xc8] 309 movl %dr1,%eax 310 311// CHECK: movl %dr1, %eax 312// CHECK: encoding: [0x0f,0x21,0xc8] 313 movl %dr1,%eax 314 315// CHECK: movl %dr2, %eax 316// CHECK: encoding: [0x0f,0x21,0xd0] 317 movl %dr2,%eax 318 319// CHECK: movl %dr3, %eax 320// CHECK: encoding: [0x0f,0x21,0xd8] 321 movl %dr3,%eax 322 323// CHECK: movl %dr4, %eax 324// CHECK: encoding: [0x0f,0x21,0xe0] 325 movl %dr4,%eax 326 327// CHECK: movl %dr5, %eax 328// CHECK: encoding: [0x0f,0x21,0xe8] 329 movl %dr5,%eax 330 331// CHECK: movl %dr6, %eax 332// CHECK: encoding: [0x0f,0x21,0xf0] 333 movl %dr6,%eax 334 335// CHECK: movl %dr7, %eax 336// CHECK: encoding: [0x0f,0x21,0xf8] 337 movl %dr7,%eax 338 339// CHECK: wait 340// CHECK: encoding: [0x9b] 341 fwait 342 343// CHECK: [0x66,0x65,0xa1,0x7c,0x00] 344 movl %gs:124, %eax 345 346// CHECK: pusha 347// CHECK: encoding: [0x60] 348 pusha 349 350// CHECK: popa 351// CHECK: encoding: [0x61] 352 popa 353 354// CHECK: pushaw 355// CHECK: encoding: [0x60] 356 pushaw 357 358// CHECK: popaw 359// CHECK: encoding: [0x61] 360 popaw 361 362// CHECK: pushal 363// CHECK: encoding: [0x66,0x60] 364 pushal 365 366// CHECK: popal 367// CHECK: encoding: [0x66,0x61] 368 popal 369 370// CHECK: jmpw *8(%eax) 371// CHECK: encoding: [0x67,0xff,0x60,0x08] 372 jmp *8(%eax) 373 374// CHECK: jmpl *8(%eax) 375// CHECK: encoding: [0x67,0x66,0xff,0x60,0x08] 376 jmpl *8(%eax) 377 378// CHECK: lcalll $2, $4660 379// CHECK: encoding: [0x66,0x9a,0x34,0x12,0x00,0x00,0x02,0x00] 380lcalll $0x2, $0x1234 381 382 383L1: 384 jcxz L1 385// CHECK: jcxz L1 386// CHECK: encoding: [0xe3,A] 387 jecxz L1 388// CHECK: jecxz L1 389// CHECK: encoding: [0x67,0xe3,A] 390 391iret 392// CHECK: iretw 393// CHECK: encoding: [0xcf] 394iretw 395// CHECK: iretw 396// CHECK: encoding: [0xcf] 397iretl 398// CHECK: iretl 399// CHECK: encoding: [0x66,0xcf] 400 401sysret 402// CHECK: sysretl 403// CHECK: encoding: [0x0f,0x07] 404sysretl 405// CHECK: sysretl 406// CHECK: encoding: [0x0f,0x07] 407 408testl %ecx, -24(%ebp) 409// CHECK: testl %ecx, -24(%ebp) 410testl -24(%ebp), %ecx 411// CHECK: testl %ecx, -24(%ebp) 412 413 414push %cs 415// CHECK: pushw %cs 416// CHECK: encoding: [0x0e] 417push %ds 418// CHECK: pushw %ds 419// CHECK: encoding: [0x1e] 420push %ss 421// CHECK: pushw %ss 422// CHECK: encoding: [0x16] 423push %es 424// CHECK: pushw %es 425// CHECK: encoding: [0x06] 426push %fs 427// CHECK: pushw %fs 428// CHECK: encoding: [0x0f,0xa0] 429push %gs 430// CHECK: pushw %gs 431// CHECK: encoding: [0x0f,0xa8] 432 433pushw %cs 434// CHECK: pushw %cs 435// CHECK: encoding: [0x0e] 436pushw %ds 437// CHECK: pushw %ds 438// CHECK: encoding: [0x1e] 439pushw %ss 440// CHECK: pushw %ss 441// CHECK: encoding: [0x16] 442pushw %es 443// CHECK: pushw %es 444// CHECK: encoding: [0x06] 445pushw %fs 446// CHECK: pushw %fs 447// CHECK: encoding: [0x0f,0xa0] 448pushw %gs 449// CHECK: pushw %gs 450// CHECK: encoding: [0x0f,0xa8] 451 452pushl %cs 453// CHECK: pushl %cs 454// CHECK: encoding: [0x66,0x0e] 455pushl %ds 456// CHECK: pushl %ds 457// CHECK: encoding: [0x66,0x1e] 458pushl %ss 459// CHECK: pushl %ss 460// CHECK: encoding: [0x66,0x16] 461pushl %es 462// CHECK: pushl %es 463// CHECK: encoding: [0x66,0x06] 464pushl %fs 465// CHECK: pushl %fs 466// CHECK: encoding: [0x66,0x0f,0xa0] 467pushl %gs 468// CHECK: pushl %gs 469// CHECK: encoding: [0x66,0x0f,0xa8] 470 471pop %ss 472// CHECK: popw %ss 473// CHECK: encoding: [0x17] 474pop %ds 475// CHECK: popw %ds 476// CHECK: encoding: [0x1f] 477pop %es 478// CHECK: popw %es 479// CHECK: encoding: [0x07] 480 481popl %ss 482// CHECK: popl %ss 483// CHECK: encoding: [0x66,0x17] 484popl %ds 485// CHECK: popl %ds 486// CHECK: encoding: [0x66,0x1f] 487popl %es 488// CHECK: popl %es 489// CHECK: encoding: [0x66,0x07] 490 491pushfd 492// CHECK: pushfl 493popfd 494// CHECK: popfl 495pushfl 496// CHECK: pushfl 497popfl 498// CHECK: popfl 499 500 501 setc %bl 502 setnae %bl 503 setnb %bl 504 setnc %bl 505 setna %bl 506 setnbe %bl 507 setpe %bl 508 setpo %bl 509 setnge %bl 510 setnl %bl 511 setng %bl 512 setnle %bl 513 514 setneb %cl // CHECK: setne %cl 515 setcb %bl // CHECK: setb %bl 516 setnaeb %bl // CHECK: setb %bl 517 518 519// CHECK: lcalll $31438, $31438 520// CHECK: lcalll $31438, $31438 521// CHECK: ljmpl $31438, $31438 522// CHECK: ljmpl $31438, $31438 523 524calll $0x7ace,$0x7ace 525lcalll $0x7ace,$0x7ace 526jmpl $0x7ace,$0x7ace 527ljmpl $0x7ace,$0x7ace 528 529// CHECK: lcallw $31438, $31438 530// CHECK: lcallw $31438, $31438 531// CHECK: ljmpw $31438, $31438 532// CHECK: ljmpw $31438, $31438 533 534callw $0x7ace,$0x7ace 535lcallw $0x7ace,$0x7ace 536jmpw $0x7ace,$0x7ace 537ljmpw $0x7ace,$0x7ace 538 539// CHECK: lcallw $31438, $31438 540// CHECK: lcallw $31438, $31438 541// CHECK: ljmpw $31438, $31438 542// CHECK: ljmpw $31438, $31438 543 544call $0x7ace,$0x7ace 545lcall $0x7ace,$0x7ace 546jmp $0x7ace,$0x7ace 547ljmp $0x7ace,$0x7ace 548 549// CHECK: calll a 550 calll a 551 552// CHECK: incb %al # encoding: [0xfe,0xc0] 553 incb %al 554 555// CHECK: incw %ax # encoding: [0x40] 556 incw %ax 557 558// CHECK: incl %eax # encoding: [0x66,0x40] 559 incl %eax 560 561// CHECK: decb %al # encoding: [0xfe,0xc8] 562 decb %al 563 564// CHECK: decw %ax # encoding: [0x48] 565 decw %ax 566 567// CHECK: decl %eax # encoding: [0x66,0x48] 568 decl %eax 569 570// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e] 571pshufw $14, %mm4, %mm0 572 573// CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a] 574pshufw $90, %mm4, %mm0 575 576// CHECK: aaa 577// CHECK: encoding: [0x37] 578 aaa 579 580// CHECK: aad $1 581// CHECK: encoding: [0xd5,0x01] 582 aad $1 583 584// CHECK: aad 585// CHECK: encoding: [0xd5,0x0a] 586 aad $0xA 587 588// CHECK: aad 589// CHECK: encoding: [0xd5,0x0a] 590 aad 591 592// CHECK: aam $2 593// CHECK: encoding: [0xd4,0x02] 594 aam $2 595 596// CHECK: aam 597// CHECK: encoding: [0xd4,0x0a] 598 aam $0xA 599 600// CHECK: aam 601// CHECK: encoding: [0xd4,0x0a] 602 aam 603 604// CHECK: aas 605// CHECK: encoding: [0x3f] 606 aas 607 608// CHECK: daa 609// CHECK: encoding: [0x27] 610 daa 611 612// CHECK: das 613// CHECK: encoding: [0x2f] 614 das 615 616// CHECK: retw $31438 617// CHECK: encoding: [0xc2,0xce,0x7a] 618 retw $0x7ace 619 620// CHECK: lretw $31438 621// CHECK: encoding: [0xca,0xce,0x7a] 622 lretw $0x7ace 623 624// CHECK: retw $31438 625// CHECK: encoding: [0xc2,0xce,0x7a] 626 ret $0x7ace 627 628// CHECK: lretw $31438 629// CHECK: encoding: [0xca,0xce,0x7a] 630 lret $0x7ace 631 632// CHECK: retl $31438 633// CHECK: encoding: [0x66,0xc2,0xce,0x7a] 634 retl $0x7ace 635 636// CHECK: lretl $31438 637// CHECK: encoding: [0x66,0xca,0xce,0x7a] 638 lretl $0x7ace 639 640// CHECK: bound %bx, 2(%eax) 641// CHECK: encoding: [0x67,0x62,0x58,0x02] 642 bound %bx,2(%eax) 643 644// CHECK: bound %ecx, 4(%ebx) 645// CHECK: encoding: [0x67,0x66,0x62,0x4b,0x04] 646 bound %ecx,4(%ebx) 647 648// CHECK: arpl %bx, %bx 649// CHECK: encoding: [0x63,0xdb] 650 arpl %bx,%bx 651 652// CHECK: arpl %bx, 6(%ecx) 653// CHECK: encoding: [0x67,0x63,0x59,0x06] 654 arpl %bx,6(%ecx) 655 656// CHECK: lgdtw 4(%eax) 657// CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04] 658 lgdtw 4(%eax) 659 660// CHECK: lgdtw 4(%eax) 661// CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04] 662 lgdt 4(%eax) 663 664// CHECK: lgdtl 4(%eax) 665// CHECK: encoding: [0x67,0x66,0x0f,0x01,0x50,0x04] 666 lgdtl 4(%eax) 667 668// CHECK: lidtw 4(%eax) 669// CHECK: encoding: [0x67,0x0f,0x01,0x58,0x04] 670 lidtw 4(%eax) 671 672// CHECK: lidtw 4(%eax) 673// CHECK: encoding: [0x67,0x0f,0x01,0x58,0x04] 674 lidt 4(%eax) 675 676// CHECK: lidtl 4(%eax) 677// CHECK: encoding: [0x67,0x66,0x0f,0x01,0x58,0x04] 678 lidtl 4(%eax) 679 680// CHECK: sgdtw 4(%eax) 681// CHECK: encoding: [0x67,0x0f,0x01,0x40,0x04] 682 sgdtw 4(%eax) 683 684// CHECK: sgdtw 4(%eax) 685// CHECK: encoding: [0x67,0x0f,0x01,0x40,0x04] 686 sgdt 4(%eax) 687 688// CHECK: sgdtl 4(%eax) 689// CHECK: encoding: [0x67,0x66,0x0f,0x01,0x40,0x04] 690 sgdtl 4(%eax) 691 692// CHECK: sidtw 4(%eax) 693// CHECK: encoding: [0x67,0x0f,0x01,0x48,0x04] 694 sidtw 4(%eax) 695 696// CHECK: sidtw 4(%eax) 697// CHECK: encoding: [0x67,0x0f,0x01,0x48,0x04] 698 sidt 4(%eax) 699 700// CHECK: sidtl 4(%eax) 701// CHECK: encoding: [0x67,0x66,0x0f,0x01,0x48,0x04] 702 sidtl 4(%eax) 703 704// CHECK: fcompi %st(2) 705// CHECK: encoding: [0xdf,0xf2] 706 fcompi %st(2), %st 707 708// CHECK: fcompi %st(2) 709// CHECK: encoding: [0xdf,0xf2] 710 fcompi %st(2) 711 712// CHECK: fcompi 713// CHECK: encoding: [0xdf,0xf1] 714 fcompi 715 716// CHECK: fucompi %st(2) 717// CHECK: encoding: [0xdf,0xea] 718 fucompi %st(2),%st 719 720// CHECK: fucompi %st(2) 721// CHECK: encoding: [0xdf,0xea] 722 fucompi %st(2) 723 724// CHECK: fucompi 725// CHECK: encoding: [0xdf,0xe9] 726 fucompi 727 728// CHECK: fldcw 32493 729// CHECK: encoding: [0xd9,0x2e,0xed,0x7e] 730 fldcww 0x7eed 731 732// CHECK: fldcw 32493 733// CHECK: encoding: [0xd9,0x2e,0xed,0x7e] 734 fldcw 0x7eed 735 736// CHECK: fnstcw 32493 737// CHECK: encoding: [0xd9,0x3e,0xed,0x7e] 738 fnstcww 0x7eed 739 740// CHECK: fnstcw 32493 741// CHECK: encoding: [0xd9,0x3e,0xed,0x7e] 742 fnstcw 0x7eed 743 744// CHECK: wait 745// CHECK: encoding: [0x9b] 746 fstcww 0x7eed 747 748// CHECK: wait 749// CHECK: encoding: [0x9b] 750 fstcw 0x7eed 751 752// CHECK: fnstsw 32493 753// CHECK: encoding: [0xdd,0x3e,0xed,0x7e] 754 fnstsww 0x7eed 755 756// CHECK: fnstsw 32493 757// CHECK: encoding: [0xdd,0x3e,0xed,0x7e] 758 fnstsw 0x7eed 759 760// CHECK: wait 761// CHECK: encoding: [0x9b] 762 fstsww 0x7eed 763 764// CHECK: wait 765// CHECK: encoding: [0x9b] 766 fstsw 0x7eed 767 768// CHECK: verr 32493 769// CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e] 770 verrw 0x7eed 771 772// CHECK: verr 32493 773// CHECK: encoding: [0x0f,0x00,0x26,0xed,0x7e] 774 verr 0x7eed 775 776// CHECK: wait 777// CHECK: encoding: [0x9b] 778 fclex 779 780// CHECK: fnclex 781// CHECK: encoding: [0xdb,0xe2] 782 fnclex 783 784// CHECK: ud2 785// CHECK: encoding: [0x0f,0x0b] 786 ud2 787 788// CHECK: ud2 789// CHECK: encoding: [0x0f,0x0b] 790 ud2a 791 792// CHECK: ud2b 793// CHECK: encoding: [0x0f,0xb9] 794 ud2b 795 796// CHECK: loope 0 797// CHECK: encoding: [0xe1,A] 798 loopz 0 799 800// CHECK: loopne 0 801// CHECK: encoding: [0xe0,A] 802 loopnz 0 803 804// CHECK: outsb (%si), %dx # encoding: [0x6e] 805// CHECK: outsb 806// CHECK: outsb 807 outsb 808 outsb %ds:(%si), %dx 809 outsb (%si), %dx 810 811// CHECK: outsw (%si), %dx # encoding: [0x6f] 812// CHECK: outsw 813// CHECK: outsw 814 outsw 815 outsw %ds:(%si), %dx 816 outsw (%si), %dx 817 818// CHECK: outsl (%si), %dx # encoding: [0x66,0x6f] 819// CHECK: outsl 820 outsl 821 outsl %ds:(%si), %dx 822 outsl (%si), %dx 823 824// CHECK: insb %dx, %es:(%di) # encoding: [0x6c] 825// CHECK: insb 826 insb 827 insb %dx, %es:(%di) 828 829// CHECK: insw %dx, %es:(%di) # encoding: [0x6d] 830// CHECK: insw 831 insw 832 insw %dx, %es:(%di) 833 834// CHECK: insl %dx, %es:(%di) # encoding: [0x66,0x6d] 835// CHECK: insl 836 insl 837 insl %dx, %es:(%di) 838 839// CHECK: movsb (%si), %es:(%di) # encoding: [0xa4] 840// CHECK: movsb 841// CHECK: movsb 842 movsb 843 movsb %ds:(%si), %es:(%di) 844 movsb (%si), %es:(%di) 845 846// CHECK: movsw (%si), %es:(%di) # encoding: [0xa5] 847// CHECK: movsw 848// CHECK: movsw 849 movsw 850 movsw %ds:(%si), %es:(%di) 851 movsw (%si), %es:(%di) 852 853// CHECK: movsl (%si), %es:(%di) # encoding: [0x66,0xa5] 854// CHECK: movsl 855// CHECK: movsl 856 movsl 857 movsl %ds:(%si), %es:(%di) 858 movsl (%si), %es:(%di) 859 860// CHECK: lodsb (%si), %al # encoding: [0xac] 861// CHECK: lodsb 862// CHECK: lodsb 863// CHECK: lodsb 864// CHECK: lodsb 865 lodsb 866 lodsb %ds:(%si), %al 867 lodsb (%si), %al 868 lods %ds:(%si), %al 869 lods (%si), %al 870 871// CHECK: lodsw (%si), %ax # encoding: [0xad] 872// CHECK: lodsw 873// CHECK: lodsw 874// CHECK: lodsw 875// CHECK: lodsw 876 lodsw 877 lodsw %ds:(%si), %ax 878 lodsw (%si), %ax 879 lods %ds:(%si), %ax 880 lods (%si), %ax 881 882// CHECK: lodsl (%si), %eax # encoding: [0x66,0xad] 883// CHECK: lodsl 884// CHECK: lodsl 885// CHECK: lodsl 886// CHECK: lodsl 887 lodsl 888 lodsl %ds:(%si), %eax 889 lodsl (%si), %eax 890 lods %ds:(%si), %eax 891 lods (%si), %eax 892 893// CHECK: stosb %al, %es:(%di) # encoding: [0xaa] 894// CHECK: stosb 895// CHECK: stosb 896 stosb 897 stosb %al, %es:(%di) 898 stos %al, %es:(%di) 899 900// CHECK: stosw %ax, %es:(%di) # encoding: [0xab] 901// CHECK: stosw 902// CHECK: stosw 903 stosw 904 stosw %ax, %es:(%di) 905 stos %ax, %es:(%di) 906 907// CHECK: stosl %eax, %es:(%di) # encoding: [0x66,0xab] 908// CHECK: stosl 909// CHECK: stosl 910 stosl 911 stosl %eax, %es:(%di) 912 stos %eax, %es:(%di) 913 914// CHECK: strw 915// CHECK: encoding: [0x0f,0x00,0xc8] 916 str %ax 917 918// CHECK: strl 919// CHECK: encoding: [0x66,0x0f,0x00,0xc8] 920 str %eax 921 922 923// CHECK: fsubp %st, %st(1) 924// CHECK: encoding: [0xde,0xe1] 925fsubp %st,%st(1) 926 927// CHECK: fsubp %st, %st(2) 928// CHECK: encoding: [0xde,0xe2] 929fsubp %st, %st(2) 930 931// CHECK: xchgl %eax, %eax 932// CHECK: encoding: [0x66,0x90] 933xchgl %eax, %eax 934 935// CHECK: xchgw %ax, %ax 936// CHECK: encoding: [0x90] 937xchgw %ax, %ax 938 939// CHECK: xchgl %ecx, %eax 940// CHECK: encoding: [0x66,0x91] 941xchgl %ecx, %eax 942 943// CHECK: xchgl %ecx, %eax 944// CHECK: encoding: [0x66,0x91] 945xchgl %eax, %ecx 946 947// CHECK: retw 948// CHECK: encoding: [0xc3] 949retw 950 951// CHECK: retl 952// CHECK: encoding: [0x66,0xc3] 953retl 954 955// CHECK: lretw 956// CHECK: encoding: [0xcb] 957lretw 958 959// CHECK: lretl 960// CHECK: encoding: [0x66,0xcb] 961lretl 962 963// CHECK: data32 964// CHECK: encoding: [0x66] 965data32 966 967// CHECK: data32 968// CHECK: encoding: [0x66] 969// CHECK: lgdtw 4(%eax) 970// CHECK: encoding: [0x67,0x0f,0x01,0x50,0x04] 971data32 lgdt 4(%eax) 972 973// CHECK: wbnoinvd 974// CHECK: encoding: [0xf3,0x0f,0x09] 975wbnoinvd 976 977// CHECK: umonitor %ax 978// CHECK: encoding: [0xf3,0x0f,0xae,0xf0] 979umonitor %ax 980 981// CHECK: umonitor %eax 982// CHECK: encoding: [0x67,0xf3,0x0f,0xae,0xf0] 983umonitor %eax 984 985// CHECK: movdir64b (%esi), %eax 986// CHECK: encoding: [0x67,0x66,0x0f,0x38,0xf8,0x06] 987movdir64b (%esi), %eax 988 989// CHECK: movdir64b (%si), %ax 990// CHECK: encoding: [0x66,0x0f,0x38,0xf8,0x04] 991movdir64b (%si), %ax 992 993// CHECK: enqcmd (%bx), %di 994// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x3f] 995enqcmd (%bx), %di 996 997// CHECK: enqcmd 8128(%si), %ax 998// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x84,0xc0,0x1f] 999enqcmd 8128(%si), %ax 1000 1001// CHECK: enqcmd -8192(%di), %bx 1002// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x9d,0x00,0xe0] 1003enqcmd -8192(%di), %bx 1004 1005// CHECK: enqcmd 7408, %cx 1006// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x0e,0xf0,0x1c] 1007enqcmd 7408, %cx 1008 1009// CHECK: enqcmds (%bx), %di 1010// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x3f] 1011enqcmds (%bx), %di 1012 1013// CHECK: enqcmds 8128(%si), %ax 1014// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x84,0xc0,0x1f] 1015enqcmds 8128(%si), %ax 1016 1017// CHECK: enqcmds -8192(%di), %bx 1018// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x9d,0x00,0xe0] 1019enqcmds -8192(%di), %bx 1020 1021// CHECK: enqcmds 7408, %cx 1022// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x0e,0xf0,0x1c] 1023enqcmds 7408, %cx 1024 1025// CHECK: enqcmd (%edi), %edi 1026// CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x3f] 1027enqcmd (%edi), %edi 1028 1029// CHECK: enqcmds (%edi), %edi 1030// CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x3f] 1031enqcmds (%edi), %edi 1032