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