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	.intel_syntax noprefix
176
177# Tests for op reg, reg
178	add cl,dl
179	add.s cl,dl
180	add cx,dx
181	add.s cx,dx
182	add ecx,edx
183	add.s ecx,edx
184	adc cl,dl
185	adc.s cl,dl
186	adc cx,dx
187	adc.s cx,dx
188	adc ecx,edx
189	adc.s ecx,edx
190	and cl,dl
191	and.s cl,dl
192	and cx,dx
193	and.s cx,dx
194	and ecx,edx
195	and.s ecx,edx
196	cmp cl,dl
197	cmp.s cl,dl
198	cmp cx,dx
199	cmp.s cx,dx
200	cmp ecx,edx
201	cmp.s ecx,edx
202	mov cl,dl
203	mov.s cl,dl
204	mov cx,dx
205	mov.s cx,dx
206	mov ecx,edx
207	mov.s ecx,edx
208	or cl,dl
209	or.s cl,dl
210	or cx,dx
211	or.s cx,dx
212	or ecx,edx
213	or.s ecx,edx
214	sbb cl,dl
215	sbb.s cl,dl
216	sbb cx,dx
217	sbb.s cx,dx
218	sbb ecx,edx
219	sbb.s ecx,edx
220	sub cl,dl
221	sub.s cl,dl
222	sub cx,dx
223	sub.s cx,dx
224	sub ecx,edx
225	sub.s ecx,edx
226	xor cl,dl
227	xor.s cl,dl
228	xor cx,dx
229	xor.s cx,dx
230	xor ecx,edx
231	xor.s ecx,edx
232
233# Tests for op ymm, ymm
234	vmovapd ymm6,ymm4
235	vmovapd.s ymm6,ymm4
236	vmovaps ymm6,ymm4
237	vmovaps.s ymm6,ymm4
238	vmovdqa ymm6,ymm4
239	vmovdqa.s ymm6,ymm4
240	vmovdqu ymm6,ymm4
241	vmovdqu.s ymm6,ymm4
242	vmovupd ymm6,ymm4
243	vmovupd.s ymm6,ymm4
244	vmovups ymm6,ymm4
245	vmovups.s ymm6,ymm4
246
247# Tests for op xmm, xmm
248	movapd xmm6,xmm4
249	movapd.s xmm6,xmm4
250	movaps xmm6,xmm4
251	movaps.s xmm6,xmm4
252	movdqa xmm6,xmm4
253	movdqa.s xmm6,xmm4
254	movdqu xmm6,xmm4
255	movdqu.s xmm6,xmm4
256	movq xmm6,xmm4
257	movq.s xmm6,xmm4
258	movsd xmm6,xmm4
259	movsd.s xmm6,xmm4
260	movss xmm6,xmm4
261	movss.s xmm6,xmm4
262	movupd xmm6,xmm4
263	movupd.s xmm6,xmm4
264	movups xmm6,xmm4
265	movups.s xmm6,xmm4
266	vmovapd xmm6,xmm4
267	vmovapd.s xmm6,xmm4
268	vmovaps xmm6,xmm4
269	vmovaps.s xmm6,xmm4
270	vmovdqa xmm6,xmm4
271	vmovdqa.s xmm6,xmm4
272	vmovdqu xmm6,xmm4
273	vmovdqu.s xmm6,xmm4
274	vmovq xmm6,xmm4
275	vmovq.s xmm6,xmm4
276	vmovupd xmm6,xmm4
277	vmovupd.s xmm6,xmm4
278	vmovups xmm6,xmm4
279	vmovups.s xmm6,xmm4
280
281# Tests for op xmm, xmm, xmm
282	vmovsd xmm2,xmm6,xmm4
283	vmovsd.s xmm2,xmm6,xmm4
284	vmovss xmm2,xmm6,xmm4
285	vmovss.s xmm2,xmm6,xmm4
286
287# Tests for op mm, mm
288	movq mm4,mm0
289	movq.s mm4,mm0
290