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,0xd9]
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: movw	%cs, (%eax)
252// CHECK:  encoding: [0x67,0x8c,0x08]
253        mov %cs, (%eax)
254
255// CHECK: movw	%cs, (%eax)
256// CHECK:  encoding: [0x67,0x8c,0x08]
257        movw %cs, (%eax)
258
259// CHECK: movw	%ax, %cs
260// CHECK:  encoding: [0x8e,0xc8]
261        movl %eax, %cs
262
263// CHECK: movw	%ax, %cs
264// CHECK:  encoding: [0x8e,0xc8]
265        mov %eax, %cs
266
267// CHECK: movw	%ax, %cs
268// CHECK:  encoding: [0x8e,0xc8]
269        movw %ax, %cs
270
271// CHECK: movw	%ax, %cs
272// CHECK:  encoding: [0x8e,0xc8]
273        mov %ax, %cs
274
275// CHECK: movw	(%eax), %cs
276// CHECK:  encoding: [0x67,0x8e,0x08]
277        mov (%eax), %cs
278
279// CHECK: movw	(%eax), %cs
280// CHECK:  encoding: [0x67,0x8e,0x08]
281        movw (%eax), %cs
282
283// CHECK: movl	%cr0, %eax
284// CHECK:  encoding: [0x0f,0x20,0xc0]
285        movl %cr0,%eax
286
287// CHECK: movl	%cr1, %eax
288// CHECK:  encoding: [0x0f,0x20,0xc8]
289        movl %cr1,%eax
290
291// CHECK: movl	%cr2, %eax
292// CHECK:  encoding: [0x0f,0x20,0xd0]
293        movl %cr2,%eax
294
295// CHECK: movl	%cr3, %eax
296// CHECK:  encoding: [0x0f,0x20,0xd8]
297        movl %cr3,%eax
298
299// CHECK: movl	%cr4, %eax
300// CHECK:  encoding: [0x0f,0x20,0xe0]
301        movl %cr4,%eax
302
303// CHECK: movl	%dr0, %eax
304// CHECK:  encoding: [0x0f,0x21,0xc0]
305        movl %dr0,%eax
306
307// CHECK: movl	%dr1, %eax
308// CHECK:  encoding: [0x0f,0x21,0xc8]
309        movl %dr1,%eax
310
311// CHECK: movl	%dr1, %eax
312// CHECK:  encoding: [0x0f,0x21,0xc8]
313        movl %dr1,%eax
314
315// CHECK: movl	%dr2, %eax
316// CHECK:  encoding: [0x0f,0x21,0xd0]
317        movl %dr2,%eax
318
319// CHECK: movl	%dr3, %eax
320// CHECK:  encoding: [0x0f,0x21,0xd8]
321        movl %dr3,%eax
322
323// CHECK: movl	%dr4, %eax
324// CHECK:  encoding: [0x0f,0x21,0xe0]
325        movl %dr4,%eax
326
327// CHECK: movl	%dr5, %eax
328// CHECK:  encoding: [0x0f,0x21,0xe8]
329        movl %dr5,%eax
330
331// CHECK: movl	%dr6, %eax
332// CHECK:  encoding: [0x0f,0x21,0xf0]
333        movl %dr6,%eax
334
335// CHECK: movl	%dr7, %eax
336// CHECK:  encoding: [0x0f,0x21,0xf8]
337        movl %dr7,%eax
338
339// CHECK: wait
340// CHECK:  encoding: [0x9b]
341	fwait
342
343// CHECK: [0x66,0x65,0xa1,0x7c,0x00]
344        movl	%gs:124, %eax
345
346// CHECK: pusha
347// CHECK:  encoding: [0x60]
348        	pusha
349
350// CHECK: popa
351// CHECK:  encoding: [0x61]
352        	popa
353
354// CHECK: pushaw
355// CHECK:  encoding: [0x60]
356        	pushaw
357
358// CHECK: popaw
359// CHECK:  encoding: [0x61]
360        	popaw
361
362// CHECK: pushal
363// CHECK:  encoding: [0x66,0x60]
364        	pushal
365
366// CHECK: popal
367// CHECK:  encoding: [0x66,0x61]
368        	popal
369
370// CHECK: jmpw *8(%eax)
371// CHECK:   encoding: [0x67,0xff,0x60,0x08]
372	jmp	*8(%eax)
373
374// CHECK: jmpl *8(%eax)
375// CHECK:   encoding: [0x67,0x66,0xff,0x60,0x08]
376        jmpl	*8(%eax)
377
378// CHECK: lcalll $2, $4660
379// CHECK:   encoding: [0x66,0x9a,0x34,0x12,0x00,0x00,0x02,0x00]
380lcalll $0x2, $0x1234
381
382
383L1:
384  jcxz L1
385// CHECK: jcxz L1
386// CHECK:   encoding: [0xe3,A]
387  jecxz L1
388// CHECK: jecxz L1
389// CHECK:   encoding: [0x67,0xe3,A]
390
391iret
392// CHECK: iretw
393// CHECK: encoding: [0xcf]
394iretw
395// CHECK: iretw
396// CHECK: encoding: [0xcf]
397iretl
398// CHECK: iretl
399// CHECK: encoding: [0x66,0xcf]
400
401sysret
402// CHECK: sysretl
403// CHECK: encoding: [0x0f,0x07]
404sysretl
405// CHECK: sysretl
406// CHECK: encoding: [0x0f,0x07]
407
408testl	%ecx, -24(%ebp)
409// CHECK: testl	%ecx, -24(%ebp)
410testl	-24(%ebp), %ecx
411// CHECK: testl	%ecx, -24(%ebp)
412
413
414push %cs
415// CHECK: pushw	%cs
416// CHECK: encoding: [0x0e]
417push %ds
418// CHECK: pushw	%ds
419// CHECK: encoding: [0x1e]
420push %ss
421// CHECK: pushw	%ss
422// CHECK: encoding: [0x16]
423push %es
424// CHECK: pushw	%es
425// CHECK: encoding: [0x06]
426push %fs
427// CHECK: pushw	%fs
428// CHECK: encoding: [0x0f,0xa0]
429push %gs
430// CHECK: pushw	%gs
431// CHECK: encoding: [0x0f,0xa8]
432
433pushw %cs
434// CHECK: pushw	%cs
435// CHECK: encoding: [0x0e]
436pushw %ds
437// CHECK: pushw	%ds
438// CHECK: encoding: [0x1e]
439pushw %ss
440// CHECK: pushw	%ss
441// CHECK: encoding: [0x16]
442pushw %es
443// CHECK: pushw	%es
444// CHECK: encoding: [0x06]
445pushw %fs
446// CHECK: pushw	%fs
447// CHECK: encoding: [0x0f,0xa0]
448pushw %gs
449// CHECK: pushw	%gs
450// CHECK: encoding: [0x0f,0xa8]
451
452pushl %cs
453// CHECK: pushl	%cs
454// CHECK: encoding: [0x66,0x0e]
455pushl %ds
456// CHECK: pushl	%ds
457// CHECK: encoding: [0x66,0x1e]
458pushl %ss
459// CHECK: pushl	%ss
460// CHECK: encoding: [0x66,0x16]
461pushl %es
462// CHECK: pushl	%es
463// CHECK: encoding: [0x66,0x06]
464pushl %fs
465// CHECK: pushl	%fs
466// CHECK: encoding: [0x66,0x0f,0xa0]
467pushl %gs
468// CHECK: pushl	%gs
469// CHECK: encoding: [0x66,0x0f,0xa8]
470
471pop %ss
472// CHECK: popw	%ss
473// CHECK: encoding: [0x17]
474pop %ds
475// CHECK: popw	%ds
476// CHECK: encoding: [0x1f]
477pop %es
478// CHECK: popw	%es
479// CHECK: encoding: [0x07]
480
481popl %ss
482// CHECK: popl	%ss
483// CHECK: encoding: [0x66,0x17]
484popl %ds
485// CHECK: popl	%ds
486// CHECK: encoding: [0x66,0x1f]
487popl %es
488// CHECK: popl	%es
489// CHECK: encoding: [0x66,0x07]
490
491pushfd
492// CHECK: pushfl
493popfd
494// CHECK: popfl
495pushfl
496// CHECK: pushfl
497popfl
498// CHECK: popfl
499
500
501	setc	%bl
502	setnae	%bl
503	setnb	%bl
504	setnc	%bl
505	setna	%bl
506	setnbe	%bl
507	setpe	%bl
508	setpo	%bl
509	setnge	%bl
510	setnl	%bl
511	setng	%bl
512	setnle	%bl
513
514        setneb  %cl // CHECK: setne %cl
515	setcb	%bl // CHECK: setb %bl
516	setnaeb	%bl // CHECK: setb %bl
517
518
519// CHECK: lcalll	$31438, $31438
520// CHECK: lcalll	$31438, $31438
521// CHECK: ljmpl	$31438, $31438
522// CHECK: ljmpl	$31438, $31438
523
524calll	$0x7ace,$0x7ace
525lcalll	$0x7ace,$0x7ace
526jmpl	$0x7ace,$0x7ace
527ljmpl	$0x7ace,$0x7ace
528
529// CHECK: lcallw	$31438, $31438
530// CHECK: lcallw	$31438, $31438
531// CHECK: ljmpw	$31438, $31438
532// CHECK: ljmpw	$31438, $31438
533
534callw	$0x7ace,$0x7ace
535lcallw	$0x7ace,$0x7ace
536jmpw	$0x7ace,$0x7ace
537ljmpw	$0x7ace,$0x7ace
538
539// CHECK: lcallw	$31438, $31438
540// CHECK: lcallw	$31438, $31438
541// CHECK: ljmpw	$31438, $31438
542// CHECK: ljmpw	$31438, $31438
543
544call	$0x7ace,$0x7ace
545lcall	$0x7ace,$0x7ace
546jmp	$0x7ace,$0x7ace
547ljmp	$0x7ace,$0x7ace
548
549// CHECK: calll a
550 calll a
551
552// CHECK:	incb	%al # encoding: [0xfe,0xc0]
553	incb %al
554
555// CHECK:	incw	%ax # encoding: [0x40]
556	incw %ax
557
558// CHECK:	incl	%eax # encoding: [0x66,0x40]
559	incl %eax
560
561// CHECK:	decb	%al # encoding: [0xfe,0xc8]
562	decb %al
563
564// CHECK:	decw	%ax # encoding: [0x48]
565	decw %ax
566
567// CHECK:	decl	%eax # encoding: [0x66,0x48]
568	decl %eax
569
570// CHECK: pshufw $14, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x0e]
571pshufw $14, %mm4, %mm0
572
573// CHECK: pshufw $90, %mm4, %mm0 # encoding: [0x0f,0x70,0xc4,0x5a]
574pshufw $90, %mm4, %mm0
575
576// CHECK: aaa
577// CHECK:  encoding: [0x37]
578        	aaa
579
580// CHECK: aad	$1
581// CHECK:  encoding: [0xd5,0x01]
582        	aad	$1
583
584// CHECK: aad
585// CHECK:  encoding: [0xd5,0x0a]
586        	aad	$0xA
587
588// CHECK: aad
589// CHECK:  encoding: [0xd5,0x0a]
590        	aad
591
592// CHECK: aam	$2
593// CHECK:  encoding: [0xd4,0x02]
594        	aam	$2
595
596// CHECK: aam
597// CHECK:  encoding: [0xd4,0x0a]
598        	aam	$0xA
599
600// CHECK: aam
601// CHECK:  encoding: [0xd4,0x0a]
602        	aam
603
604// CHECK: aas
605// CHECK:  encoding: [0x3f]
606        	aas
607
608// CHECK: daa
609// CHECK:  encoding: [0x27]
610        	daa
611
612// CHECK: das
613// CHECK:  encoding: [0x2f]
614        	das
615
616// CHECK: retw	$31438
617// CHECK:  encoding: [0xc2,0xce,0x7a]
618        	retw	$0x7ace
619
620// CHECK: lretw	$31438
621// CHECK:  encoding: [0xca,0xce,0x7a]
622        	lretw	$0x7ace
623
624// CHECK: retw	$31438
625// CHECK:  encoding: [0xc2,0xce,0x7a]
626        	ret	$0x7ace
627
628// CHECK: lretw	$31438
629// CHECK:  encoding: [0xca,0xce,0x7a]
630        	lret	$0x7ace
631
632// CHECK: retl	$31438
633// CHECK:  encoding: [0x66,0xc2,0xce,0x7a]
634        	retl	$0x7ace
635
636// CHECK: lretl	$31438
637// CHECK:  encoding: [0x66,0xca,0xce,0x7a]
638        	lretl	$0x7ace
639
640// CHECK: bound	%bx, 2(%eax)
641// CHECK:  encoding: [0x67,0x62,0x58,0x02]
642        	bound	%bx,2(%eax)
643
644// CHECK: bound	%ecx, 4(%ebx)
645// CHECK:  encoding: [0x67,0x66,0x62,0x4b,0x04]
646        	bound	%ecx,4(%ebx)
647
648// CHECK: arpl	%bx, %bx
649// CHECK:  encoding: [0x63,0xdb]
650        	arpl	%bx,%bx
651
652// CHECK: arpl	%bx, 6(%ecx)
653// CHECK:  encoding: [0x67,0x63,0x59,0x06]
654        	arpl	%bx,6(%ecx)
655
656// CHECK: lgdtw	4(%eax)
657// CHECK:  encoding: [0x67,0x0f,0x01,0x50,0x04]
658        	lgdtw	4(%eax)
659
660// CHECK: lgdtw	4(%eax)
661// CHECK:  encoding: [0x67,0x0f,0x01,0x50,0x04]
662        	lgdt	4(%eax)
663
664// CHECK: lgdtl	4(%eax)
665// CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x50,0x04]
666        	lgdtl	4(%eax)
667
668// CHECK: lidtw	4(%eax)
669// CHECK:  encoding: [0x67,0x0f,0x01,0x58,0x04]
670        	lidtw	4(%eax)
671
672// CHECK: lidtw	4(%eax)
673// CHECK:  encoding: [0x67,0x0f,0x01,0x58,0x04]
674        	lidt	4(%eax)
675
676// CHECK: lidtl	4(%eax)
677// CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x58,0x04]
678        	lidtl	4(%eax)
679
680// CHECK: sgdtw	4(%eax)
681// CHECK:  encoding: [0x67,0x0f,0x01,0x40,0x04]
682        	sgdtw	4(%eax)
683
684// CHECK: sgdtw	4(%eax)
685// CHECK:  encoding: [0x67,0x0f,0x01,0x40,0x04]
686        	sgdt	4(%eax)
687
688// CHECK: sgdtl	4(%eax)
689// CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x40,0x04]
690        	sgdtl	4(%eax)
691
692// CHECK: sidtw	4(%eax)
693// CHECK:  encoding: [0x67,0x0f,0x01,0x48,0x04]
694        	sidtw	4(%eax)
695
696// CHECK: sidtw	4(%eax)
697// CHECK:  encoding: [0x67,0x0f,0x01,0x48,0x04]
698        	sidt	4(%eax)
699
700// CHECK: sidtl	4(%eax)
701// CHECK:  encoding: [0x67,0x66,0x0f,0x01,0x48,0x04]
702        	sidtl	4(%eax)
703
704// CHECK: fcompi	%st(2)
705// CHECK:  encoding: [0xdf,0xf2]
706        	fcompi	%st(2), %st
707
708// CHECK: fcompi	%st(2)
709// CHECK:  encoding: [0xdf,0xf2]
710        	fcompi	%st(2)
711
712// CHECK: fcompi
713// CHECK:  encoding: [0xdf,0xf1]
714        	fcompi
715
716// CHECK: fucompi	%st(2)
717// CHECK:  encoding: [0xdf,0xea]
718        	fucompi	%st(2),%st
719
720// CHECK: fucompi	%st(2)
721// CHECK:  encoding: [0xdf,0xea]
722        	fucompi	%st(2)
723
724// CHECK: fucompi
725// CHECK:  encoding: [0xdf,0xe9]
726        	fucompi
727
728// CHECK: fldcw	32493
729// CHECK:  encoding: [0xd9,0x2e,0xed,0x7e]
730        	fldcww	0x7eed
731
732// CHECK: fldcw	32493
733// CHECK:  encoding: [0xd9,0x2e,0xed,0x7e]
734        	fldcw	0x7eed
735
736// CHECK: fnstcw	32493
737// CHECK:  encoding: [0xd9,0x3e,0xed,0x7e]
738        	fnstcww	0x7eed
739
740// CHECK: fnstcw	32493
741// CHECK:  encoding: [0xd9,0x3e,0xed,0x7e]
742        	fnstcw	0x7eed
743
744// CHECK: wait
745// CHECK:  encoding: [0x9b]
746        	fstcww	0x7eed
747
748// CHECK: wait
749// CHECK:  encoding: [0x9b]
750        	fstcw	0x7eed
751
752// CHECK: fnstsw	32493
753// CHECK:  encoding: [0xdd,0x3e,0xed,0x7e]
754        	fnstsww	0x7eed
755
756// CHECK: fnstsw	32493
757// CHECK:  encoding: [0xdd,0x3e,0xed,0x7e]
758        	fnstsw	0x7eed
759
760// CHECK: wait
761// CHECK:  encoding: [0x9b]
762        	fstsww	0x7eed
763
764// CHECK: wait
765// CHECK:  encoding: [0x9b]
766        	fstsw	0x7eed
767
768// CHECK: verr	32493
769// CHECK:  encoding: [0x0f,0x00,0x26,0xed,0x7e]
770        	verrw	0x7eed
771
772// CHECK: verr	32493
773// CHECK:  encoding: [0x0f,0x00,0x26,0xed,0x7e]
774        	verr	0x7eed
775
776// CHECK: wait
777// CHECK:  encoding: [0x9b]
778        	fclex
779
780// CHECK: fnclex
781// CHECK:  encoding: [0xdb,0xe2]
782        	fnclex
783
784// CHECK: ud2
785// CHECK:  encoding: [0x0f,0x0b]
786        	ud2
787
788// CHECK: ud2
789// CHECK:  encoding: [0x0f,0x0b]
790        	ud2a
791
792// CHECK: ud2b
793// CHECK:  encoding: [0x0f,0xb9]
794        	ud2b
795
796// CHECK: loope 0
797// CHECK: encoding: [0xe1,A]
798	loopz 0
799
800// CHECK: loopne 0
801// CHECK: encoding: [0xe0,A]
802	loopnz 0
803
804// CHECK: outsb (%si), %dx # encoding: [0x6e]
805// CHECK: outsb
806// CHECK: outsb
807	outsb
808	outsb	%ds:(%si), %dx
809	outsb	(%si), %dx
810
811// CHECK: outsw (%si), %dx # encoding: [0x6f]
812// CHECK: outsw
813// CHECK: outsw
814	outsw
815	outsw	%ds:(%si), %dx
816	outsw	(%si), %dx
817
818// CHECK: outsl (%si), %dx # encoding: [0x66,0x6f]
819// CHECK: outsl
820	outsl
821	outsl	%ds:(%si), %dx
822	outsl	(%si), %dx
823
824// CHECK: insb %dx, %es:(%di) # encoding: [0x6c]
825// CHECK: insb
826	insb
827	insb	%dx, %es:(%di)
828
829// CHECK: insw %dx, %es:(%di) # encoding: [0x6d]
830// CHECK: insw
831	insw
832	insw	%dx, %es:(%di)
833
834// CHECK: insl %dx, %es:(%di) # encoding: [0x66,0x6d]
835// CHECK: insl
836	insl
837	insl	%dx, %es:(%di)
838
839// CHECK: movsb (%si), %es:(%di) # encoding: [0xa4]
840// CHECK: movsb
841// CHECK: movsb
842	movsb
843	movsb	%ds:(%si), %es:(%di)
844	movsb	(%si), %es:(%di)
845
846// CHECK: movsw (%si), %es:(%di) # encoding: [0xa5]
847// CHECK: movsw
848// CHECK: movsw
849	movsw
850	movsw	%ds:(%si), %es:(%di)
851	movsw	(%si), %es:(%di)
852
853// CHECK: movsl (%si), %es:(%di) # encoding: [0x66,0xa5]
854// CHECK: movsl
855// CHECK: movsl
856	movsl
857	movsl	%ds:(%si), %es:(%di)
858	movsl	(%si), %es:(%di)
859
860// CHECK: lodsb (%si), %al # encoding: [0xac]
861// CHECK: lodsb
862// CHECK: lodsb
863// CHECK: lodsb
864// CHECK: lodsb
865	lodsb
866	lodsb	%ds:(%si), %al
867	lodsb	(%si), %al
868	lods	%ds:(%si), %al
869	lods	(%si), %al
870
871// CHECK: lodsw (%si), %ax # encoding: [0xad]
872// CHECK: lodsw
873// CHECK: lodsw
874// CHECK: lodsw
875// CHECK: lodsw
876	lodsw
877	lodsw	%ds:(%si), %ax
878	lodsw	(%si), %ax
879	lods	%ds:(%si), %ax
880	lods	(%si), %ax
881
882// CHECK: lodsl (%si), %eax # encoding: [0x66,0xad]
883// CHECK: lodsl
884// CHECK: lodsl
885// CHECK: lodsl
886// CHECK: lodsl
887	lodsl
888	lodsl	%ds:(%si), %eax
889	lodsl	(%si), %eax
890	lods	%ds:(%si), %eax
891	lods	(%si), %eax
892
893// CHECK: stosb %al, %es:(%di) # encoding: [0xaa]
894// CHECK: stosb
895// CHECK: stosb
896	stosb
897	stosb	%al, %es:(%di)
898	stos	%al, %es:(%di)
899
900// CHECK: stosw %ax, %es:(%di) # encoding: [0xab]
901// CHECK: stosw
902// CHECK: stosw
903	stosw
904	stosw	%ax, %es:(%di)
905	stos	%ax, %es:(%di)
906
907// CHECK: stosl %eax, %es:(%di) # encoding: [0x66,0xab]
908// CHECK: stosl
909// CHECK: stosl
910	stosl
911	stosl	%eax, %es:(%di)
912	stos	%eax, %es:(%di)
913
914// CHECK: strw
915// CHECK: encoding: [0x0f,0x00,0xc8]
916	str %ax
917
918// CHECK: strl
919// CHECK: encoding: [0x66,0x0f,0x00,0xc8]
920	str %eax
921
922
923// CHECK: fsubp %st, %st(1)
924// CHECK: encoding: [0xde,0xe1]
925fsubp %st,%st(1)
926
927// CHECK: fsubp %st, %st(2)
928// CHECK: encoding: [0xde,0xe2]
929fsubp   %st, %st(2)
930
931// CHECK: xchgl %eax, %eax
932// CHECK: encoding: [0x66,0x90]
933xchgl %eax, %eax
934
935// CHECK: xchgw %ax, %ax
936// CHECK: encoding: [0x90]
937xchgw %ax, %ax
938
939// CHECK: xchgl %ecx, %eax
940// CHECK: encoding: [0x66,0x91]
941xchgl %ecx, %eax
942
943// CHECK: xchgl %ecx, %eax
944// CHECK: encoding: [0x66,0x91]
945xchgl %eax, %ecx
946
947// CHECK: retw
948// CHECK: encoding: [0xc3]
949retw
950
951// CHECK: retl
952// CHECK: encoding: [0x66,0xc3]
953retl
954
955// CHECK: lretw
956// CHECK: encoding: [0xcb]
957lretw
958
959// CHECK: lretl
960// CHECK: encoding: [0x66,0xcb]
961lretl
962
963// CHECK: data32
964// CHECK: encoding: [0x66]
965data32
966
967// CHECK: data32
968// CHECK: encoding: [0x66]
969// CHECK: lgdtw 4(%eax)
970// CHECK:  encoding: [0x67,0x0f,0x01,0x50,0x04]
971data32 lgdt 4(%eax)
972
973// CHECK: wbnoinvd
974// CHECK:  encoding: [0xf3,0x0f,0x09]
975wbnoinvd
976
977// CHECK: umonitor %ax
978// CHECK:  encoding: [0xf3,0x0f,0xae,0xf0]
979umonitor %ax
980
981// CHECK: umonitor %eax
982// CHECK:  encoding: [0x67,0xf3,0x0f,0xae,0xf0]
983umonitor %eax
984
985// CHECK: movdir64b (%esi), %eax
986// CHECK: encoding: [0x67,0x66,0x0f,0x38,0xf8,0x06]
987movdir64b (%esi), %eax
988
989// CHECK: movdir64b (%si), %ax
990// CHECK: encoding: [0x66,0x0f,0x38,0xf8,0x04]
991movdir64b (%si), %ax
992
993// CHECK: enqcmd (%bx), %di
994// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x3f]
995enqcmd  (%bx), %di
996
997// CHECK: enqcmd 8128(%si), %ax
998// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x84,0xc0,0x1f]
999enqcmd  8128(%si), %ax
1000
1001// CHECK: enqcmd -8192(%di), %bx
1002// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x9d,0x00,0xe0]
1003enqcmd  -8192(%di), %bx
1004
1005// CHECK: enqcmd 7408, %cx
1006// CHECK: encoding: [0xf2,0x0f,0x38,0xf8,0x0e,0xf0,0x1c]
1007enqcmd  7408, %cx
1008
1009// CHECK: enqcmds (%bx), %di
1010// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x3f]
1011enqcmds (%bx), %di
1012
1013// CHECK: enqcmds 8128(%si), %ax
1014// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x84,0xc0,0x1f]
1015enqcmds 8128(%si), %ax
1016
1017// CHECK: enqcmds -8192(%di), %bx
1018// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x9d,0x00,0xe0]
1019enqcmds -8192(%di), %bx
1020
1021// CHECK: enqcmds 7408, %cx
1022// CHECK: encoding: [0xf3,0x0f,0x38,0xf8,0x0e,0xf0,0x1c]
1023enqcmds  7408, %cx
1024
1025// CHECK: enqcmd (%edi), %edi
1026// CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xf8,0x3f]
1027enqcmd  (%edi), %edi
1028
1029// CHECK: enqcmds (%edi), %edi
1030// CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xf8,0x3f]
1031enqcmds (%edi), %edi
1032