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