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 44 rdtscp 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 72 movb 0, %al // CHECK: movb 0, %al # encoding: [0xa0,A,A,A,A] 73 movw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0xa1,A,A,A,A] 74 movl 0, %eax // CHECK: movl 0, %eax # encoding: [0xa1,A,A,A,A] 75 76 // rdar://7973775 77 into 78 // CHECK: into 79 // CHECK: encoding: [0xce] 80 int3 81 // CHECK: int3 82 // CHECK: encoding: [0xcc] 83 int $4 84 // CHECK: int $4 85 // CHECK: encoding: [0xcd,0x04] 86 int $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 100 retl 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 122 cmovnae %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] 440 lcalll $0x2, $0x1234 441 442 443 // rdar://8061602 444 L1: 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 453 iret 454 // CHECK: iretl 455 // CHECK: encoding: [0xcf] 456 iretw 457 // CHECK: iretw 458 // CHECK: encoding: [0x66,0xcf] 459 iretl 460 // CHECK: iretl 461 // CHECK: encoding: [0xcf] 462 463 // rdar://8403907 464 sysret 465 // CHECK: sysretl 466 // CHECK: encoding: [0x0f,0x07] 467 sysretl 468 // CHECK: sysretl 469 // CHECK: encoding: [0x0f,0x07] 470 471 // rdar://8018260 472 testl %ecx, -24(%ebp) 473 // CHECK: testl -24(%ebp), %ecx 474 testl -24(%ebp), %ecx 475 // CHECK: testl -24(%ebp), %ecx 476 477 478 // rdar://8407242 479 push %cs 480 // CHECK: pushl %cs 481 // CHECK: encoding: [0x0e] 482 push %ds 483 // CHECK: pushl %ds 484 // CHECK: encoding: [0x1e] 485 push %ss 486 // CHECK: pushl %ss 487 // CHECK: encoding: [0x16] 488 push %es 489 // CHECK: pushl %es 490 // CHECK: encoding: [0x06] 491 push %fs 492 // CHECK: pushl %fs 493 // CHECK: encoding: [0x0f,0xa0] 494 push %gs 495 // CHECK: pushl %gs 496 // CHECK: encoding: [0x0f,0xa8] 497 498 pushw %cs 499 // CHECK: pushw %cs 500 // CHECK: encoding: [0x66,0x0e] 501 pushw %ds 502 // CHECK: pushw %ds 503 // CHECK: encoding: [0x66,0x1e] 504 pushw %ss 505 // CHECK: pushw %ss 506 // CHECK: encoding: [0x66,0x16] 507 pushw %es 508 // CHECK: pushw %es 509 // CHECK: encoding: [0x66,0x06] 510 pushw %fs 511 // CHECK: pushw %fs 512 // CHECK: encoding: [0x66,0x0f,0xa0] 513 pushw %gs 514 // CHECK: pushw %gs 515 // CHECK: encoding: [0x66,0x0f,0xa8] 516 517 pop %ss 518 // CHECK: popl %ss 519 // CHECK: encoding: [0x17] 520 pop %ds 521 // CHECK: popl %ds 522 // CHECK: encoding: [0x1f] 523 pop %es 524 // CHECK: popl %es 525 // CHECK: encoding: [0x07] 526 527 // rdar://8408129 528 pushfd 529 // CHECK: pushfl 530 popfd 531 // CHECK: popfl 532 pushfl 533 // CHECK: pushfl 534 popfl 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 563 calll $0x7ace,$0x7ace 564 lcalll $0x7ace,$0x7ace 565 jmpl $0x7ace,$0x7ace 566 ljmpl $0x7ace,$0x7ace 567 568 // CHECK: lcalll $31438, $31438 569 // CHECK: lcalll $31438, $31438 570 // CHECK: ljmpl $31438, $31438 571 // CHECK: ljmpl $31438, $31438 572 573 call $0x7ace,$0x7ace 574 lcall $0x7ace,$0x7ace 575 jmp $0x7ace,$0x7ace 576 ljmp $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] 601 pshufw $14, %mm4, %mm0 602 603 // CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a] 604 // PR8288 605 pshufw $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] 942 fsubp %st,%st(1) 943 944 // PR9164 945 // CHECK: fsubp %st(2) 946 // CHECK: encoding: [0xde,0xe2] 947 fsubp %st, %st(2) 948 949 // PR10345 950 // CHECK: xchgl %eax, %eax 951 // CHECK: encoding: [0x90] 952 xchgl %eax, %eax 953 954 // CHECK: xchgw %ax, %ax 955 // CHECK: encoding: [0x66,0x90] 956 xchgw %ax, %ax 957 958 // CHECK: xchgl %ecx, %eax 959 // CHECK: encoding: [0x91] 960 xchgl %ecx, %eax 961 962 // CHECK: xchgl %ecx, %eax 963 // CHECK: encoding: [0x91] 964 xchgl %eax, %ecx 965