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