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