1# Check instructions with encoding options
2
3	.allow_index_reg
4	.text
5_start:
6
7# Tests for op reg, reg
8	add %dl,%cl
9	add.s %dl,%cl
10	add %dx,%cx
11	add.s %dx,%cx
12	add %edx,%ecx
13	add.s %edx,%ecx
14	addb %dl,%cl
15	addb.s %dl,%cl
16	addw %dx,%cx
17	addw.s %dx,%cx
18	addl %edx,%ecx
19	addl.s %edx,%ecx
20	adc %dl,%cl
21	adc.s %dl,%cl
22	adc %dx,%cx
23	adc.s %dx,%cx
24	adc %edx,%ecx
25	adc.s %edx,%ecx
26	adcb %dl,%cl
27	adcb.s %dl,%cl
28	adcw %dx,%cx
29	adcw.s %dx,%cx
30	adcl %edx,%ecx
31	adcl.s %edx,%ecx
32	and %dl,%cl
33	and.s %dl,%cl
34	and %dx,%cx
35	and.s %dx,%cx
36	and %edx,%ecx
37	and.s %edx,%ecx
38	andb %dl,%cl
39	andb.s %dl,%cl
40	andw %dx,%cx
41	andw.s %dx,%cx
42	andl %edx,%ecx
43	andl.s %edx,%ecx
44	cmp %dl,%cl
45	cmp.s %dl,%cl
46	cmp %dx,%cx
47	cmp.s %dx,%cx
48	cmp %edx,%ecx
49	cmp.s %edx,%ecx
50	cmpb %dl,%cl
51	cmpb.s %dl,%cl
52	cmpw %dx,%cx
53	cmpw.s %dx,%cx
54	cmpl %edx,%ecx
55	cmpl.s %edx,%ecx
56	mov %dl,%cl
57	mov.s %dl,%cl
58	mov %dx,%cx
59	mov.s %dx,%cx
60	mov %edx,%ecx
61	mov.s %edx,%ecx
62	movb %dl,%cl
63	movb.s %dl,%cl
64	movw %dx,%cx
65	movw.s %dx,%cx
66	movl %edx,%ecx
67	movl.s %edx,%ecx
68	or %dl,%cl
69	or.s %dl,%cl
70	or %dx,%cx
71	or.s %dx,%cx
72	or %edx,%ecx
73	or.s %edx,%ecx
74	orb %dl,%cl
75	orb.s %dl,%cl
76	orw %dx,%cx
77	orw.s %dx,%cx
78	orl %edx,%ecx
79	orl.s %edx,%ecx
80	sbb %dl,%cl
81	sbb.s %dl,%cl
82	sbb %dx,%cx
83	sbb.s %dx,%cx
84	sbb %edx,%ecx
85	sbb.s %edx,%ecx
86	sbbb %dl,%cl
87	sbbb.s %dl,%cl
88	sbbw %dx,%cx
89	sbbw.s %dx,%cx
90	sbbl %edx,%ecx
91	sbbl.s %edx,%ecx
92	sub %dl,%cl
93	sub.s %dl,%cl
94	sub %dx,%cx
95	sub.s %dx,%cx
96	sub %edx,%ecx
97	sub.s %edx,%ecx
98	subb %dl,%cl
99	subb.s %dl,%cl
100	subw %dx,%cx
101	subw.s %dx,%cx
102	subl %edx,%ecx
103	subl.s %edx,%ecx
104	xor %dl,%cl
105	xor.s %dl,%cl
106	xor %dx,%cx
107	xor.s %dx,%cx
108	xor %edx,%ecx
109	xor.s %edx,%ecx
110	xorb %dl,%cl
111	xorb.s %dl,%cl
112	xorw %dx,%cx
113	xorw.s %dx,%cx
114	xorl %edx,%ecx
115	xorl.s %edx,%ecx
116
117# Tests for op ymm, ymm
118	vmovapd %ymm4,%ymm6
119	vmovapd.s %ymm4,%ymm6
120	vmovaps %ymm4,%ymm6
121	vmovaps.s %ymm4,%ymm6
122	vmovdqa %ymm4,%ymm6
123	vmovdqa.s %ymm4,%ymm6
124	vmovdqu %ymm4,%ymm6
125	vmovdqu.s %ymm4,%ymm6
126	vmovupd %ymm4,%ymm6
127	vmovupd.s %ymm4,%ymm6
128	vmovups %ymm4,%ymm6
129	vmovups.s %ymm4,%ymm6
130
131# Tests for op xmm, xmm
132	movapd %xmm4,%xmm6
133	movapd.s %xmm4,%xmm6
134	movaps %xmm4,%xmm6
135	movaps.s %xmm4,%xmm6
136	movdqa %xmm4,%xmm6
137	movdqa.s %xmm4,%xmm6
138	movdqu %xmm4,%xmm6
139	movdqu.s %xmm4,%xmm6
140	movq %xmm4,%xmm6
141	movq.s %xmm4,%xmm6
142	movsd %xmm4,%xmm6
143	movsd.s %xmm4,%xmm6
144	movss %xmm4,%xmm6
145	movss.s %xmm4,%xmm6
146	movupd %xmm4,%xmm6
147	movupd.s %xmm4,%xmm6
148	movups %xmm4,%xmm6
149	movups.s %xmm4,%xmm6
150	vmovapd %xmm4,%xmm6
151	vmovapd.s %xmm4,%xmm6
152	vmovaps %xmm4,%xmm6
153	vmovaps.s %xmm4,%xmm6
154	vmovdqa %xmm4,%xmm6
155	vmovdqa.s %xmm4,%xmm6
156	vmovdqu %xmm4,%xmm6
157	vmovdqu.s %xmm4,%xmm6
158	vmovq %xmm4,%xmm6
159	vmovq.s %xmm4,%xmm6
160	vmovupd %xmm4,%xmm6
161	vmovupd.s %xmm4,%xmm6
162	vmovups %xmm4,%xmm6
163	vmovups.s %xmm4,%xmm6
164
165# Tests for op xmm, xmm, xmm
166	vmovsd %xmm4,%xmm6,%xmm2
167	vmovsd.s %xmm4,%xmm6,%xmm2
168	vmovss %xmm4,%xmm6,%xmm2
169	vmovss.s %xmm4,%xmm6,%xmm2
170
171# Tests for op mm, mm
172	movq %mm0,%mm4
173	movq.s %mm0,%mm4
174
175# Tests for op bnd, bnd
176	bndmov %bnd1,%bnd2
177	bndmov.s %bnd1,%bnd2
178
179	.intel_syntax noprefix
180
181# Tests for op reg, reg
182	add cl,dl
183	add.s cl,dl
184	add cx,dx
185	add.s cx,dx
186	add ecx,edx
187	add.s ecx,edx
188	adc cl,dl
189	adc.s cl,dl
190	adc cx,dx
191	adc.s cx,dx
192	adc ecx,edx
193	adc.s ecx,edx
194	and cl,dl
195	and.s cl,dl
196	and cx,dx
197	and.s cx,dx
198	and ecx,edx
199	and.s ecx,edx
200	cmp cl,dl
201	cmp.s cl,dl
202	cmp cx,dx
203	cmp.s cx,dx
204	cmp ecx,edx
205	cmp.s ecx,edx
206	mov cl,dl
207	mov.s cl,dl
208	mov cx,dx
209	mov.s cx,dx
210	mov ecx,edx
211	mov.s ecx,edx
212	or cl,dl
213	or.s cl,dl
214	or cx,dx
215	or.s cx,dx
216	or ecx,edx
217	or.s ecx,edx
218	sbb cl,dl
219	sbb.s cl,dl
220	sbb cx,dx
221	sbb.s cx,dx
222	sbb ecx,edx
223	sbb.s ecx,edx
224	sub cl,dl
225	sub.s cl,dl
226	sub cx,dx
227	sub.s cx,dx
228	sub ecx,edx
229	sub.s ecx,edx
230	xor cl,dl
231	xor.s cl,dl
232	xor cx,dx
233	xor.s cx,dx
234	xor ecx,edx
235	xor.s ecx,edx
236
237# Tests for op ymm, ymm
238	vmovapd ymm6,ymm4
239	vmovapd.s ymm6,ymm4
240	vmovaps ymm6,ymm4
241	vmovaps.s ymm6,ymm4
242	vmovdqa ymm6,ymm4
243	vmovdqa.s ymm6,ymm4
244	vmovdqu ymm6,ymm4
245	vmovdqu.s ymm6,ymm4
246	vmovupd ymm6,ymm4
247	vmovupd.s ymm6,ymm4
248	vmovups ymm6,ymm4
249	vmovups.s ymm6,ymm4
250
251# Tests for op xmm, xmm
252	movapd xmm6,xmm4
253	movapd.s xmm6,xmm4
254	movaps xmm6,xmm4
255	movaps.s xmm6,xmm4
256	movdqa xmm6,xmm4
257	movdqa.s xmm6,xmm4
258	movdqu xmm6,xmm4
259	movdqu.s xmm6,xmm4
260	movq xmm6,xmm4
261	movq.s xmm6,xmm4
262	movsd xmm6,xmm4
263	movsd.s xmm6,xmm4
264	movss xmm6,xmm4
265	movss.s xmm6,xmm4
266	movupd xmm6,xmm4
267	movupd.s xmm6,xmm4
268	movups xmm6,xmm4
269	movups.s xmm6,xmm4
270	vmovapd xmm6,xmm4
271	vmovapd.s xmm6,xmm4
272	vmovaps xmm6,xmm4
273	vmovaps.s xmm6,xmm4
274	vmovdqa xmm6,xmm4
275	vmovdqa.s xmm6,xmm4
276	vmovdqu xmm6,xmm4
277	vmovdqu.s xmm6,xmm4
278	vmovq xmm6,xmm4
279	vmovq.s xmm6,xmm4
280	vmovupd xmm6,xmm4
281	vmovupd.s xmm6,xmm4
282	vmovups xmm6,xmm4
283	vmovups.s xmm6,xmm4
284
285# Tests for op xmm, xmm, xmm
286	vmovsd xmm2,xmm6,xmm4
287	vmovsd.s xmm2,xmm6,xmm4
288	vmovss xmm2,xmm6,xmm4
289	vmovss.s xmm2,xmm6,xmm4
290
291# Tests for op mm, mm
292	movq mm4,mm0
293	movq.s mm4,mm0
294
295# Tests for op bnd, bnd
296	bndmov bnd1,bnd2
297	bndmov.s bnd1,bnd2
298