1125 lines · plain
1/// See Relocations/x86-32.s for fixup/relocation tests.2// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s3 4 pause5// CHECK: pause6// CHECK: encoding: [0xf3,0x90]7 sfence8// CHECK: sfence9// CHECK: encoding: [0x0f,0xae,0xf8]10 lfence11// CHECK: lfence12// CHECK: encoding: [0x0f,0xae,0xe8]13 mfence14// CHECK: mfence15// CHECK: encoding: [0x0f,0xae,0xf0]16 monitor17// CHECK: monitor18// CHECK: encoding: [0x0f,0x01,0xc8]19 monitor %eax, %ecx, %edx20// CHECK: monitor21// CHECK: encoding: [0x0f,0x01,0xc8]22 mwait23// CHECK: mwait24// CHECK: encoding: [0x0f,0x01,0xc9]25 mwait %eax, %ecx26// CHECK: mwait27// CHECK: encoding: [0x0f,0x01,0xc9]28 29 vmcall30// CHECK: vmcall31// CHECK: encoding: [0x0f,0x01,0xc1]32 vmfunc33// CHECK: vmfunc34// CHECK: encoding: [0x0f,0x01,0xd4]35 vmlaunch36// CHECK: vmlaunch37// CHECK: encoding: [0x0f,0x01,0xc2]38 vmresume39// CHECK: vmresume40// CHECK: encoding: [0x0f,0x01,0xc3]41 vmxoff42// CHECK: vmxoff43// CHECK: encoding: [0x0f,0x01,0xc4]44 swapgs45// CHECK: swapgs46// CHECK: encoding: [0x0f,0x01,0xf8]47 48 vmrun %eax49// CHECK: vmrun50// CHECK: encoding: [0x0f,0x01,0xd8]51 vmmcall52// CHECK: vmmcall53// CHECK: encoding: [0x0f,0x01,0xd9]54 vmload %eax55// CHECK: vmload56// CHECK: encoding: [0x0f,0x01,0xda]57 vmsave %eax58// CHECK: vmsave59// CHECK: encoding: [0x0f,0x01,0xdb]60 stgi61// CHECK: stgi62// CHECK: encoding: [0x0f,0x01,0xdc]63 clgi64// CHECK: clgi65// CHECK: encoding: [0x0f,0x01,0xdd]66 skinit %eax67// CHECK: skinit68// CHECK: encoding: [0x0f,0x01,0xde]69 invlpga %eax, %ecx70// CHECK: invlpga71// CHECK: encoding: [0x0f,0x01,0xdf]72 73 rdtscp74// CHECK: rdtscp75// CHECK: encoding: [0x0f,0x01,0xf9]76 77 78// CHECK: movl %eax, 16(%ebp) # encoding: [0x89,0x45,0x10]79 movl %eax, 16(%ebp)80// CHECK: movl %eax, -16(%ebp) # encoding: [0x89,0x45,0xf0]81 movl %eax, -16(%ebp)82 83// CHECK: testb %bl, %cl # encoding: [0x84,0xd9]84 testb %bl, %cl85 86// CHECK: cmpl %eax, %ebx # encoding: [0x39,0xc3]87 cmpl %eax, %ebx88 89// CHECK: addw %ax, %ax # encoding: [0x66,0x01,0xc0]90 addw %ax, %ax91 92// CHECK: shrl %eax # encoding: [0xd1,0xe8]93 shrl $1, %eax94 95// CHECK: shll %eax # encoding: [0xd1,0xe0]96 sall $1, %eax97// CHECK: shll %eax # encoding: [0xd1,0xe0]98 sal $1, %eax99 100// moffset forms of moves, rdar://7947184101movb 0, %al // CHECK: movb 0, %al # encoding: [0xa0,0x00,0x00,0x00,0x00]102movw 0, %ax // CHECK: movw 0, %ax # encoding: [0x66,0xa1,0x00,0x00,0x00,0x00]103movl 0, %eax // CHECK: movl 0, %eax # encoding: [0xa1,0x00,0x00,0x00,0x00]104 105// rdar://7973775106into107// CHECK: into108// CHECK: encoding: [0xce]109int3110// CHECK: int3111// CHECK: encoding: [0xcc]112int $4113// CHECK: int $4114// CHECK: encoding: [0xcd,0x04]115int $255116// CHECK: int $255117// CHECK: encoding: [0xcd,0xff]118 119// CHECK: pushfl # encoding: [0x9c]120 pushf121// CHECK: pushfl # encoding: [0x9c]122 pushfl123// CHECK: popfl # encoding: [0x9d]124 popf125// CHECK: popfl # encoding: [0x9d]126 popfl127 128// rdar://8014869129retl130// CHECK: ret131// CHECK: encoding: [0xc3]132 133// rdar://7973854134// CHECK: cmoval %eax, %edx135// CHECK: encoding: [0x0f,0x47,0xd0]136 cmoval %eax,%edx137 138// CHECK: cmovael %eax, %edx139// CHECK: encoding: [0x0f,0x43,0xd0]140 cmovael %eax,%edx141 142// CHECK: cmovbel %eax, %edx143// CHECK: encoding: [0x0f,0x46,0xd0]144 cmovbel %eax,%edx145 146// CHECK: cmovbl %eax, %edx147// CHECK: encoding: [0x0f,0x42,0xd0]148 cmovbl %eax,%edx149 150// CHECK: cmovbw %bx, %bx151cmovnae %bx,%bx152 153 154// CHECK: cmovbel %eax, %edx155// CHECK: encoding: [0x0f,0x46,0xd0]156 cmovbel %eax,%edx157 158// CHECK: cmovbl %eax, %edx159// CHECK: encoding: [0x0f,0x42,0xd0]160 cmovcl %eax,%edx161 162// CHECK: cmovel %eax, %edx163// CHECK: encoding: [0x0f,0x44,0xd0]164 cmovel %eax,%edx165 166// CHECK: cmovgl %eax, %edx167// CHECK: encoding: [0x0f,0x4f,0xd0]168 cmovgl %eax,%edx169 170// CHECK: cmovgel %eax, %edx171// CHECK: encoding: [0x0f,0x4d,0xd0]172 cmovgel %eax,%edx173 174// CHECK: cmovll %eax, %edx175// CHECK: encoding: [0x0f,0x4c,0xd0]176 cmovll %eax,%edx177 178// CHECK: cmovlel %eax, %edx179// CHECK: encoding: [0x0f,0x4e,0xd0]180 cmovlel %eax,%edx181 182// CHECK: cmovbel %eax, %edx183// CHECK: encoding: [0x0f,0x46,0xd0]184 cmovnal %eax,%edx185 186// CHECK: cmovnel %eax, %edx187// CHECK: encoding: [0x0f,0x45,0xd0]188 cmovnel %eax,%edx189 190// CHECK: cmovael %eax, %edx191// CHECK: encoding: [0x0f,0x43,0xd0]192 cmovnbl %eax,%edx193 194// CHECK: cmoval %eax, %edx195// CHECK: encoding: [0x0f,0x47,0xd0]196 cmovnbel %eax,%edx197 198// CHECK: cmovael %eax, %edx199// CHECK: encoding: [0x0f,0x43,0xd0]200 cmovncl %eax,%edx201 202// CHECK: cmovnel %eax, %edx203// CHECK: encoding: [0x0f,0x45,0xd0]204 cmovnel %eax,%edx205 206// CHECK: cmovlel %eax, %edx207// CHECK: encoding: [0x0f,0x4e,0xd0]208 cmovngl %eax,%edx209 210// CHECK: cmovgel %eax, %edx211// CHECK: encoding: [0x0f,0x4d,0xd0]212 cmovnl %eax,%edx213 214// CHECK: cmovnel %eax, %edx215// CHECK: encoding: [0x0f,0x45,0xd0]216 cmovnel %eax,%edx217 218// CHECK: cmovlel %eax, %edx219// CHECK: encoding: [0x0f,0x4e,0xd0]220 cmovngl %eax,%edx221 222// CHECK: cmovll %eax, %edx223// CHECK: encoding: [0x0f,0x4c,0xd0]224 cmovngel %eax,%edx225 226// CHECK: cmovgel %eax, %edx227// CHECK: encoding: [0x0f,0x4d,0xd0]228 cmovnll %eax,%edx229 230// CHECK: cmovgl %eax, %edx231// CHECK: encoding: [0x0f,0x4f,0xd0]232 cmovnlel %eax,%edx233 234// CHECK: cmovnol %eax, %edx235// CHECK: encoding: [0x0f,0x41,0xd0]236 cmovnol %eax,%edx237 238// CHECK: cmovnpl %eax, %edx239// CHECK: encoding: [0x0f,0x4b,0xd0]240 cmovnpl %eax,%edx241 242// CHECK: cmovnsl %eax, %edx243// CHECK: encoding: [0x0f,0x49,0xd0]244 cmovnsl %eax,%edx245 246// CHECK: cmovnel %eax, %edx247// CHECK: encoding: [0x0f,0x45,0xd0]248 cmovnzl %eax,%edx249 250// CHECK: cmovol %eax, %edx251// CHECK: encoding: [0x0f,0x40,0xd0]252 cmovol %eax,%edx253 254// CHECK: cmovpl %eax, %edx255// CHECK: encoding: [0x0f,0x4a,0xd0]256 cmovpl %eax,%edx257 258// CHECK: cmovsl %eax, %edx259// CHECK: encoding: [0x0f,0x48,0xd0]260 cmovsl %eax,%edx261 262// CHECK: cmovel %eax, %edx263// CHECK: encoding: [0x0f,0x44,0xd0]264 cmovzl %eax,%edx265 266// CHECK: cmpeqps %xmm0, %xmm1267// CHECK: encoding: [0x0f,0xc2,0xc8,0x00]268 cmpps $0, %xmm0, %xmm1269// CHECK: cmpeqps (%eax), %xmm1270// CHECK: encoding: [0x0f,0xc2,0x08,0x00]271 cmpps $0, 0(%eax), %xmm1272// CHECK: cmpeqpd %xmm0, %xmm1273// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x00]274 cmppd $0, %xmm0, %xmm1275// CHECK: cmpeqpd (%eax), %xmm1276// CHECK: encoding: [0x66,0x0f,0xc2,0x08,0x00]277 cmppd $0, 0(%eax), %xmm1278// CHECK: cmpeqss %xmm0, %xmm1279// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x00]280 cmpss $0, %xmm0, %xmm1281// CHECK: cmpeqss (%eax), %xmm1282// CHECK: encoding: [0xf3,0x0f,0xc2,0x08,0x00]283 cmpss $0, 0(%eax), %xmm1284// CHECK: cmpeqsd %xmm0, %xmm1285// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x00]286 cmpsd $0, %xmm0, %xmm1287// CHECK: cmpeqsd (%eax), %xmm1288// CHECK: encoding: [0xf2,0x0f,0xc2,0x08,0x00]289 cmpsd $0, 0(%eax), %xmm1290 291// Check matching of instructions which embed the SSE comparison code.292 293// CHECK: cmpeqps %xmm0, %xmm1294// CHECK: encoding: [0x0f,0xc2,0xc8,0x00]295 cmpeqps %xmm0, %xmm1296 297// CHECK: cmpltpd %xmm0, %xmm1298// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x01]299 cmpltpd %xmm0, %xmm1300 301// CHECK: cmpless %xmm0, %xmm1302// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x02]303 cmpless %xmm0, %xmm1304 305// CHECK: cmpunordpd %xmm0, %xmm1306// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x03]307 cmpunordpd %xmm0, %xmm1308 309// CHECK: cmpneqps %xmm0, %xmm1310// CHECK: encoding: [0x0f,0xc2,0xc8,0x04]311 cmpneqps %xmm0, %xmm1312 313// CHECK: cmpnltpd %xmm0, %xmm1314// CHECK: encoding: [0x66,0x0f,0xc2,0xc8,0x05]315 cmpnltpd %xmm0, %xmm1316 317// CHECK: cmpnless %xmm0, %xmm1318// CHECK: encoding: [0xf3,0x0f,0xc2,0xc8,0x06]319 cmpnless %xmm0, %xmm1320 321// CHECK: cmpordsd %xmm0, %xmm1322// CHECK: encoding: [0xf2,0x0f,0xc2,0xc8,0x07]323 cmpordsd %xmm0, %xmm1324 325// rdar://7995856326// CHECK: fmul %st(0)327// CHECK: encoding: [0xd8,0xc8]328 fmul %st(0), %st329 330// CHECK: fadd %st(0)331// CHECK: encoding: [0xd8,0xc0]332 fadd %st(0), %st333 334// CHECK: fsub %st(0)335// CHECK: encoding: [0xd8,0xe0]336 fsub %st(0), %st337 338// CHECK: fsubr %st(0)339// CHECK: encoding: [0xd8,0xe8]340 fsubr %st(0), %st341 342// CHECK: fdivr %st(0)343// CHECK: encoding: [0xd8,0xf8]344 fdivr %st(0), %st345 346// CHECK: fdiv %st(0)347// CHECK: encoding: [0xd8,0xf0]348 fdiv %st(0), %st349 350// radr://8017519351// CHECK: movl %cs, %eax352// CHECK: encoding: [0x8c,0xc8]353 movl %cs, %eax354 355// CHECK: movw %cs, %ax356// CHECK: encoding: [0x66,0x8c,0xc8]357 movw %cs, %ax358 359// CHECK: movw %cs, (%eax)360// CHECK: encoding: [0x8c,0x08]361 mov %cs, (%eax)362 363// CHECK: movw %cs, (%eax)364// CHECK: encoding: [0x8c,0x08]365 movw %cs, (%eax)366 367// CHECK: movl %eax, %cs368// CHECK: encoding: [0x8e,0xc8]369 movl %eax, %cs370 371// CHECK: movl %eax, %cs372// CHECK: encoding: [0x8e,0xc8]373 movw %ax, %cs374 375// CHECK: movl %eax, %cs376// CHECK: encoding: [0x8e,0xc8]377 mov %eax, %cs378 379// CHECK: movl %eax, %cs380// CHECK: encoding: [0x8e,0xc8]381 mov %ax, %cs382 383// CHECK: movw (%eax), %cs384// CHECK: encoding: [0x8e,0x08]385 mov (%eax), %cs386 387// CHECK: movw (%eax), %cs388// CHECK: encoding: [0x8e,0x08]389 movw (%eax), %cs390 391// radr://8033374392// CHECK: movl %cr0, %eax393// CHECK: encoding: [0x0f,0x20,0xc0]394 movl %cr0,%eax395 396// CHECK: movl %cr1, %eax397// CHECK: encoding: [0x0f,0x20,0xc8]398 movl %cr1,%eax399 400// CHECK: movl %cr2, %eax401// CHECK: encoding: [0x0f,0x20,0xd0]402 movl %cr2,%eax403 404// CHECK: movl %cr3, %eax405// CHECK: encoding: [0x0f,0x20,0xd8]406 movl %cr3,%eax407 408// CHECK: movl %cr4, %eax409// CHECK: encoding: [0x0f,0x20,0xe0]410 movl %cr4,%eax411 412// CHECK: movl %dr0, %eax413// CHECK: encoding: [0x0f,0x21,0xc0]414 movl %dr0,%eax415 416// CHECK: movl %dr1, %eax417// CHECK: encoding: [0x0f,0x21,0xc8]418 movl %dr1,%eax419 420// CHECK: movl %dr1, %eax421// CHECK: encoding: [0x0f,0x21,0xc8]422 movl %dr1,%eax423 424// CHECK: movl %dr2, %eax425// CHECK: encoding: [0x0f,0x21,0xd0]426 movl %dr2,%eax427 428// CHECK: movl %dr3, %eax429// CHECK: encoding: [0x0f,0x21,0xd8]430 movl %dr3,%eax431 432// CHECK: movl %dr4, %eax433// CHECK: encoding: [0x0f,0x21,0xe0]434 movl %dr4,%eax435 436// CHECK: movl %dr5, %eax437// CHECK: encoding: [0x0f,0x21,0xe8]438 movl %dr5,%eax439 440// CHECK: movl %dr6, %eax441// CHECK: encoding: [0x0f,0x21,0xf0]442 movl %dr6,%eax443 444// CHECK: movl %dr7, %eax445// CHECK: encoding: [0x0f,0x21,0xf8]446 movl %dr7,%eax447 448// CHECK: clzero449// CHECK: encoding: [0x0f,0x01,0xfc]450 clzero451 452// CHECK: clzero453// CHECK: encoding: [0x0f,0x01,0xfc]454 clzero %eax455 456// CHECK: tlbsync 457// CHECK: encoding: [0x0f,0x01,0xff]458 tlbsync459 460// CHECK: invlpgb461// CHECK: encoding: [0x0f,0x01,0xfe]462 invlpgb %eax, %edx463 464// radr://8017522465// CHECK: wait466// CHECK: encoding: [0x9b]467 fwait468 469// rdar://7873482470// CHECK: [0x65,0xa1,0x7c,0x00,0x00,0x00]471 movl %gs:124, %eax472 473// CHECK: [0x65,0xa3,0x7c,0x00,0x00,0x00]474 movl %eax, %gs:124475 476// CHECK: pushal477// CHECK: encoding: [0x60]478 pusha479 480// CHECK: popal481// CHECK: encoding: [0x61]482 popa483 484// CHECK: pushaw485// CHECK: encoding: [0x66,0x60]486 pushaw487 488// CHECK: popaw489// CHECK: encoding: [0x66,0x61]490 popaw491 492// CHECK: pushal493// CHECK: encoding: [0x60]494 pushal495 496// CHECK: popal497// CHECK: encoding: [0x61]498 popal499 500// CHECK: jmpl *8(%eax)501// CHECK: encoding: [0xff,0x60,0x08]502 jmp *8(%eax)503 504// PR7465505// CHECK: lcalll $2, $4660506// CHECK: encoding: [0x9a,0x34,0x12,0x00,0x00,0x02,0x00]507lcalll $0x2, $0x1234508 509 510// rdar://8061602511L1:512 jcxz L1513// CHECK: jcxz L1514// CHECK: encoding: [0x67,0xe3,A]515 jecxz L1516// CHECK: jecxz L1517// CHECK: encoding: [0xe3,A]518 519// rdar://8403974520iret521// CHECK: iretl522// CHECK: encoding: [0xcf]523iretw524// CHECK: iretw525// CHECK: encoding: [0x66,0xcf]526iretl527// CHECK: iretl528// CHECK: encoding: [0xcf]529 530// rdar://8403907531sysret532// CHECK: sysretl533// CHECK: encoding: [0x0f,0x07]534sysretl535// CHECK: sysretl536// CHECK: encoding: [0x0f,0x07]537 538// rdar://8018260539testl %ecx, -24(%ebp)540// CHECK: testl %ecx, -24(%ebp)541testl -24(%ebp), %ecx542// CHECK: testl %ecx, -24(%ebp)543 544 545// rdar://8407242546push %cs547// CHECK: pushl %cs548// CHECK: encoding: [0x0e]549push %ds550// CHECK: pushl %ds551// CHECK: encoding: [0x1e]552push %ss553// CHECK: pushl %ss554// CHECK: encoding: [0x16]555push %es556// CHECK: pushl %es557// CHECK: encoding: [0x06]558push %fs559// CHECK: pushl %fs560// CHECK: encoding: [0x0f,0xa0]561push %gs562// CHECK: pushl %gs563// CHECK: encoding: [0x0f,0xa8]564 565pushw %cs566// CHECK: pushw %cs567// CHECK: encoding: [0x66,0x0e]568pushw %ds569// CHECK: pushw %ds570// CHECK: encoding: [0x66,0x1e]571pushw %ss572// CHECK: pushw %ss573// CHECK: encoding: [0x66,0x16]574pushw %es575// CHECK: pushw %es576// CHECK: encoding: [0x66,0x06]577pushw %fs578// CHECK: pushw %fs579// CHECK: encoding: [0x66,0x0f,0xa0]580pushw %gs581// CHECK: pushw %gs582// CHECK: encoding: [0x66,0x0f,0xa8]583 584pop %ss585// CHECK: popl %ss586// CHECK: encoding: [0x17]587pop %ds588// CHECK: popl %ds589// CHECK: encoding: [0x1f]590pop %es591// CHECK: popl %es592// CHECK: encoding: [0x07]593 594// rdar://8408129595pushfd596// CHECK: pushfl597popfd598// CHECK: popfl599pushfl600// CHECK: pushfl601popfl602// CHECK: popfl603 604 605// rdar://8416805606 setc %bl607 setnae %bl608 setnb %bl609 setnc %bl610 setna %bl611 setnbe %bl612 setpe %bl613 setpo %bl614 setnge %bl615 setnl %bl616 setng %bl617 setnle %bl618 619// PR8686620 setneb %cl // CHECK: setne %cl621 setcb %bl // CHECK: setb %bl622 setnaeb %bl // CHECK: setb %bl623 624 625// PR8114626 627out %al, (%dx)628// CHECK: outb %al, %dx629outb %al, (%dx)630// CHECK: outb %al, %dx631out %ax, (%dx)632// CHECK: outw %ax, %dx633outw %ax, (%dx)634// CHECK: outw %ax, %dx635out %eax, (%dx)636// CHECK: outl %eax, %dx637outl %eax, (%dx)638// CHECK: outl %eax, %dx639 640 641in (%dx), %al642// CHECK: inb %dx, %al643inb (%dx), %al644// CHECK: inb %dx, %al645in (%dx), %ax646// CHECK: inw %dx, %ax647inw (%dx), %ax648// CHECK: inw %dx, %ax649in (%dx), %eax650// CHECK: inl %dx, %eax651inl (%dx), %eax652// CHECK: inl %dx, %eax653 654//PR15455655 656outsb (%esi), (%dx)657// CHECK: outsb (%esi), %dx658outsw (%esi), (%dx)659// CHECK: outsw (%esi), %dx660outsl (%esi), (%dx)661// CHECK: outsl (%esi), %dx662 663insb (%dx), %es:(%edi)664// CHECK: insb %dx, %es:(%edi)665insw (%dx), %es:(%edi)666// CHECK: insw %dx, %es:(%edi)667insl (%dx), %es:(%edi)668// CHECK: insl %dx, %es:(%edi) 669 670// CHECK: lcalll $31438, $31438671// CHECK: lcalll $31438, $31438672// CHECK: ljmpl $31438, $31438673// CHECK: ljmpl $31438, $31438674 675calll $0x7ace,$0x7ace676lcalll $0x7ace,$0x7ace677jmpl $0x7ace,$0x7ace678ljmpl $0x7ace,$0x7ace679 680// CHECK: lcallw $31438, $31438681// CHECK: lcallw $31438, $31438682// CHECK: ljmpw $31438, $31438683// CHECK: ljmpw $31438, $31438684 685callw $0x7ace,$0x7ace686lcallw $0x7ace,$0x7ace687jmpw $0x7ace,$0x7ace688ljmpw $0x7ace,$0x7ace689 690// CHECK: lcalll $31438, $31438691// CHECK: lcalll $31438, $31438692// CHECK: ljmpl $31438, $31438693// CHECK: ljmpl $31438, $31438694 695call $0x7ace,$0x7ace696lcall $0x7ace,$0x7ace697jmp $0x7ace,$0x7ace698ljmp $0x7ace,$0x7ace699 700// rdar://8456370701// CHECK: calll a702 calll a703 704// CHECK: incb %al # encoding: [0xfe,0xc0]705 incb %al706 707// CHECK: incw %ax # encoding: [0x66,0x40]708 incw %ax709 710// CHECK: incl %eax # encoding: [0x40]711 incl %eax712 713// CHECK: decb %al # encoding: [0xfe,0xc8]714 decb %al715 716// CHECK: decw %ax # encoding: [0x66,0x48]717 decw %ax718 719// CHECK: decl %eax # encoding: [0x48]720 decl %eax721 722// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e]723pshufw $14, %mm4, %mm0724 725// CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a]726// PR8288727pshufw $90, %mm4, %mm0728 729// rdar://8416805730// CHECK: aaa731// CHECK: encoding: [0x37]732 aaa733 734// CHECK: aad $1735// CHECK: encoding: [0xd5,0x01]736 aad $1737 738// CHECK: aad739// CHECK: encoding: [0xd5,0x0a]740 aad $0xA741 742// CHECK: aad743// CHECK: encoding: [0xd5,0x0a]744 aad745 746// CHECK: aam $2747// CHECK: encoding: [0xd4,0x02]748 aam $2749 750// CHECK: aam751// CHECK: encoding: [0xd4,0x0a]752 aam $0xA753 754// CHECK: aam755// CHECK: encoding: [0xd4,0x0a]756 aam757 758// CHECK: aas759// CHECK: encoding: [0x3f]760 aas761 762// CHECK: daa763// CHECK: encoding: [0x27]764 daa765 766// CHECK: das767// CHECK: encoding: [0x2f]768 das769 770// CHECK: retw $31438771// CHECK: encoding: [0x66,0xc2,0xce,0x7a]772 retw $0x7ace773 774// CHECK: lretw $31438775// CHECK: encoding: [0x66,0xca,0xce,0x7a]776 lretw $0x7ace777 778// CHECK: bound %bx, 2(%eax)779// CHECK: encoding: [0x66,0x62,0x58,0x02]780 bound %bx,2(%eax)781 782// CHECK: bound %ecx, 4(%ebx)783// CHECK: encoding: [0x62,0x4b,0x04]784 bound %ecx,4(%ebx)785 786// CHECK: arpl %bx, %bx787// CHECK: encoding: [0x63,0xdb]788 arpl %bx,%bx789 790// CHECK: arpl %bx, 6(%ecx)791// CHECK: encoding: [0x63,0x59,0x06]792 arpl %bx,6(%ecx)793 794// CHECK: lgdtw 4(%eax)795// CHECK: encoding: [0x66,0x0f,0x01,0x50,0x04]796 lgdtw 4(%eax)797 798// CHECK: lgdtl 4(%eax)799// CHECK: encoding: [0x0f,0x01,0x50,0x04]800 lgdt 4(%eax)801 802// CHECK: lgdtl 4(%eax)803// CHECK: encoding: [0x0f,0x01,0x50,0x04]804 lgdtl 4(%eax)805 806// CHECK: lidtw 4(%eax)807// CHECK: encoding: [0x66,0x0f,0x01,0x58,0x04]808 lidtw 4(%eax)809 810// CHECK: lidtl 4(%eax)811// CHECK: encoding: [0x0f,0x01,0x58,0x04]812 lidt 4(%eax)813 814// CHECK: lidtl 4(%eax)815// CHECK: encoding: [0x0f,0x01,0x58,0x04]816 lidtl 4(%eax)817 818// CHECK: sgdtw 4(%eax)819// CHECK: encoding: [0x66,0x0f,0x01,0x40,0x04]820 sgdtw 4(%eax)821 822// CHECK: sgdtl 4(%eax)823// CHECK: encoding: [0x0f,0x01,0x40,0x04]824 sgdt 4(%eax)825 826// CHECK: sgdtl 4(%eax)827// CHECK: encoding: [0x0f,0x01,0x40,0x04]828 sgdtl 4(%eax)829 830// CHECK: sidtw 4(%eax)831// CHECK: encoding: [0x66,0x0f,0x01,0x48,0x04]832 sidtw 4(%eax)833 834// CHECK: sidtl 4(%eax)835// CHECK: encoding: [0x0f,0x01,0x48,0x04]836 sidt 4(%eax)837 838// CHECK: sidtl 4(%eax)839// CHECK: encoding: [0x0f,0x01,0x48,0x04]840 sidtl 4(%eax)841 842// CHECK: fcompi %st(2)843// CHECK: encoding: [0xdf,0xf2]844 fcompi %st(2), %st845 846// CHECK: fcompi %st(2)847// CHECK: encoding: [0xdf,0xf2]848 fcompi %st(2)849 850// CHECK: fcompi851// CHECK: encoding: [0xdf,0xf1]852 fcompi853 854// CHECK: fucompi %st(2)855// CHECK: encoding: [0xdf,0xea]856 fucompi %st(2),%st857 858// CHECK: fucompi %st(2)859// CHECK: encoding: [0xdf,0xea]860 fucompi %st(2)861 862// CHECK: fucompi863// CHECK: encoding: [0xdf,0xe9]864 fucompi865 866// CHECK: fldcw 32493867// CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00]868 fldcww 0x7eed869 870// CHECK: fldcw 32493871// CHECK: encoding: [0xd9,0x2d,0xed,0x7e,0x00,0x00]872 fldcw 0x7eed873 874// CHECK: fnstcw 32493875// CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00]876 fnstcww 0x7eed877 878// CHECK: fnstcw 32493879// CHECK: encoding: [0xd9,0x3d,0xed,0x7e,0x00,0x00]880 fnstcw 0x7eed881 882// CHECK: wait883// CHECK: encoding: [0x9b]884 fstcww 0x7eed885 886// CHECK: wait887// CHECK: encoding: [0x9b]888 fstcw 0x7eed889 890// CHECK: fnstsw 32493891// CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00]892 fnstsww 0x7eed893 894// CHECK: fnstsw 32493895// CHECK: encoding: [0xdd,0x3d,0xed,0x7e,0x00,0x00]896 fnstsw 0x7eed897 898// CHECK: wait899// CHECK: encoding: [0x9b]900 fstsww 0x7eed901 902// CHECK: wait903// CHECK: encoding: [0x9b]904 fstsw 0x7eed905 906// CHECK: verr 32493907// CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00]908 verrw 0x7eed909 910// CHECK: verr 32493911// CHECK: encoding: [0x0f,0x00,0x25,0xed,0x7e,0x00,0x00]912 verr 0x7eed913 914// CHECK: wait915// CHECK: encoding: [0x9b]916 fclex917 918// CHECK: fnclex919// CHECK: encoding: [0xdb,0xe2]920 fnclex921 922// CHECK: ud2923// CHECK: encoding: [0x0f,0x0b]924 ud2925 926// CHECK: ud2927// CHECK: encoding: [0x0f,0x0b]928 ud2a929 930// CHECK: ud1l %edx, %edi931// CHECK: encoding: [0x0f,0xb9,0xfa]932 ud1 %edx, %edi933 934// CHECK: ud1l (%ebx), %ecx935// CHECK: encoding: [0x0f,0xb9,0x0b]936 ud2b (%ebx), %ecx937 938// CHECK: loope 0939// CHECK: encoding: [0xe1,A]940 loopz 0941 942// CHECK: loopne 0943// CHECK: encoding: [0xe0,A]944 loopnz 0945 946// CHECK: outsb (%esi), %dx # encoding: [0x6e]947// CHECK: outsb948// CHECK: outsb949 outsb950 outsb %ds:(%esi), %dx951 outsb (%esi), %dx952 953// CHECK: outsw (%esi), %dx # encoding: [0x66,0x6f]954// CHECK: outsw955// CHECK: outsw956 outsw957 outsw %ds:(%esi), %dx958 outsw (%esi), %dx959 960// CHECK: outsl (%esi), %dx # encoding: [0x6f]961// CHECK: outsl962 outsl963 outsl %ds:(%esi), %dx964 outsl (%esi), %dx965 966// CHECK: insb %dx, %es:(%edi) # encoding: [0x6c]967// CHECK: insb968 insb969 insb %dx, %es:(%edi)970 971// CHECK: insw %dx, %es:(%edi) # encoding: [0x66,0x6d]972// CHECK: insw973 insw974 insw %dx, %es:(%edi)975 976// CHECK: insl %dx, %es:(%edi) # encoding: [0x6d]977// CHECK: insl978 insl979 insl %dx, %es:(%edi)980 981// CHECK: movsb (%esi), %es:(%edi) # encoding: [0xa4]982// CHECK: movsb983// CHECK: movsb984 movsb985 movsb %ds:(%esi), %es:(%edi)986 movsb (%esi), %es:(%edi)987 988// CHECK: movsw (%esi), %es:(%edi) # encoding: [0x66,0xa5]989// CHECK: movsw990// CHECK: movsw991 movsw992 movsw %ds:(%esi), %es:(%edi)993 movsw (%esi), %es:(%edi)994 995// CHECK: movsl (%esi), %es:(%edi) # encoding: [0xa5]996// CHECK: movsl997// CHECK: movsl998 movsl999 movsl %ds:(%esi), %es:(%edi)1000 movsl (%esi), %es:(%edi)1001 1002// CHECK: lodsb (%esi), %al # encoding: [0xac]1003// CHECK: lodsb1004// CHECK: lodsb1005// CHECK: lodsb1006// CHECK: lodsb1007 lodsb1008 lodsb %ds:(%esi), %al1009 lodsb (%esi), %al1010 lods %ds:(%esi), %al1011 lods (%esi), %al1012 1013// CHECK: lodsw (%esi), %ax # encoding: [0x66,0xad]1014// CHECK: lodsw1015// CHECK: lodsw1016// CHECK: lodsw1017// CHECK: lodsw1018 lodsw1019 lodsw %ds:(%esi), %ax1020 lodsw (%esi), %ax1021 lods %ds:(%esi), %ax1022 lods (%esi), %ax1023 1024// CHECK: lodsl (%esi), %eax # encoding: [0xad]1025// CHECK: lodsl1026// CHECK: lodsl1027// CHECK: lodsl1028// CHECK: lodsl1029 lodsl1030 lodsl %ds:(%esi), %eax1031 lodsl (%esi), %eax1032 lods %ds:(%esi), %eax1033 lods (%esi), %eax1034 1035// CHECK: stosb %al, %es:(%edi) # encoding: [0xaa]1036// CHECK: stosb1037// CHECK: stosb1038 stosb1039 stosb %al, %es:(%edi)1040 stos %al, %es:(%edi)1041 1042// CHECK: stosw %ax, %es:(%edi) # encoding: [0x66,0xab]1043// CHECK: stosw1044// CHECK: stosw1045 stosw1046 stosw %ax, %es:(%edi)1047 stos %ax, %es:(%edi)1048 1049// CHECK: stosl %eax, %es:(%edi) # encoding: [0xab]1050// CHECK: stosl1051// CHECK: stosl1052 stosl1053 stosl %eax, %es:(%edi)1054 stos %eax, %es:(%edi)1055 1056// CHECK: strw1057// CHECK: encoding: [0x66,0x0f,0x00,0xc8]1058 str %ax1059 1060// CHECK: strl1061// CHECK: encoding: [0x0f,0x00,0xc8]1062 str %eax1063 1064 1065// PR93781066// CHECK: fsubp1067// CHECK: encoding: [0xde,0xe1]1068fsubp %st,%st(1)1069 1070// PR91641071// CHECK: fsubp %st, %st(2)1072// CHECK: encoding: [0xde,0xe2]1073fsubp %st, %st(2)1074 1075// PR103451076// CHECK: xchgl %eax, %eax1077// CHECK: encoding: [0x90]1078xchgl %eax, %eax1079 1080// CHECK: xchgw %ax, %ax1081// CHECK: encoding: [0x66,0x90]1082xchgw %ax, %ax1083 1084// CHECK: xchgl %ecx, %eax1085// CHECK: encoding: [0x91]1086xchgl %ecx, %eax1087 1088// CHECK: xchgl %ecx, %eax1089// CHECK: encoding: [0x91]1090xchgl %eax, %ecx1091 1092// CHECK: retw1093// CHECK: encoding: [0x66,0xc3]1094retw1095 1096// CHECK: lretw1097// CHECK: encoding: [0x66,0xcb]1098lretw1099 1100// CHECK: data161101// CHECK: encoding: [0x66]1102data161103 1104// CHECK: data161105// CHECK: encoding: [0x66]1106// CHECK: lgdtl 4(%eax)1107// CHECK: encoding: [0x0f,0x01,0x50,0x04]1108data16 lgdt 4(%eax)1109 1110// CHECK: rdpid %eax1111// CHECK: encoding: [0xf3,0x0f,0xc7,0xf8]1112rdpid %eax1113 1114// CHECK: ptwritel 3735928559(%ebx,%ecx,8)1115// CHECK: encoding: [0xf3,0x0f,0xae,0xa4,0xcb,0xef,0xbe,0xad,0xde]1116ptwritel 0xdeadbeef(%ebx,%ecx,8)1117 1118// CHECK: ptwritel %eax1119// CHECK: encoding: [0xf3,0x0f,0xae,0xe0]1120ptwritel %eax1121 1122// CHECK: ljmpl *%cs:3054198961123// CHECK: encoding: [0x2e,0xff,0x2d,0x78,0x56,0x34,0x12]1124ljmp %cs:*0x123456781125