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