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