brintos

brintos / llvm-project-archived public Read only

0
0
Text · 44.4 KiB · 911f467 Raw
1991 lines · plain
1/// See Relocations/x86-64.s for fixup/relocation tests.2// RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s > %t 2> %t.err3// RUN: FileCheck < %t %s4// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s5 6	monitor7// CHECK: monitor8// CHECK: encoding: [0x0f,0x01,0xc8]9	monitor %rax, %rcx, %rdx10// CHECK: monitor11// CHECK: encoding: [0x0f,0x01,0xc8]12	mwait13// CHECK: mwait14// CHECK: encoding: [0x0f,0x01,0xc9]15	mwait %rax, %rcx16// CHECK: mwait17// CHECK: encoding: [0x0f,0x01,0xc9]18 19// Suffix inference:20 21// CHECK: addl $0, %eax22        add $0, %eax23// CHECK: addb $255, %al24        add $0xFF, %al25// CHECK: orq %rax, %rdx26        or %rax, %rdx27// CHECK: shlq $3, %rax28        shl $3, %rax29 30 31// CHECK: subb %al, %al32        subb %al, %al33 34// CHECK: addl $24, %eax35        addl $24, %eax36 37// CHECK: movl %eax, 10(%ebp)38        movl %eax, 10(%ebp)39// CHECK: movl %eax, 10(%ebp,%ebx)40        movl %eax, 10(%ebp, %ebx)41// CHECK: movl %eax, 10(%ebp,%ebx,4)42        movl %eax, 10(%ebp, %ebx, 4)43// CHECK: movl %eax, 10(,%ebx,4)44        movl %eax, 10(, %ebx, 4)45 46// CHECK: movl 0, %eax        47        movl 0, %eax48// CHECK: movl $0, %eax        49        movl $0, %eax50        51// CHECK: ret52        ret53        54// CHECK: retw55        retw56        57// FIXME: Check that this matches SUB32ri858// CHECK: subl $1, %eax59        subl $1, %eax60        61// FIXME: Check that this matches SUB32ri862// CHECK: subl $-1, %eax63        subl $-1, %eax64        65// FIXME: Check that this matches SUB32ri66// CHECK: subl $256, %eax67        subl $256, %eax68 69// FIXME: Check that this matches XOR64ri870// CHECK: xorq $1, %rax71        xorq $1, %rax72        73// FIXME: Check that this matches XOR64ri3274// CHECK: xorq $256, %rax75        xorq $256, %rax76 77// FIXME: Check that this matches SUB8rr78// CHECK: subb %al, %bl79        subb %al, %bl80 81// FIXME: Check that this matches SUB16rr82// CHECK: subw %ax, %bx83        subw %ax, %bx84        85// FIXME: Check that this matches SUB32rr86// CHECK: subl %eax, %ebx87        subl %eax, %ebx88        89// FIXME: Check that this matches the correct instruction.90// CHECK: callq *%rax91        call *%rax92 93// FIXME: Check that this matches the correct instruction.94// CHECK: shldl %cl, %eax, %ebx95        shldl %cl, %eax, %ebx96 97// CHECK: shll $2, %eax98        shll $2, %eax99 100// CHECK: shll $2, %eax101        sall $2, %eax102 103// CHECK: rep104// CHECK-NEXT: movsb105rep     # comment106movsb107 108// CHECK: rep109// CHECK: insb110        rep;insb111 112// CHECK: rep113// CHECK: outsb114        rep;outsb115 116// CHECK: rep117// CHECK: movsb118        rep;movsb119 120 121// rdar://8470918122smovb // CHECK: movsb123smovw // CHECK: movsw124smovl // CHECK: movsl125smovq // CHECK: movsq126 127// rdar://8456361128// CHECK: rep129// CHECK: movsl130        rep movsd131 132// CHECK: rep133// CHECK: lodsb134        rep;lodsb135 136// CHECK: rep137// CHECK: stosb138        rep;stosb139 140// NOTE: repz and repe have the same opcode as rep141// CHECK: rep142// CHECK: cmpsb143        repz;cmpsb144 145// NOTE: repnz has the same opcode as repne146// CHECK: repne147// CHECK: cmpsb148        repnz;cmpsb149 150// NOTE: repe and repz have the same opcode as rep151// CHECK: rep152// CHECK: scasb153        repe;scasb154 155// CHECK: repne156// CHECK: scasb157        repne;scasb158 159// CHECK: lock160// CHECK: cmpxchgb %al, (%ebx)161        lock;cmpxchgb %al, 0(%ebx)162 163// CHECK: cs164// CHECK: movb (%eax), %al165        cs;movb 0(%eax), %al166 167// CHECK: ss168// CHECK: movb (%eax), %al169        ss;movb 0(%eax), %al170 171// CHECK: ds172// CHECK: movb (%eax), %al173        ds;movb 0(%eax), %al174 175// CHECK: es176// CHECK: movb (%eax), %al177        es;movb 0(%eax), %al178 179// CHECK: fs180// CHECK: movb (%eax), %al181        fs;movb 0(%eax), %al182 183// CHECK: gs184// CHECK: movb (%eax), %al185        gs;movb 0(%eax), %al186 187// CHECK: fadd %st(0)188// CHECK: fadd %st(1)189// CHECK: fadd %st(7)190 191fadd %st(0)192fadd %st(1)193fadd %st(7)194 195// CHECK: leal 0, %eax196        leal 0, %eax197 198// rdar://7986634 - Insensitivity on opcodes.199// CHECK: int3200INT3201 202// rdar://8735979 - int $3 -> int3203// CHECK: int3204int	$3205 206 207// Allow scale factor without index register.208// CHECK: movaps	%xmm3, (%esi)209// CHECK-STDERR: warning: scale factor without index register is ignored210movaps %xmm3, (%esi, 2)211 212// CHECK: imull $12, %eax213imul $12, %eax214 215// CHECK: imull %ecx, %eax216imull %ecx, %eax217 218 219// rdar://8208481220// CHECK: outb	%al, $161221outb	%al, $161222// CHECK: outw	%ax, $128223outw	%ax, $128224// CHECK: inb	$161, %al225inb	$161, %al226 227// rdar://8017621228// CHECK: pushq	$1229push $1230 231// rdar://9716860232pushq $1233// CHECK: encoding: [0x6a,0x01]234pushq $1111111235// CHECK: encoding: [0x68,0x47,0xf4,0x10,0x00]236 237// rdar://8017530238// CHECK: sldtw	4239sldt	4240 241// rdar://8208499242// CHECK: cmovnew	%bx, %ax243cmovnz %bx, %ax244// CHECK: cmovneq	%rbx, %rax245cmovnzq %rbx, %rax246 247 248// rdar://8407928249// CHECK: inb	$127, %al250// CHECK: inw	%dx, %ax251// CHECK: outb	%al, $127252// CHECK: outw	%ax, %dx253// CHECK: inl	%dx, %eax254inb	$0x7f255inw	%dx256outb	$0x7f257outw	%dx258inl	%dx259 260 261// PR8114262// CHECK: outb	%al, %dx263// CHECK: outb	%al, %dx264// CHECK: outw	%ax, %dx265// CHECK: outw	%ax, %dx266// CHECK: outl	%eax, %dx267// CHECK: outl	%eax, %dx268 269out	%al, (%dx)270outb	%al, (%dx)271out	%ax, (%dx)272outw	%ax, (%dx)273out	%eax, (%dx)274outl	%eax, (%dx)275 276// CHECK: inb	%dx, %al277// CHECK: inb	%dx, %al278// CHECK: inw	%dx, %ax279// CHECK: inw	%dx, %ax280// CHECK: inl	%dx, %eax281// CHECK: inl	%dx, %eax282 283in	(%dx), %al284inb	(%dx), %al285in	(%dx), %ax286inw	(%dx), %ax287in	(%dx), %eax288inl	(%dx), %eax289 290//PR15455291 292outsb	(%rsi), (%dx)293// CHECK: outsb	(%rsi), %dx294outsw	(%rsi), (%dx)295// CHECK: outsw	(%rsi), %dx296outsl	(%rsi), (%dx)297// CHECK: outsl	(%rsi), %dx298 299insb	(%dx), %es:(%rdi)300// CHECK: insb	%dx, %es:(%rdi)301insw	(%dx), %es:(%rdi)302// CHECK: insw	%dx, %es:(%rdi)303insl	(%dx), %es:(%rdi)304// CHECK: insl	%dx, %es:(%rdi)	305 306// rdar://8431422307 308// CHECK: fxch %st(1)309// CHECK: fucom %st(1)310// CHECK: fucomp %st(1)311// CHECK: faddp %st, %st(1)312// CHECK: faddp %st, %st(0)313// CHECK: fsubp %st, %st(1)314// CHECK: fsubrp %st, %st(1)315// CHECK: fmulp %st, %st(1)316// CHECK: fdivp %st, %st(1)317// CHECK: fdivrp %st, %st(1)318 319fxch320fucom321fucomp322faddp323faddp %st324fsubp325fsubrp326fmulp327fdivp328fdivrp329 330// CHECK: fcomi %st(1)331// CHECK: fcomi	%st(2)332// CHECK: fucomi %st(1)333// CHECK: fucomi %st(2)334// CHECK: fucomi %st(2)335 336fcomi337fcomi	%st(2)338fucomi339fucomi	%st(2)340fucomi	%st(2), %st341 342// CHECK: fnstsw %ax343// CHECK: fnstsw %ax344 345fnstsw346fnstsw %ax347 348// rdar://8431880349// CHECK: rclb	%bl350// CHECK: rcll	2125315823(%ebx,%ecx,8)351// CHECK: rcrl	%ecx352// CHECK: rcrl	305419896353rcl	%bl354rcll	0x7eadbeef(%ebx,%ecx,8)355rcr	%ecx356rcrl	0x12345678357 358rclb	%bl       // CHECK: rclb %bl     # encoding: [0xd0,0xd3]359rclb	$1, %bl   // CHECK: rclb %bl     # encoding: [0xd0,0xd3]360rclb	$2, %bl   // CHECK: rclb $2, %bl # encoding: [0xc0,0xd3,0x02]361 362// rdar://8418316363// PR12173364// CHECK: shldw	%cl, %bx, %dx365// CHECK: shldw	%cl, %bx, %dx366// CHECK: shldw	$1, %bx, %dx367// CHECK: shldw	%cl, %bx, (%rax)368// CHECK: shldw	%cl, %bx, (%rax)369// CHECK: shrdw	%cl, %bx, %dx370// CHECK: shrdw	%cl, %bx, %dx371// CHECK: shrdw	$1, %bx, %dx372// CHECK: shrdw	%cl, %bx, (%rax)373// CHECK: shrdw	%cl, %bx, (%rax)374 375shld  %bx, %dx376shld  %cl, %bx, %dx377shld  $1, %bx, %dx378shld  %bx, (%rax)379shld  %cl, %bx, (%rax)380shrd  %bx, %dx381shrd  %cl, %bx, %dx382shrd  $1, %bx, %dx383shrd  %bx, (%rax)384shrd  %cl, %bx, (%rax)385 386// CHECK: sldtl	%ecx387// CHECK: encoding: [0x0f,0x00,0xc1]388// CHECK: sldtw	%cx389// CHECK: encoding: [0x66,0x0f,0x00,0xc1]390 391sldt	%ecx392sldt	%cx393 394// CHECK: lcalll *3135175374 395// CHECK: ljmpl  *3135175374396// CHECK: lcalll *(%rax)397// CHECK: ljmpl *(%rax)398lcall  *0xbadeface399ljmp *0xbadeface400lcall *(%rax)401ljmpl *(%rax)402 403// CHECK: ljmpl *%cs:305419896404// CHECK:  encoding: [0x2e,0xff,0x2c,0x25,0x78,0x56,0x34,0x12]405ljmp %cs:*0x12345678406 407// rdar://8444631408// CHECK: enter	$31438, $0409// CHECK: encoding: [0xc8,0xce,0x7a,0x00]410// CHECK: enter	$31438, $1411// CHECK: encoding: [0xc8,0xce,0x7a,0x01]412// CHECK: enter	$31438, $127413// CHECK: encoding: [0xc8,0xce,0x7a,0x7f]414enter $0x7ace,$0415enter $0x7ace,$1416enter $0x7ace,$0x7f417 418 419// rdar://8456364420// CHECK: movw	%cs, %ax421mov %cs, %ax422 423// rdar://8456391424fcmovb %st(1), %st   // CHECK: fcmovb	%st(1), %st425fcmove %st(1), %st   // CHECK: fcmove	%st(1), %st426fcmovbe %st(1), %st  // CHECK: fcmovbe	%st(1), %st427fcmovu %st(1), %st   // CHECK: fcmovu	 %st(1), %st428 429fcmovnb %st(1), %st  // CHECK: fcmovnb	%st(1), %st430fcmovne %st(1), %st  // CHECK: fcmovne	%st(1), %st431fcmovnbe %st(1), %st // CHECK: fcmovnbe	%st(1), %st432fcmovnu %st(1), %st  // CHECK: fcmovnu	%st(1), %st433 434fcmovnae %st(1), %st // CHECK: fcmovb	%st(1), %st435fcmovna %st(1), %st  // CHECK: fcmovbe	%st(1), %st436 437fcmovae %st(1), %st  // CHECK: fcmovnb	%st(1), %st438fcmova %st(1), %st   // CHECK: fcmovnbe	%st(1), %st439 440// rdar://8456417441.byte (88 + 1) & 15  // CHECK: .byte	9442 443// rdar://8456412444mov %rdx, %cr0445// CHECK: movq	%rdx, %cr0446// CHECK: encoding: [0x0f,0x22,0xc2]447mov %rdx, %cr4448// CHECK: movq	%rdx, %cr4449// CHECK: encoding: [0x0f,0x22,0xe2]450mov %rdx, %cr8451// CHECK: movq	%rdx, %cr8452// CHECK: encoding: [0x44,0x0f,0x22,0xc2]453mov %rdx, %cr15454// CHECK: movq	%rdx, %cr15455// CHECK: encoding: [0x44,0x0f,0x22,0xfa]456mov %rdx, %dr15457// CHECK: movq	%rdx, %dr15458// CHECK: encoding: [0x44,0x0f,0x23,0xfa]459mov %rdx, %db15460// CHECK: movq	%rdx, %dr15461// CHECK: encoding: [0x44,0x0f,0x23,0xfa]462 463// rdar://8456371 - Handle commutable instructions written backward.464// CHECK: 	faddp	%st, %st(1)465// CHECK:	fmulp	%st, %st(2)466faddp %st, %st(1)467fmulp %st, %st(2)468 469// rdar://8468087 - Encode these accurately, they are not synonyms.470// CHECK: fmul	%st, %st(1)471// CHECK: encoding: [0xdc,0xc9]472// CHECK: fmul	%st(1)473// CHECK: encoding: [0xd8,0xc9]474fmul %st, %st(1)475fmul %st(1), %st476 477// CHECK: fadd	%st, %st(1)478// CHECK: encoding: [0xdc,0xc1]479// CHECK: fadd	%st(1)480// CHECK: encoding: [0xd8,0xc1]481fadd %st, %st(1)482fadd %st(1), %st483 484 485// rdar://8416805486// CHECK: xorb	%al, %al487// CHECK: encoding: [0x30,0xc0]488// CHECK: xorw	%di, %di489// CHECK: encoding: [0x66,0x31,0xff]490// CHECK: xorl	%esi, %esi491// CHECK: encoding: [0x31,0xf6]492// CHECK: xorq	%rsi, %rsi493// CHECK: encoding: [0x48,0x31,0xf6]494clrb    %al495clr    %di496clr    %esi497clr    %rsi498 499// rdar://8456378500cltq  // CHECK: cltq501cdqe  // CHECK: cltq502cwde  // CHECK: cwtl503cwtl  // CHECK: cwtl504 505// rdar://8416805506cbw   // CHECK: cbtw507cwd   // CHECK: cwtd508cdq   // CHECK: cltd509cqo   // CHECK: cqto510 511// rdar://8456378 and PR7557 - fstsw512fstsw %ax513// CHECK: wait514// CHECK: fnstsw515fstsw (%rax)516// CHECK: wait517// CHECK: fnstsw (%rax)518 519// PR8259520fstcw (%rsp)521// CHECK: wait522// CHECK: fnstcw (%rsp)523 524// PR8259525fstcw (%rsp)526// CHECK: wait527// CHECK: fnstcw (%rsp)528 529// PR8258530finit531// CHECK: wait532// CHECK: fninit533 534fsave	32493535// CHECK: wait536// CHECK: fnsave 32493537 538 539// rdar://8456382 - cvtsd2si support.540cvtsd2si	%xmm1, %rax541// CHECK: cvtsd2si	%xmm1, %rax542// CHECK: encoding: [0xf2,0x48,0x0f,0x2d,0xc1]543cvtsd2si	%xmm1, %eax544// CHECK: cvtsd2si	%xmm1, %eax545// CHECK: encoding: [0xf2,0x0f,0x2d,0xc1]546 547cvtsd2siq %xmm0, %rax // CHECK: cvtsd2si	%xmm0, %rax548cvtsd2sil %xmm0, %eax // CHECK: cvtsd2si	%xmm0, %eax549cvtsd2si %xmm0, %rax  // CHECK: cvtsd2si	%xmm0, %rax550 551 552cvttpd2dq %xmm1, %xmm0  // CHECK: cvttpd2dq %xmm1, %xmm0553cvttpd2dq (%rax), %xmm0 // CHECK: cvttpd2dq (%rax), %xmm0554 555cvttps2dq %xmm1, %xmm0  // CHECK: cvttps2dq %xmm1, %xmm0556cvttps2dq (%rax), %xmm0 // CHECK: cvttps2dq (%rax), %xmm0557 558// rdar://8456376 - llvm-mc rejects 'roundss'559roundss $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x0a,0xc0,0x0e]560roundps $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x08,0xc0,0x0e]561roundsd $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x0b,0xc0,0x0e]562roundpd $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x09,0xc0,0x0e]563 564 565// rdar://8482675 - 32-bit mem operand support in 64-bit mode (0x67 prefix)566leal	8(%eax), %esi567// CHECK: leal	8(%eax), %esi568// CHECK: encoding: [0x67,0x8d,0x70,0x08]569leaq	8(%eax), %rsi570// CHECK: leaq	8(%eax), %rsi571// CHECK: encoding: [0x67,0x48,0x8d,0x70,0x08]572leaq	8(%rax), %rsi573// CHECK: leaq	8(%rax), %rsi574// CHECK: encoding: [0x48,0x8d,0x70,0x08]575 576 577cvttpd2dq	0x7eadbeef(%ebx,%ecx,8),%xmm5578// CHECK: cvttpd2dq	2125315823(%ebx,%ecx,8), %xmm5579// CHECK: encoding: [0x67,0x66,0x0f,0xe6,0xac,0xcb,0xef,0xbe,0xad,0x7e]580 581// rdar://8490728 - llvm-mc rejects 'movmskpd'582movmskpd	%xmm6, %rax583// CHECK: movmskpd	%xmm6, %eax584// CHECK: encoding: [0x66,0x0f,0x50,0xc6]585movmskpd	%xmm6, %eax586// CHECK: movmskpd	%xmm6, %eax587// CHECK: encoding: [0x66,0x0f,0x50,0xc6]588 589// rdar://8491845 - Gas supports commuted forms of non-commutable instructions.590fdivrp %st, %st(1) // CHECK: encoding: [0xde,0xf9]591fdivrp %st(1), %st // CHECK: encoding: [0xde,0xf9]592 593fsubrp %st, %st(1) // CHECK: encoding: [0xde,0xe9]594fsubrp %st(1), %st // CHECK: encoding: [0xde,0xe9]595 596// also PR8861597fdivp %st, %st(1) // CHECK: encoding: [0xde,0xf1]598fdivp %st(1), %st // CHECK: encoding: [0xde,0xf1]599 600 601// rdar://37247000602movl	$12, 1024(%rip)603// CHECK: movl	$12, 1024(%rip)604// CHECK: encoding: [0xc7,0x05,0x00,0x04,0x00,0x00,0x0c,0x00,0x00,0x00]605 606// CHECK: addq	$-424, %rax607// CHECK: encoding: [0x48,0x05,0x58,0xfe,0xff,0xff]608addq $-424, %rax609 610// CHECK: movq	(%r13,%rax,8), %r13611// CHECK:  encoding: [0x4d,0x8b,0x6c,0xc5,0x00]612movq 0x00(%r13,%rax,8),%r13613 614// CHECK: testq	%rax, %rbx615// CHECK:  encoding: [0x48,0x85,0xc3]616testq %rax, %rbx617 618// CHECK: cmpq	%rbx, %r14619// CHECK:   encoding: [0x49,0x39,0xde]620        cmpq %rbx, %r14621 622// rdar://7947167623 624movsq625// CHECK: movsq626// CHECK:   encoding: [0x48,0xa5]627 628movsl629// CHECK: movsl630// CHECK:   encoding: [0xa5]631 632stosq633// CHECK: stosq634// CHECK:   encoding: [0x48,0xab]635stosl636// CHECK: stosl637// CHECK:   encoding: [0xab]638 639 640// Not moffset forms of moves, they are x86-32 only! rdar://7947184641movb	0, %al    // CHECK: movb 0, %al # encoding: [0x8a,0x04,0x25,0x00,0x00,0x00,0x00]642movw	0, %ax    // CHECK: movw 0, %ax # encoding: [0x66,0x8b,0x04,0x25,0x00,0x00,0x00,0x00]643movl	0, %eax   // CHECK: movl 0, %eax # encoding: [0x8b,0x04,0x25,0x00,0x00,0x00,0x00]644 645// CHECK: pushfq	# encoding: [0x9c]646        pushf647// CHECK: pushfq	# encoding: [0x9c]648        pushfq649// CHECK: popfq	        # encoding: [0x9d]650        popf651// CHECK: popfq	        # encoding: [0x9d]652        popfq653 654// CHECK: movabsq $-281474976710654, %rax655// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]656        movabsq $0xFFFF000000000002, %rax657 658// CHECK: movabsq $-281474976710654, %rax659// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]660        movq $0xFFFF000000000002, %rax661 662// CHECK: movabsq 81985529216486895, %rax663// CHECK: encoding: [0x48,0xa1,0xef,0xcd,0xab,0x89,0x67,0x45,0x23,0x01]664        movabsq 0x123456789abcdef, %rax665 666// CHECK: movq $-65536, %rax667// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0x00,0xff,0xff]668        movq $0xFFFFFFFFFFFF0000, %rax669 670// CHECK: movq $-256, %rax671// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0xff,0xff,0xff]672        movq $0xFFFFFFFFFFFFFF00, %rax673 674// CHECK: movq $10, %rax675// CHECK: encoding: [0x48,0xc7,0xc0,0x0a,0x00,0x00,0x00]676        movq $10, %rax677 678// CHECK: movq 81985529216486895, %rax679// CHECK: encoding: [0x48,0x8b,0x04,0x25,0xef,0xcd,0xab,0x89]680        movq 0x123456789abcdef, %rax681 682// CHECK: movabsb -6066930261531658096, %al683// CHECK: encoding: [0xa0,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]684        movabsb 0xabcdef1234567890,%al685 686// CHECK: movabsw -6066930261531658096, %ax687// CHECK: encoding: [0x66,0xa1,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]688        movabsw 0xabcdef1234567890,%ax689 690// CHECK: movabsl -6066930261531658096, %eax691// CHECK: encoding: [0xa1,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]692        movabsl 0xabcdef1234567890,%eax693 694// CHECK: movabsq -6066930261531658096, %rax695// CHECK: encoding: [0x48,0xa1,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]696        movabsq 0xabcdef1234567890, %rax697 698// CHECK: movabsb %al, -6066930261531658096699// CHECK: encoding: [0xa2,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]700        movabsb %al,0xabcdef1234567890701 702// CHECK: movabsw %ax, -6066930261531658096703// CHECK: encoding: [0x66,0xa3,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]704        movabsw %ax,0xabcdef1234567890705 706// CHECK: movabsl %eax, -6066930261531658096707// CHECK: encoding: [0xa3,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]708        movabsl %eax,0xabcdef1234567890709 710// CHECK: movabsq %rax, -6066930261531658096711// CHECK: encoding: [0x48,0xa3,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]712        movabsq %rax,0xabcdef1234567890713 714// rdar://8014869715//716// CHECK: ret717// CHECK:  encoding: [0xc3]718        retq719 720// CHECK: sete %al721// CHECK: encoding: [0x0f,0x94,0xc0]722        setz %al723 724// CHECK: setne %al725// CHECK: encoding: [0x0f,0x95,0xc0]726        setnz %al727 728// CHECK: je 0729// CHECK: encoding: [0x74,A]730        jz 0731 732// CHECK: jne733// CHECK: encoding: [0x75,A]734        jnz 0735 736// PR9264737btl	$1, 0 // CHECK: btl $1, 0 # encoding: [0x0f,0xba,0x24,0x25,0x00,0x00,0x00,0x00,0x01]738bt	$1, 0 // CHECK: btl $1, 0 # encoding: [0x0f,0xba,0x24,0x25,0x00,0x00,0x00,0x00,0x01]739 740// rdar://8017515741btq $0x01,%rdx742// CHECK: btq	$1, %rdx743// CHECK:  encoding: [0x48,0x0f,0xba,0xe2,0x01]744 745//rdar://8017633746// CHECK: movzbl	%al, %esi747// CHECK:  encoding: [0x0f,0xb6,0xf0]748        movzx %al, %esi749 750// CHECK: movzbq	%al, %rsi751// CHECK:  encoding: [0x48,0x0f,0xb6,0xf0]752        movzx %al, %rsi753 754// CHECK: movsbw	%al, %ax755// CHECK: encoding: [0x66,0x0f,0xbe,0xc0]756movsx %al, %ax757 758// CHECK: movsbl	%al, %eax759// CHECK: encoding: [0x0f,0xbe,0xc0]760movsx %al, %eax761 762// CHECK: movswl	%ax, %eax763// CHECK: encoding: [0x0f,0xbf,0xc0]764movsx %ax, %eax765 766// CHECK: movsbq	%bl, %rax767// CHECK: encoding: [0x48,0x0f,0xbe,0xc3]768movsx %bl, %rax769 770// CHECK: movswq %cx, %rax771// CHECK: encoding: [0x48,0x0f,0xbf,0xc1]772movsx %cx, %rax773 774// CHECK: movslq	%edi, %rax775// CHECK: encoding: [0x48,0x63,0xc7]776movsx %edi, %rax777 778// CHECK: movzbw	%al, %ax779// CHECK: encoding: [0x66,0x0f,0xb6,0xc0]780movzx %al, %ax781 782// CHECK: movzbl	%al, %eax783// CHECK: encoding: [0x0f,0xb6,0xc0]784movzx %al, %eax785 786// CHECK: movzwl	%ax, %eax787// CHECK: encoding: [0x0f,0xb7,0xc0]788movzx %ax, %eax789 790// CHECK: movzbq	%bl, %rax791// CHECK: encoding: [0x48,0x0f,0xb6,0xc3]792movzx %bl, %rax793 794// CHECK: movzwq	%cx, %rax795// CHECK: encoding: [0x48,0x0f,0xb7,0xc1]796movzx %cx, %rax797 798// CHECK: movsbw	(%rax), %ax799// CHECK: encoding: [0x66,0x0f,0xbe,0x00]800movsx (%rax), %ax801 802// CHECK: movzbw	(%rax), %ax803// CHECK: encoding: [0x66,0x0f,0xb6,0x00]804movzx (%rax), %ax805 806// CHECK: movzbq	1280(%rbx,%r11), %r12807// CHECK: encoding: [0x4e,0x0f,0xb6,0xa4,0x1b,0x00,0x05,0x00,0x00]808movzb 1280(%rbx, %r11), %r12809 810// rdar://7873482811// CHECK: [0x65,0x8b,0x04,0x25,0x7c,0x00,0x00,0x00]812        movl	%gs:124, %eax813 814// CHECK: jmpq *8(%rax)815// CHECK:   encoding: [0xff,0x60,0x08]816	jmp	*8(%rax)817 818// CHECK: btq $61, -216(%rbp)819// CHECK:   encoding: [0x48,0x0f,0xba,0xa5,0x28,0xff,0xff,0xff,0x3d]820	btq	$61, -216(%rbp)821 822 823// rdar://8061602824L1:825  jecxz L1826// CHECK: jecxz L1827// CHECK:   encoding: [0x67,0xe3,A]828  jrcxz L1829// CHECK: jrcxz L1830// CHECK:   encoding: [0xe3,A]831 832// PR8061833xchgl   368(%rax),%ecx834// CHECK: xchgl	%ecx, 368(%rax)835xchgl   %ecx, 368(%rax)836// CHECK: xchgl	%ecx, 368(%rax)837 838// rdar://8407548839xchg	0x7fffffff(%rbx,%rcx,8),%bl840// CHECK: xchgb	%bl, 2147483647(%rbx,%rcx,8)841 842 843 844// PR7254845lock  incl 1(%rsp)846// CHECK: lock847// CHECK: incl 1(%rsp)848 849// rdar://8741045850lock/incl 1(%rsp)851// CHECK: lock852// CHECK: incl 1(%rsp)853 854 855lock addq %rsi, (%rdi)856// CHECK: lock857// CHECK: addq %rsi, (%rdi)858// CHECK: encoding: [0xf0,0x48,0x01,0x37]859 860lock subq %rsi, (%rdi)861// CHECK: lock862// CHECK: subq %rsi, (%rdi)863// CHECK: encoding: [0xf0,0x48,0x29,0x37]864 865lock andq %rsi, (%rdi)866// CHECK: lock867// CHECK: andq %rsi, (%rdi)868// CHECK: encoding: [0xf0,0x48,0x21,0x37]869 870lock orq %rsi, (%rdi)871// CHECK: lock872// CHECK: orq %rsi, (%rdi)873// CHECK: encoding: [0xf0,0x48,0x09,0x37]874 875lock xorq %rsi, (%rdi)876// CHECK: lock877// CHECK: xorq %rsi, (%rdi)878// CHECK: encoding: [0xf0,0x48,0x31,0x37]879 880xacquire lock addq %rax, (%rax)881// CHECK: xacquire882// CHECK: encoding: [0xf2]883// CHECK: lock884// CHECK: addq %rax, (%rax)885// CHECK: encoding: [0xf0,0x48,0x01,0x00]886 887xrelease lock addq %rax, (%rax)888// CHECK: xrelease889// CHECK: encoding: [0xf3]890// CHECK: lock891// CHECK: addq %rax, (%rax)892// CHECK: encoding: [0xf0,0x48,0x01,0x00]893 894// rdar://8033482895rep movsl896// CHECK: rep897// CHECK: movsl898// CHECK: encoding: [0xf3,0xa5]899 900 901// rdar://8403974902iret903// CHECK: iretl904// CHECK: encoding: [0xcf]905iretw906// CHECK: iretw907// CHECK: encoding: [0x66,0xcf]908iretl909// CHECK: iretl910// CHECK: encoding: [0xcf]911iretq912// CHECK: iretq913// CHECK: encoding: [0x48,0xcf]914 915// rdar://8416805916// CHECK: retw	$31438917// CHECK:  encoding: [0x66,0xc2,0xce,0x7a]918        	retw	$0x7ace919 920// CHECK: lretw	$31438921// CHECK:  encoding: [0x66,0xca,0xce,0x7a]922        	lretw	$0x7ace923 924// PR8592925lretq  // CHECK: lretq # encoding: [0x48,0xcb]926lretl  // CHECK: lretl # encoding: [0xcb]927lret   // CHECK: lretl # encoding: [0xcb]928lretw  // CHECK: lretw # encoding: [0x66,0xcb]929 930// rdar://8403907931sysret932// CHECK: sysretl933// CHECK: encoding: [0x0f,0x07]934sysretl935// CHECK: sysretl936// CHECK: encoding: [0x0f,0x07]937sysretq938// CHECK: sysretq939// CHECK: encoding: [0x48,0x0f,0x07]940 941// rdar://8407242942push %fs943// CHECK: pushq	%fs944// CHECK: encoding: [0x0f,0xa0]945push %gs946// CHECK: pushq	%gs947// CHECK: encoding: [0x0f,0xa8]948 949pushw %fs950// CHECK: pushw	%fs951// CHECK: encoding: [0x66,0x0f,0xa0]952pushw %gs953// CHECK: pushw	%gs954// CHECK: encoding: [0x66,0x0f,0xa8]955 956 957pop %fs958// CHECK: popq	%fs959// CHECK: encoding: [0x0f,0xa1]960pop %gs961// CHECK: popq	%gs962// CHECK: encoding: [0x0f,0xa9]963 964popw %fs965// CHECK: popw	%fs966// CHECK: encoding: [0x66,0x0f,0xa1]967popw %gs968// CHECK: popw	%gs969// CHECK: encoding: [0x66,0x0f,0xa9]970 971// rdar://8438816972fildq -8(%rsp)973fildll -8(%rsp)974// CHECK: fildll	-8(%rsp)975// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]976// CHECK: fildll	-8(%rsp)977// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]978 979// CHECK: callq a980        callq a981 982// CHECK: leaq	-40(%rbp), %r15983	leaq	-40(%rbp), %r15984 985 986 987// rdar://8013734 - Alias dr6=db6988mov %dr6, %rax989mov %db6, %rax990// CHECK: movq	%dr6, %rax991// CHECK: movq	%dr6, %rax992 993 994// INC/DEC encodings.995incb %al  // CHECK:	incb	%al # encoding: [0xfe,0xc0]996incw %ax  // CHECK:	incw	%ax # encoding: [0x66,0xff,0xc0]997incl %eax // CHECK:	incl	%eax # encoding: [0xff,0xc0]998decb %al  // CHECK:	decb	%al # encoding: [0xfe,0xc8]999decw %ax  // CHECK:	decw	%ax # encoding: [0x66,0xff,0xc8]1000decl %eax // CHECK:	decl	%eax # encoding: [0xff,0xc8]1001 1002// rdar://84168051003// CHECK: lgdtq	4(%rax)1004// CHECK:  encoding: [0x0f,0x01,0x50,0x04]1005        	lgdt	4(%rax)1006 1007// CHECK: lgdtq	4(%rax)1008// CHECK:  encoding: [0x0f,0x01,0x50,0x04]1009        	lgdtq	4(%rax)1010 1011// CHECK: lidtq	4(%rax)1012// CHECK:  encoding: [0x0f,0x01,0x58,0x04]1013        	lidt	4(%rax)1014 1015// CHECK: lidtq	4(%rax)1016// CHECK:  encoding: [0x0f,0x01,0x58,0x04]1017        	lidtq	4(%rax)1018 1019// CHECK: sgdtq	4(%rax)1020// CHECK:  encoding: [0x0f,0x01,0x40,0x04]1021        	sgdt	4(%rax)1022 1023// CHECK: sgdtq	4(%rax)1024// CHECK:  encoding: [0x0f,0x01,0x40,0x04]1025        	sgdtq	4(%rax)1026 1027// CHECK: sidtq	4(%rax)1028// CHECK:  encoding: [0x0f,0x01,0x48,0x04]1029        	sidt	4(%rax)1030 1031// CHECK: sidtq	4(%rax)1032// CHECK:  encoding: [0x0f,0x01,0x48,0x04]1033        	sidtq	4(%rax)1034 1035 1036// rdar://82086151037mov (%rsi), %gs  // CHECK: movw	(%rsi), %gs # encoding: [0x8e,0x2e]1038mov %gs, (%rsi)  // CHECK: movw	%gs, (%rsi) # encoding: [0x8c,0x2e]1039 1040 1041// rdar://84318641042//CHECK: divb	%bl1043//CHECK: divw	%bx1044//CHECK: divl	%ecx1045//CHECK: divl	2125315823(%ebx,%ecx,8)1046//CHECK: divl	691047//CHECK: divl	324931048//CHECK: divl	31330659821049//CHECK: divl	3054198961050//CHECK: idivb	%bl1051//CHECK: idivw	%bx1052//CHECK: idivl	%ecx1053//CHECK: idivl	2125315823(%ebx,%ecx,8)1054//CHECK: idivl	691055//CHECK: idivl	324931056//CHECK: idivl	31330659821057//CHECK: idivl	3054198961058	div	%bl,%al1059	div	%bx,%ax1060	div	%ecx,%eax1061	div	0x7eadbeef(%ebx,%ecx,8),%eax1062	div	0x45,%eax1063	div	0x7eed,%eax1064	div	0xbabecafe,%eax1065	div	0x12345678,%eax1066	idiv	%bl,%al1067	idiv	%bx,%ax1068	idiv	%ecx,%eax1069	idiv	0x7eadbeef(%ebx,%ecx,8),%eax1070	idiv	0x45,%eax1071	idiv	0x7eed,%eax1072	idiv	0xbabecafe,%eax1073	idiv	0x12345678,%eax1074 1075// PR85241076movd	%rax, %mm5 // CHECK: movq %rax, %mm5 # encoding: [0x48,0x0f,0x6e,0xe8]1077movd	%mm5, %rbx // CHECK: movq %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb]1078movq	%rax, %mm5 // CHECK: movq %rax, %mm5 # encoding: [0x48,0x0f,0x6e,0xe8]1079movq	%mm5, %rbx // CHECK: movq %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb]1080 1081rex64 // CHECK: rex64 # encoding: [0x48]1082data16 // CHECK: data16 # encoding: [0x66]1083 1084// CHECK: data161085// CHECK: encoding: [0x66]1086// CHECK: lgdtq 4(%rax)1087// CHECK:  encoding: [0x0f,0x01,0x50,0x04]1088data16 lgdt 4(%rax)1089 1090// PR88551091movq 18446744073709551615,%rbx   // CHECK: movq	-1, %rbx1092 1093// PR89461094movdqu	%xmm0, %xmm1 // CHECK: movdqu	%xmm0, %xmm1 # encoding: [0xf3,0x0f,0x6f,0xc8]1095 1096// PR89351097xgetbv // CHECK: xgetbv # encoding: [0x0f,0x01,0xd0]1098xsetbv // CHECK: xsetbv # encoding: [0x0f,0x01,0xd1]1099 1100// CHECK: loope 01101// CHECK: encoding: [0xe1,A]1102	loopz 01103 1104// CHECK: loopne 01105// CHECK: encoding: [0xe0,A]1106	loopnz 01107 1108// CHECK: outsb (%rsi), %dx # encoding: [0x6e]1109// CHECK: outsb1110// CHECK: outsb1111	outsb1112	outsb	%ds:(%rsi), %dx1113	outsb	(%rsi), %dx1114 1115// CHECK: outsw (%rsi), %dx # encoding: [0x66,0x6f]1116// CHECK: outsw1117// CHECK: outsw1118	outsw1119	outsw	%ds:(%rsi), %dx1120	outsw	(%rsi), %dx1121 1122// CHECK: outsl (%rsi), %dx # encoding: [0x6f]1123// CHECK: outsl1124	outsl1125	outsl	%ds:(%rsi), %dx1126	outsl	(%rsi), %dx1127 1128// CHECK: insb  %dx, %es:(%rdi) # encoding: [0x6c]1129// CHECK: insb1130	insb1131	insb	%dx, %es:(%rdi)1132 1133// CHECK: insw  %dx, %es:(%rdi) # encoding: [0x66,0x6d]1134// CHECK: insw1135	insw1136	insw	%dx, %es:(%rdi)1137 1138// CHECK: insl %dx, %es:(%rdi) # encoding: [0x6d]1139// CHECK: insl1140	insl1141	insl	%dx, %es:(%rdi)1142 1143// CHECK: movsb (%rsi), %es:(%rdi) # encoding: [0xa4]1144// CHECK: movsb1145// CHECK: movsb1146	movsb1147	movsb	%ds:(%rsi), %es:(%rdi)1148	movsb	(%rsi), %es:(%rdi)1149 1150// CHECK: movsw (%rsi), %es:(%rdi) # encoding: [0x66,0xa5]1151// CHECK: movsw1152// CHECK: movsw1153	movsw1154	movsw	%ds:(%rsi), %es:(%rdi)1155	movsw	(%rsi), %es:(%rdi)1156 1157// CHECK: movsl (%rsi), %es:(%rdi) # encoding: [0xa5]1158// CHECK: movsl1159// CHECK: movsl1160	movsl1161	movsl	%ds:(%rsi), %es:(%rdi)1162	movsl	(%rsi), %es:(%rdi)1163// rdar://108830921164// CHECK: movsl1165	movsl	(%rsi), (%rdi)1166 1167// CHECK: movsq (%rsi), %es:(%rdi) # encoding: [0x48,0xa5]1168// CHECK: movsq1169// CHECK: movsq1170	movsq1171	movsq	%ds:(%rsi), %es:(%rdi)1172	movsq	(%rsi), %es:(%rdi)1173 1174// CHECK: lodsb (%rsi), %al # encoding: [0xac]1175// CHECK: lodsb1176// CHECK: lodsb1177// CHECK: lodsb1178// CHECK: lodsb1179	lodsb1180	lodsb	%ds:(%rsi), %al1181	lodsb	(%rsi), %al1182	lods	%ds:(%rsi), %al1183	lods	(%rsi), %al1184 1185// CHECK: lodsw (%rsi), %ax # encoding: [0x66,0xad]1186// CHECK: lodsw1187// CHECK: lodsw1188// CHECK: lodsw1189// CHECK: lodsw1190	lodsw1191	lodsw	%ds:(%rsi), %ax1192	lodsw	(%rsi), %ax1193	lods	%ds:(%rsi), %ax1194	lods	(%rsi), %ax1195 1196// CHECK: lodsl (%rsi), %eax # encoding: [0xad]1197// CHECK: lodsl1198// CHECK: lodsl1199// CHECK: lodsl1200// CHECK: lodsl1201	lodsl1202	lodsl	%ds:(%rsi), %eax1203	lodsl	(%rsi), %eax1204	lods	%ds:(%rsi), %eax1205	lods	(%rsi), %eax1206 1207// CHECK: lodsq (%rsi), %rax # encoding: [0x48,0xad]1208// CHECK: lodsq1209// CHECK: lodsq1210// CHECK: lodsq1211// CHECK: lodsq1212	lodsq1213	lodsq	%ds:(%rsi), %rax1214	lodsq	(%rsi), %rax1215	lods	%ds:(%rsi), %rax1216	lods	(%rsi), %rax1217 1218// CHECK: stosb %al, %es:(%rdi) # encoding: [0xaa]1219// CHECK: stosb1220// CHECK: stosb1221	stosb1222	stosb	%al, %es:(%rdi)1223	stos	%al, %es:(%rdi)1224 1225// CHECK: stosw %ax, %es:(%rdi) # encoding: [0x66,0xab]1226// CHECK: stosw1227// CHECK: stosw1228	stosw1229	stosw	%ax, %es:(%rdi)1230	stos	%ax, %es:(%rdi)1231 1232// CHECK: stosl %eax, %es:(%rdi) # encoding: [0xab]1233// CHECK: stosl1234// CHECK: stosl1235	stosl1236	stosl	%eax, %es:(%rdi)1237	stos	%eax, %es:(%rdi)1238 1239// CHECK: stosq %rax, %es:(%rdi) # encoding: [0x48,0xab]1240// CHECK: stosq1241// CHECK: stosq1242	stosq1243	stosq	%rax, %es:(%rdi)1244	stos	%rax, %es:(%rdi)1245 1246// CHECK: strw1247// CHECK: encoding: [0x66,0x0f,0x00,0xc8]1248	str %ax1249 1250// CHECK: strl1251// CHECK: encoding: [0x0f,0x00,0xc8]1252	str %eax1253 1254// CHECK: strw1255// CHECK: encoding: [0x66,0x0f,0x00,0xc8]1256	str %ax1257 1258// CHECK: strq1259// CHECK: encoding: [0x48,0x0f,0x00,0xc8]1260	str %rax1261 1262// CHECK: movq %rdi, %xmm01263// CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7]1264	movq %rdi,%xmm01265 1266// CHECK: movq  %xmm0, %rax1267// CHECK: encoding: [0x66,0x48,0x0f,0x7e,0xc0]1268    movq  %xmm0, %rax1269 1270// CHECK: movntil %eax, (%rdi)1271// CHECK: encoding: [0x0f,0xc3,0x07]1272// CHECK: movntil1273movntil %eax, (%rdi)1274movnti %eax, (%rdi)1275 1276// CHECK: movntiq %rax, (%rdi)1277// CHECK: encoding: [0x48,0x0f,0xc3,0x07]1278// CHECK: movntiq1279movntiq %rax, (%rdi)1280movnti %rax, (%rdi)1281 1282// CHECK: pclmulqdq	$17, %xmm0, %xmm11283// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0xc8,0x11]1284pclmulhqhqdq %xmm0, %xmm11285 1286// CHECK: pclmulqdq	$1, %xmm0, %xmm11287// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0xc8,0x01]1288pclmulqdq $1, %xmm0, %xmm11289 1290// CHECK: pclmulqdq	$16, (%rdi), %xmm11291// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0x0f,0x10]1292pclmullqhqdq (%rdi), %xmm11293 1294// CHECK: pclmulqdq	$0, (%rdi), %xmm11295// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0x0f,0x00]1296pclmulqdq $0, (%rdi), %xmm11297 1298// PR103451299// CHECK: nop1300// CHECK: encoding: [0x90]1301xchgq %rax, %rax1302 1303// CHECK: xchgl %eax, %eax1304// CHECK: encoding: [0x87,0xc0]1305xchgl %eax, %eax1306 1307// CHECK: xchgw %ax, %ax1308// CHECK: encoding: [0x66,0x90]1309xchgw %ax, %ax1310 1311// CHECK: xchgl %ecx, %eax1312// CHECK: encoding: [0x91]1313xchgl %ecx, %eax1314 1315// CHECK: xchgl %ecx, %eax1316// CHECK: encoding: [0x91]1317xchgl %eax, %ecx1318 1319// CHECK: sysexit1320// CHECK: encoding: [0x0f,0x35]1321sysexit1322 1323// CHECK: sysexitl1324// CHECK: encoding: [0x0f,0x35]1325sysexitl1326 1327// CHECK: sysexitq1328// CHECK: encoding: [0x48,0x0f,0x35]1329sysexitq1330 1331// CHECK: clac1332// CHECK: encoding: [0x0f,0x01,0xca]1333clac1334 1335// CHECK: stac1336// CHECK: encoding: [0x0f,0x01,0xcb]1337stac1338 1339// CHECK: faddp %st, %st(1)1340// CHECK: fmulp %st, %st(1)1341// CHECK: fsubp %st, %st(1)1342// CHECK: fsubrp %st, %st(1)1343// CHECK: fdivp %st, %st(1)1344// CHECK: fdivrp %st, %st(1)1345faddp %st, %st(1)1346fmulp %st, %st(1)1347fsubp %st, %st(1)1348fsubrp %st, %st(1)1349fdivp %st, %st(1)1350fdivrp %st, %st(1)1351 1352// CHECK: faddp %st, %st(1)1353// CHECK: fmulp %st, %st(1)1354// CHECK: fsubp %st, %st(1)1355// CHECK: fsubrp %st, %st(1)1356// CHECK: fdivp %st, %st(1)1357// CHECK: fdivrp %st, %st(1)1358faddp %st(1), %st1359fmulp %st(1), %st1360fsubp %st(1), %st1361fsubrp %st(1), %st1362fdivp %st(1), %st1363fdivrp %st(1), %st1364 1365// CHECK: faddp %st, %st(1)1366// CHECK: fmulp %st, %st(1)1367// CHECK: fsubp %st, %st(1)1368// CHECK: fsubrp %st, %st(1)1369// CHECK: fdivp %st, %st(1)1370// CHECK: fdivrp %st, %st(1)1371faddp %st(1)1372fmulp %st(1)1373fsubp %st(1)1374fsubrp %st(1)1375fdivp %st(1)1376fdivrp %st(1)1377 1378// CHECK: faddp %st, %st(1)1379// CHECK: fmulp %st, %st(1)1380// CHECK: fsubp %st, %st(1)1381// CHECK: fsubrp %st, %st(1)1382// CHECK: fdivp %st, %st(1)1383// CHECK: fdivrp %st, %st(1)1384faddp1385fmulp1386fsubp1387fsubrp1388fdivp1389fdivrp1390 1391// CHECK: fadd %st(1)1392// CHECK: fmul %st(1)1393// CHECK: fsub %st(1)1394// CHECK: fsubr %st(1)1395// CHECK: fdiv %st(1)1396// CHECK: fdivr %st(1)1397fadd %st(1), %st1398fmul %st(1), %st1399fsub %st(1), %st1400fsubr %st(1), %st1401fdiv %st(1), %st1402fdivr %st(1), %st1403 1404// CHECK: fadd %st, %st(1)1405// CHECK: fmul %st, %st(1)1406// CHECK: fsub %st, %st(1)1407// CHECK: fsubr %st, %st(1)1408// CHECK: fdiv %st, %st(1)1409// CHECK: fdivr %st, %st(1)1410fadd %st, %st(1)1411fmul %st, %st(1)1412fsub %st, %st(1)1413fsubr %st, %st(1)1414fdiv %st, %st(1)1415fdivr %st, %st(1)1416 1417// CHECK: fadd %st(1)1418// CHECK: fmul %st(1)1419// CHECK: fsub %st(1)1420// CHECK: fsubr %st(1)1421// CHECK: fdiv %st(1)1422// CHECK: fdivr %st(1)1423fadd %st(1)1424fmul %st(1)1425fsub %st(1)1426fsubr %st(1)1427fdiv %st(1)1428fdivr %st(1)1429 1430// CHECK: movd %xmm0, %eax1431// CHECK: movq %xmm0, %rax1432// CHECK: movq %xmm0, %rax1433// CHECK: vmovd %xmm0, %eax1434// CHECK: vmovq %xmm0, %rax1435// CHECK: vmovq %xmm0, %rax1436movd %xmm0, %eax1437movq %xmm0, %rax1438movq %xmm0, %rax1439vmovd %xmm0, %eax1440vmovd %xmm0, %rax1441vmovq %xmm0, %rax1442 1443// CHECK: seto 2125315823(%r10,%r9,8)1444// CHECK:  encoding: [0x43,0x0f,0x90,0x84,0xca,0xef,0xbe,0xad,0x7e]1445	seto 0x7eadbeef(%r10,%r9,8)1446 1447// CHECK: 	monitorx1448// CHECK:  encoding: [0x0f,0x01,0xfa]1449        	monitorx1450 1451// CHECK: 	monitorx1452// CHECK:  encoding: [0x0f,0x01,0xfa]1453        	monitorx %rax, %rcx, %rdx1454 1455// CHECK: 	mwaitx1456// CHECK:  encoding: [0x0f,0x01,0xfb]1457        	mwaitx1458 1459// CHECK: 	mwaitx1460// CHECK:  encoding: [0x0f,0x01,0xfb]1461        	mwaitx %rax, %rcx, %rbx1462 1463// CHECK:       clzero1464// CHECK:  encoding: [0x0f,0x01,0xfc]1465                clzero1466 1467// CHECK:       clzero1468// CHECK:  encoding: [0x0f,0x01,0xfc]1469                clzero %rax1470 1471// CHECK:       tlbsync 1472// CHECK:  encoding: [0x0f,0x01,0xff]1473                tlbsync1474 1475// CHECK:       invlpgb1476// CHECK:  encoding: [0x0f,0x01,0xfe]1477                invlpgb %rax, %edx 1478 1479// CHECK: 	movl %r15d, (%r15,%r15)1480// CHECK:  encoding: [0x47,0x89,0x3c,0x3f]1481movl %r15d, (%r15,%r15)1482 1483// CHECK: nopq	2125315823(%rbx,%rcx,8)1484// CHECK:  encoding: [0x48,0x0f,0x1f,0x84,0xcb,0xef,0xbe,0xad,0x7e]1485nopq	0x7eadbeef(%rbx,%rcx,8)1486 1487// CHECK: nopq	%rax1488// CHECK:  encoding: [0x48,0x0f,0x1f,0xc0]1489nopq	%rax1490 1491// CHECK: rdpid %rax1492// CHECK: encoding: [0xf3,0x0f,0xc7,0xf8]1493rdpid %rax1494 1495// CHECK: ptwritel 2125315823(%rbx,%rcx,8)1496// CHECK:  encoding: [0xf3,0x0f,0xae,0xa4,0xcb,0xef,0xbe,0xad,0x7e]1497ptwritel 0x7eadbeef(%rbx,%rcx,8)1498 1499// CHECK: ptwritel %eax1500// CHECK:  encoding: [0xf3,0x0f,0xae,0xe0]1501ptwritel %eax1502 1503// CHECK: ptwriteq 2125315823(%rbx,%rcx,8)1504// CHECK:  encoding: [0xf3,0x48,0x0f,0xae,0xa4,0xcb,0xef,0xbe,0xad,0x7e]1505ptwriteq 0x7eadbeef(%rbx,%rcx,8)1506 1507// CHECK: ptwriteq %rax1508// CHECK:  encoding: [0xf3,0x48,0x0f,0xae,0xe0]1509ptwriteq %rax1510 1511// CHECK: wbnoinvd1512// CHECK:  encoding: [0xf3,0x0f,0x09]1513wbnoinvd1514 1515// CHECK: cldemote 4(%rax)1516// CHECK:  encoding: [0x0f,0x1c,0x40,0x04]1517cldemote 4(%rax)1518 1519// CHECK: cldemote 2125315823(%rbx,%rcx,8)1520// CHECK:  encoding: [0x0f,0x1c,0x84,0xcb,0xef,0xbe,0xad,0x7e]1521cldemote 0x7eadbeef(%rbx,%rcx,8)1522 1523// CHECK: umonitor %r131524// CHECK:  encoding: [0xf3,0x41,0x0f,0xae,0xf5]1525umonitor %r131526 1527// CHECK: umonitor %rax1528// CHECK:  encoding: [0xf3,0x0f,0xae,0xf0]1529umonitor %rax1530 1531// CHECK: umonitor %eax1532// CHECK:  encoding: [0x67,0xf3,0x0f,0xae,0xf0]1533umonitor %eax1534 1535// CHECK: umwait %r151536// CHECK:  encoding: [0xf2,0x41,0x0f,0xae,0xf7]1537umwait %r151538 1539// CHECK: umwait %ebx1540// CHECK:  encoding: [0xf2,0x0f,0xae,0xf3]1541umwait %ebx1542 1543// CHECK: tpause %r151544// CHECK:  encoding: [0x66,0x41,0x0f,0xae,0xf7]1545tpause %r151546 1547// CHECK: tpause %ebx1548// CHECK:  encoding: [0x66,0x0f,0xae,0xf3]1549tpause %ebx1550 1551// CHECK: movdiri %r15, 4854980961552// CHECK: # encoding: [0x4c,0x0f,0x38,0xf9,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]1553movdiri %r15, 4854980961554 1555// CHECK: movdiri %r15, (%rdx)1556// CHECK: # encoding: [0x4c,0x0f,0x38,0xf9,0x3a]1557movdiri %r15, (%rdx)1558 1559// CHECK: movdiri %r15, 64(%rdx)1560// CHECK: # encoding: [0x4c,0x0f,0x38,0xf9,0x7a,0x40]1561movdiri %r15, 64(%rdx)1562 1563// CHECK: movdir64b 485498096, %rax1564// CHECK: # encoding: [0x66,0x0f,0x38,0xf8,0x04,0x25,0xf0,0x1c,0xf0,0x1c]1565movdir64b 485498096, %rax1566 1567// CHECK: movdir64b 485498096, %eax1568// CHECK: # encoding: [0x67,0x66,0x0f,0x38,0xf8,0x04,0x25,0xf0,0x1c,0xf0,0x1c]1569movdir64b 485498096, %eax1570 1571// CHECK: movdir64b (%rdx), %r151572// CHECK: # encoding: [0x66,0x44,0x0f,0x38,0xf8,0x3a]1573movdir64b (%rdx), %r151574 1575// CHECK: pconfig1576// CHECK: # encoding: [0x0f,0x01,0xc5]1577pconfig1578 1579// CHECK: encls1580// CHECK: encoding: [0x0f,0x01,0xcf]1581encls1582 1583// CHECK: enclu1584// CHECK: encoding: [0x0f,0x01,0xd7]1585enclu1586 1587// CHECK: enclv1588// CHECK: encoding: [0x0f,0x01,0xc0]1589enclv1590 1591// CHECK: movq %rax, %rbx1592// CHECK: encoding: [0x48,0x8b,0xd8]1593movq.s %rax, %rbx1594 1595// CHECK: movq %rax, %rbx1596// CHECK: encoding: [0x48,0x8b,0xd8]1597mov.s %rax, %rbx1598 1599// CHECK: movl %eax, %ebx1600// CHECK: encoding: [0x8b,0xd8]1601movl.s %eax, %ebx1602 1603// CHECK: movl %eax, %ebx1604// CHECK: encoding: [0x8b,0xd8]1605mov.s %eax, %ebx1606 1607// CHECK: movw %ax, %bx1608// CHECK: encoding: [0x66,0x8b,0xd8]1609movw.s %ax, %bx1610 1611// CHECK: movw %ax, %bx1612// CHECK: encoding: [0x66,0x8b,0xd8]1613mov.s %ax, %bx1614 1615// CHECK: movb %al, %bl1616// CHECK: encoding: [0x8a,0xd8]1617movb.s %al, %bl1618 1619// CHECK: movb %al, %bl1620// CHECK: encoding: [0x8a,0xd8]1621mov.s %al, %bl1622 1623// CHECK: movq %mm0, %mm11624// CHECK: encoding: [0x0f,0x7f,0xc1]1625movq.s %mm0, %mm11626 1627// CHECK: movq %xmm0, %xmm11628// CHECK: encoding: [0x66,0x0f,0xd6,0xc1]1629movq.s %xmm0, %xmm11630 1631// CHECK: movdqa %xmm0, %xmm11632// CHECK: encoding: [0x66,0x0f,0x7f,0xc1]1633movdqa.s %xmm0, %xmm11634 1635// CHECK: movdqu %xmm0, %xmm11636// CHECK: encoding: [0xf3,0x0f,0x7f,0xc1]1637movdqu.s %xmm0, %xmm11638 1639// CHECK: movaps %xmm0, %xmm11640// CHECK: encoding: [0x0f,0x29,0xc1]1641movaps.s %xmm0, %xmm11642 1643// CHECK: movups %xmm0, %xmm11644// CHECK: encoding: [0x0f,0x11,0xc1]1645movups.s %xmm0, %xmm11646 1647// CHECK: movapd %xmm0, %xmm11648// CHECK: encoding: [0x66,0x0f,0x29,0xc1]1649movapd.s %xmm0, %xmm11650 1651// CHECK: movupd %xmm0, %xmm11652// CHECK: encoding: [0x66,0x0f,0x11,0xc1]1653movupd.s %xmm0, %xmm11654 1655// CHECK: vmovq %xmm0, %xmm81656// CHECK: encoding: [0xc4,0xc1,0x79,0xd6,0xc0]1657vmovq.s %xmm0, %xmm81658 1659// CHECK: vmovq %xmm8, %xmm01660// CHECK: encoding: [0xc5,0x79,0xd6,0xc0]1661vmovq.s %xmm8, %xmm01662 1663// CHECK: vmovdqa %xmm0, %xmm81664// CHECK: encoding: [0xc4,0xc1,0x79,0x7f,0xc0]1665vmovdqa.s %xmm0, %xmm81666 1667// CHECK: vmovdqa %xmm8, %xmm01668// CHECK: encoding: [0xc5,0x79,0x7f,0xc0]1669vmovdqa.s %xmm8, %xmm01670 1671// CHECK: vmovdqu %xmm0, %xmm81672// CHECK: encoding: [0xc4,0xc1,0x7a,0x7f,0xc0]1673vmovdqu.s %xmm0, %xmm81674 1675// CHECK: vmovdqu %xmm8, %xmm01676// CHECK: encoding: [0xc5,0x7a,0x7f,0xc0]1677vmovdqu.s %xmm8, %xmm01678 1679// CHECK: vmovaps %xmm0, %xmm81680// CHECK: encoding: [0xc4,0xc1,0x78,0x29,0xc0]1681vmovaps.s %xmm0, %xmm81682 1683// CHECK: vmovaps %xmm8, %xmm01684// CHECK: encoding: [0xc5,0x78,0x29,0xc0]1685vmovaps.s %xmm8, %xmm01686 1687// CHECK: vmovups %xmm0, %xmm81688// CHECK: encoding: [0xc4,0xc1,0x78,0x11,0xc0]1689vmovups.s %xmm0, %xmm81690 1691// CHECK: vmovups %xmm8, %xmm01692// CHECK: encoding: [0xc5,0x78,0x11,0xc0]1693vmovups.s %xmm8, %xmm01694 1695// CHECK: vmovapd %xmm0, %xmm81696// CHECK: encoding: [0xc4,0xc1,0x79,0x29,0xc0]1697vmovapd.s %xmm0, %xmm81698 1699// CHECK: vmovapd %xmm8, %xmm01700// CHECK: encoding: [0xc5,0x79,0x29,0xc0]1701vmovapd.s %xmm8, %xmm01702 1703// CHECK: vmovupd %xmm0, %xmm81704// CHECK: encoding: [0xc4,0xc1,0x79,0x11,0xc0]1705vmovupd.s %xmm0, %xmm81706 1707// CHECK: vmovupd %xmm8, %xmm01708// CHECK: encoding: [0xc5,0x79,0x11,0xc0]1709vmovupd.s %xmm8, %xmm01710 1711//  __asm __volatile(1712//    "pushf        \n\t"1713//    "popf       \n\t"1714//    "rep        \n\t"1715//    ".byte  0x0f, 0xa7, 0xd0"1716//  );1717// CHECK: pushfq1718// CHECK-NEXT: popfq1719// CHECK-NEXT: rep1720// CHECK-NEXT: .byte 151721// CHECK-NEXT: .byte 1671722// CHECK-NEXT: .byte 2081723pushfq1724popfq1725rep1726.byte 151727.byte 1671728.byte 2081729 1730// CHECK: lock1731// CHECK: cmpxchgl1732        cmp $0, %edx1733        je 1f1734        lock17351:      cmpxchgl %ecx,(%rdi)1736 1737// CHECK: rep1738// CHECK-NEXT: byte1739rep1740.byte 0xa4      # movsb1741 1742// CHECK: lock1743// This line has to be the last one in the file1744lock1745 1746// CHECK: enqcmd 268435456(%ebp,%r14d,8), %esi1747// CHECK: encoding: [0x67,0xf2,0x42,0x0f,0x38,0xf8,0xb4,0xf5,0x00,0x00,0x00,0x10]1748enqcmd  0x10000000(%ebp, %r14d, 8), %esi1749 1750// CHECK: enqcmd (%r9d), %edi1751// CHECK: encoding: [0x67,0xf2,0x41,0x0f,0x38,0xf8,0x39]1752enqcmd  (%r9d), %edi1753 1754// CHECK: enqcmd 8128(%ecx), %eax1755// CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x81,0xc0,0x1f,0x00,0x00]1756enqcmd  8128(%ecx), %eax1757 1758// CHECK: enqcmd -8192(%edx), %ebx1759// CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x9a,0x00,0xe0,0xff,0xff]1760enqcmd  -8192(%edx), %ebx1761 1762// CHECK: enqcmd 485498096, %eax1763// CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x04,0x25,0xf0,0x1c,0xf0,0x1c]1764enqcmd 485498096, %eax1765 1766// CHECK: enqcmds 268435456(%ebp,%r14d,8), %esi1767// CHECK: encoding: [0x67,0xf3,0x42,0x0f,0x38,0xf8,0xb4,0xf5,0x00,0x00,0x00,0x10]1768enqcmds 0x10000000(%ebp, %r14d, 8), %esi1769 1770// CHECK: enqcmds (%r9d), %edi1771// CHECK: encoding: [0x67,0xf3,0x41,0x0f,0x38,0xf8,0x39]1772enqcmds (%r9d), %edi1773 1774// CHECK: enqcmds 8128(%ecx), %eax1775// CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x81,0xc0,0x1f,0x00,0x00]1776enqcmds 8128(%ecx), %eax1777 1778// CHECK: enqcmds -8192(%edx), %ebx1779// CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x9a,0x00,0xe0,0xff,0xff]1780enqcmds -8192(%edx), %ebx1781 1782// CHECK: enqcmds 485498096, %eax1783// CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x04,0x25,0xf0,0x1c,0xf0,0x1c]1784enqcmds 485498096, %eax1785 1786// CHECK: enqcmd 268435456(%rbp,%r14,8), %rsi1787// CHECK: encoding: [0xf2,0x42,0x0f,0x38,0xf8,0xb4,0xf5,0x00,0x00,0x00,0x10]1788enqcmd  0x10000000(%rbp, %r14, 8), %rsi1789 1790// CHECK: enqcmd (%r9), %rdi1791// CHECK: encoding: [0xf2,0x41,0x0f,0x38,0xf8,0x39]1792enqcmd  (%r9), %rdi1793 1794// CHECK: enqcmd 8128(%rcx), %rax1795// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x81,0xc0,0x1f,0x00,0x00]1796enqcmd  8128(%rcx), %rax1797 1798// CHECK: enqcmd -8192(%rdx), %rbx1799// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x9a,0x00,0xe0,0xff,0xff]1800enqcmd  -8192(%rdx), %rbx1801 1802// CHECK: enqcmd 485498096, %rax1803// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x04,0x25,0xf0,0x1c,0xf0,0x1c]1804enqcmd 485498096, %rax1805 1806// CHECK: enqcmds 268435456(%rbp,%r14,8), %rsi1807// CHECK: encoding: [0xf3,0x42,0x0f,0x38,0xf8,0xb4,0xf5,0x00,0x00,0x00,0x10]1808enqcmds 0x10000000(%rbp, %r14, 8), %rsi1809 1810// CHECK: enqcmds (%r9), %rdi1811// CHECK: encoding: [0xf3,0x41,0x0f,0x38,0xf8,0x39]1812enqcmds (%r9), %rdi1813 1814// CHECK: enqcmds 8128(%rcx), %rax1815// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x81,0xc0,0x1f,0x00,0x00]1816enqcmds 8128(%rcx), %rax1817 1818// CHECK: enqcmds -8192(%rdx), %rbx1819// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x9a,0x00,0xe0,0xff,0xff]1820enqcmds -8192(%rdx), %rbx1821 1822// CHECK: enqcmds 485498096, %rax1823// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x04,0x25,0xf0,0x1c,0xf0,0x1c]1824enqcmds 485498096, %rax1825 1826// CHECK: serialize1827// CHECK: encoding: [0x0f,0x01,0xe8]1828serialize1829 1830// CHECK: xsusldtrk1831// CHECK: encoding: [0xf2,0x0f,0x01,0xe8]1832xsusldtrk1833 1834// CHECK: xresldtrk1835// CHECK: encoding: [0xf2,0x0f,0x01,0xe9]1836xresldtrk1837 1838// CHECK: ud1q %rdx, %rdi1839// CHECK:  encoding: [0x48,0x0f,0xb9,0xfa]1840ud1 %rdx, %rdi1841 1842// CHECK: ud1q (%rbx), %rcx1843// CHECK:  encoding: [0x48,0x0f,0xb9,0x0b]1844ud2b (%rbx), %rcx1845 1846// Requires no displacement by default1847// CHECK: movl $1, (%rax)1848// CHECK: encoding: [0xc7,0x00,0x01,0x00,0x00,0x00]1849// CHECK: movl $1, (%rax)1850// CHECK: encoding: [0xc7,0x40,0x00,0x01,0x00,0x00,0x00]1851// CHECK: movl $1, (%rax)1852// CHECK: encoding: [0xc7,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1853// CHECK: movl $1, (%rax)1854// CHECK: encoding: [0xc7,0x40,0x00,0x01,0x00,0x00,0x00]1855// CHECK: movl $1, (%rax)1856// CHECK: encoding: [0xc7,0x80,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1857movl $1, (%rax)1858{disp8} movl $1, (%rax)1859{disp32} movl $1, (%rax)1860movl.d8 $1, (%rax)1861movl.d32 $1, (%rax)1862 1863// Requires disp8 by default1864// CHECK: movl $1, (%rbp)1865// CHECK: encoding: [0xc7,0x45,0x00,0x01,0x00,0x00,0x00]1866// CHECK: movl $1, (%rbp)1867// CHECK: encoding: [0xc7,0x45,0x00,0x01,0x00,0x00,0x00]1868// CHECK: movl $1, (%rbp)1869// CHECK: encoding: [0xc7,0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1870movl $1, (%rbp)1871{disp8} movl $1, (%rbp)1872{disp32} movl $1, (%rbp)1873 1874// Requires disp8 by default1875// CHECK: movl $1, (%r13)1876// CHECK: encoding: [0x41,0xc7,0x45,0x00,0x01,0x00,0x00,0x00]1877// CHECK: movl $1, (%r13)1878// CHECK: encoding: [0x41,0xc7,0x45,0x00,0x01,0x00,0x00,0x00]1879// CHECK: movl $1, (%r13)1880// CHECK: encoding: [0x41,0xc7,0x85,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1881movl $1, (%r13)1882{disp8} movl $1, (%r13)1883{disp32} movl $1, (%r13)1884 1885// Requires disp8 by default1886// CHECK: movl $1, 8(%rax)1887// CHECK: encoding: [0xc7,0x40,0x08,0x01,0x00,0x00,0x00]1888// CHECK: movl $1, 8(%rax)1889// CHECK: encoding: [0xc7,0x40,0x08,0x01,0x00,0x00,0x00]1890// CHECK: movl $1, 8(%rax)1891// CHECK: encoding: [0xc7,0x80,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1892movl $1, 8(%rax)1893{disp8} movl $1, 8(%rax)1894{disp32} movl $1, 8(%rax)1895 1896// Requires no displacement by default1897// CHECK: movl $1, (%rax,%rbx,4)1898// CHECK: encoding: [0xc7,0x04,0x98,0x01,0x00,0x00,0x00]1899// CHECK: movl $1, (%rax,%rbx,4)1900// CHECK: encoding: [0xc7,0x44,0x98,0x00,0x01,0x00,0x00,0x00]1901// CHECK: movl $1, (%rax,%rbx,4)1902// CHECK: encoding: [0xc7,0x84,0x98,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1903movl $1, (%rax,%rbx,4)1904{disp8} movl $1, (%rax,%rbx,4)1905{disp32} movl $1, (%rax,%rbx,4)1906 1907// Requires disp8 by default.1908// CHECK: movl $1, 8(%rax,%rbx,4)1909// CHECK: encoding: [0xc7,0x44,0x98,0x08,0x01,0x00,0x00,0x00]1910// CHECK: movl $1, 8(%rax,%rbx,4)1911// CHECK: encoding: [0xc7,0x44,0x98,0x08,0x01,0x00,0x00,0x00]1912// CHECK: movl $1, 8(%rax,%rbx,4)1913// CHECK: encoding: [0xc7,0x84,0x98,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1914movl $1, 8(%rax,%rbx,4)1915{disp8} movl $1, 8(%rax,%rbx,4)1916{disp32} movl $1, 8(%rax,%rbx,4)1917 1918// Requires disp8 by default.1919// CHECK: movl $1, (%rbp,%rbx,4)1920// CHECK: encoding: [0xc7,0x44,0x9d,0x00,0x01,0x00,0x00,0x00]1921// CHECK: movl $1, (%rbp,%rbx,4)1922// CHECK: encoding: [0xc7,0x44,0x9d,0x00,0x01,0x00,0x00,0x00]1923// CHECK: movl $1, (%rbp,%rbx,4)1924// CHECK: encoding: [0xc7,0x84,0x9d,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1925movl $1, (%rbp,%rbx,4)1926{disp8} movl $1, (%rbp,%rbx,4)1927{disp32} movl $1, (%rbp,%rbx,4)1928 1929// Requires disp8 by default.1930// CHECK: movl $1, (%r13,%rbx,4)1931// CHECK: encoding: [0x41,0xc7,0x44,0x9d,0x00,0x01,0x00,0x00,0x00]1932// CHECK: movl $1, (%r13,%rbx,4)1933// CHECK: encoding: [0x41,0xc7,0x44,0x9d,0x00,0x01,0x00,0x00,0x00]1934// CHECK: movl $1, (%r13,%rbx,4)1935// CHECK: encoding: [0x41,0xc7,0x84,0x9d,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00]1936movl $1, (%r13,%rbx,4)1937{disp8} movl $1, (%r13,%rbx,4)1938{disp32} movl $1, (%r13,%rbx,4)1939 1940// CHECK: seamcall1941// CHECK: encoding: [0x66,0x0f,0x01,0xcf]1942seamcall1943 1944// CHECK: seamret1945// CHECK: encoding: [0x66,0x0f,0x01,0xcd]1946seamret1947 1948// CHECK: seamops1949// CHECK: encoding: [0x66,0x0f,0x01,0xce]1950seamops1951 1952// CHECK: tdcall1953// CHECK: encoding: [0x66,0x0f,0x01,0xcc]1954tdcall1955 1956// CHECK: hreset1957// CHECK: encoding: [0xf3,0x0f,0x3a,0xf0,0xc0,0x01]1958hreset $11959 1960// CHECK: uiret1961// CHECK: encoding: [0xf3,0x0f,0x01,0xec]1962uiret1963 1964// CHECK: clui1965// CHECK: encoding: [0xf3,0x0f,0x01,0xee]1966clui1967 1968// CHECK: stui1969// CHECK: encoding: [0xf3,0x0f,0x01,0xef]1970stui1971 1972// CHECK: testui1973// CHECK: encoding: [0xf3,0x0f,0x01,0xed]1974testui1975 1976// CHECK: senduipi %rax1977// CHECK: encoding: [0xf3,0x0f,0xc7,0xf0]1978senduipi %rax1979 1980// CHECK: senduipi %rdx1981// CHECK: encoding: [0xf3,0x0f,0xc7,0xf2]1982senduipi %rdx1983 1984// CHECK: senduipi %r81985// CHECK: encoding: [0xf3,0x41,0x0f,0xc7,0xf0]1986senduipi %r81987 1988// CHECK: senduipi %r131989// CHECK: encoding: [0xf3,0x41,0x0f,0xc7,0xf5]1990senduipi %r131991