1# Check 64bit instructions with optimized encoding
2
3	.allow_index_reg
4	.text
5_start:
6	vandnpd %zmm1, %zmm1, %zmm15{%k7}
7	vandnpd %ymm1, %ymm1, %ymm15	 {%k7}		{z}
8	vandnpd %zmm1, %zmm1, %zmm15
9	vandnpd %ymm1, %ymm1, %ymm15
10	vandnpd %zmm1, %zmm1, %zmm16
11	vandnpd %ymm1, %ymm1, %ymm16
12	vandnpd %zmm17, %zmm17, %zmm1
13	vandnpd %ymm17, %ymm17, %ymm1
14
15	vandnps %zmm1, %zmm1, %zmm15{%k7}
16	vandnps %ymm1, %ymm1, %ymm15{z}{%k7}
17	vandnps %zmm1, %zmm1, %zmm15
18	vandnps %ymm1, %ymm1, %ymm15
19	vandnps %zmm1, %zmm1, %zmm16
20	vandnps %ymm1, %ymm1, %ymm16
21	vandnps %zmm17, %zmm17, %zmm1
22	vandnps %ymm17, %ymm17, %ymm1
23
24	vpandn %ymm1, %ymm1, %ymm15
25
26	vpandnd %zmm1, %zmm1, %zmm15{%k7}
27	vpandnd %ymm1, %ymm1, %ymm15{z}{%k7}
28	vpandnd %zmm1, %zmm1, %zmm15
29	vpandnd %ymm1, %ymm1, %ymm15
30	vpandnd %zmm1, %zmm1, %zmm16
31	vpandnd %ymm1, %ymm1, %ymm16
32	vpandnd %zmm17, %zmm17, %zmm1
33	vpandnd %ymm17, %ymm17, %ymm1
34
35	vpandnq %zmm1, %zmm1, %zmm15{%k7}
36	vpandnq %ymm1, %ymm1, %ymm15{z}{%k7}
37	vpandnq %zmm1, %zmm1, %zmm15
38	vpandnq %ymm1, %ymm1, %ymm15
39	vpandnq %zmm1, %zmm1, %zmm16
40	vpandnq %ymm1, %ymm1, %ymm16
41	vpandnq %zmm17, %zmm17, %zmm1
42	vpandnq %ymm17, %ymm17, %ymm1
43
44	vxorpd %zmm1, %zmm1, %zmm15{%k7}
45	vxorpd %ymm1, %ymm1, %ymm15{z}{%k7}
46	vxorpd %zmm1, %zmm1, %zmm15
47	vxorpd %ymm1, %ymm1, %ymm15
48	vxorpd %zmm1, %zmm1, %zmm16
49	vxorpd %ymm1, %ymm1, %ymm16
50	vxorpd %zmm17, %zmm17, %zmm1
51	vxorpd %ymm17, %ymm17, %ymm1
52
53	vxorps %zmm1, %zmm1, %zmm15{%k7}
54	vxorps %ymm1, %ymm1, %ymm15{z}{%k7}
55	vxorps %zmm1, %zmm1, %zmm15
56	vxorps %ymm1, %ymm1, %ymm15
57	vxorps %zmm1, %zmm1, %zmm16
58	vxorps %ymm1, %ymm1, %ymm16
59	vxorps %zmm17, %zmm17, %zmm1
60	vxorps %ymm17, %ymm17, %ymm1
61
62	vpxor %ymm1, %ymm1, %ymm15
63
64	vpxord %zmm1, %zmm1, %zmm15{%k7}
65	vpxord %ymm1, %ymm1, %ymm15{z}{%k7}
66	vpxord %zmm1, %zmm1, %zmm15
67	vpxord %ymm1, %ymm1, %ymm15
68	vpxord %zmm1, %zmm1, %zmm16
69	vpxord %ymm1, %ymm1, %ymm16
70	vpxord %zmm17, %zmm17, %zmm1
71	vpxord %ymm17, %ymm17, %ymm1
72
73	vpxorq %zmm1, %zmm1, %zmm15{%k7}
74	vpxorq %ymm1, %ymm1, %ymm15{z}{%k7}
75	vpxorq %zmm1, %zmm1, %zmm15
76	vpxorq %ymm1, %ymm1, %ymm15
77	vpxorq %zmm1, %zmm1, %zmm16
78	vpxorq %ymm1, %ymm1, %ymm16
79	vpxorq %zmm17, %zmm17, %zmm1
80	vpxorq %ymm17, %ymm17, %ymm1
81
82	vpsubb %zmm1, %zmm1, %zmm15{%k7}
83	vpsubb %ymm1, %ymm1, %ymm15{z}{%k7}
84	vpsubb %zmm1, %zmm1, %zmm15
85	vpsubb %ymm1, %ymm1, %ymm15
86	vpsubb %zmm1, %zmm1, %zmm16
87	vpsubb %ymm1, %ymm1, %ymm16
88	vpsubb %zmm17, %zmm17, %zmm1
89	vpsubb %ymm17, %ymm17, %ymm1
90
91	vpsubw %zmm1, %zmm1, %zmm15{%k7}
92	vpsubw %ymm1, %ymm1, %ymm15{z}{%k7}
93	vpsubw %zmm1, %zmm1, %zmm15
94	vpsubw %ymm1, %ymm1, %ymm15
95	vpsubw %zmm1, %zmm1, %zmm16
96	vpsubw %ymm1, %ymm1, %ymm16
97	vpsubw %zmm17, %zmm17, %zmm1
98	vpsubw %ymm17, %ymm17, %ymm1
99
100	vpsubd %zmm1, %zmm1, %zmm15{%k7}
101	vpsubd %ymm1, %ymm1, %ymm15{z}{%k7}
102	vpsubd %zmm1, %zmm1, %zmm15
103	vpsubd %ymm1, %ymm1, %ymm15
104	vpsubd %zmm1, %zmm1, %zmm16
105	vpsubd %ymm1, %ymm1, %ymm16
106	vpsubd %zmm17, %zmm17, %zmm1
107	vpsubd %ymm17, %ymm17, %ymm1
108
109	vpsubq %zmm1, %zmm1, %zmm15{%k7}
110	vpsubq %ymm1, %ymm1, %ymm15{z}{%k7}
111	vpsubq %zmm1, %zmm1, %zmm15
112	vpsubq %ymm1, %ymm1, %ymm15
113	vpsubq %zmm1, %zmm1, %zmm16
114	vpsubq %ymm1, %ymm1, %ymm16
115	vpsubq %zmm17, %zmm17, %zmm1
116	vpsubq %ymm17, %ymm17, %ymm1
117
118	vmovdqa32	%xmm1, %xmm2
119	vmovdqa64	%xmm1, %xmm2
120	vmovdqu8	%xmm1, %xmm2
121	vmovdqu16	%xmm1, %xmm2
122	vmovdqu32	%xmm1, %xmm2
123	vmovdqu64	%xmm1, %xmm2
124
125	vmovdqa32	%xmm11, %xmm12
126	vmovdqa64	%xmm11, %xmm12
127	vmovdqu8	%xmm11, %xmm12
128	vmovdqu16	%xmm11, %xmm12
129	vmovdqu32	%xmm11, %xmm12
130	vmovdqu64	%xmm11, %xmm12
131
132	vmovdqa32	127(%rax), %xmm2
133	vmovdqa64	127(%rax), %xmm2
134	vmovdqu8	127(%rax), %xmm2
135	vmovdqu16	127(%rax), %xmm2
136	vmovdqu32	127(%rax), %xmm2
137	vmovdqu64	127(%rax), %xmm2
138
139	vmovdqa32	%xmm1, 128(%rax)
140	vmovdqa64	%xmm1, 128(%rax)
141	vmovdqu8	%xmm1, 128(%rax)
142	vmovdqu16	%xmm1, 128(%rax)
143	vmovdqu32	%xmm1, 128(%rax)
144	vmovdqu64	%xmm1, 128(%rax)
145
146	vmovdqa32	%ymm1, %ymm2
147	vmovdqa64	%ymm1, %ymm2
148	vmovdqu8	%ymm1, %ymm2
149	vmovdqu16	%ymm1, %ymm2
150	vmovdqu32	%ymm1, %ymm2
151	vmovdqu64	%ymm1, %ymm2
152
153	vmovdqa32	%ymm11, %ymm12
154	vmovdqa64	%ymm11, %ymm12
155	vmovdqu8	%ymm11, %ymm12
156	vmovdqu16	%ymm11, %ymm12
157	vmovdqu32	%ymm11, %ymm12
158	vmovdqu64	%ymm11, %ymm12
159
160	vmovdqa32	127(%rax), %ymm2
161	vmovdqa64	127(%rax), %ymm2
162	vmovdqu8	127(%rax), %ymm2
163	vmovdqu16	127(%rax), %ymm2
164	vmovdqu32	127(%rax), %ymm2
165	vmovdqu64	127(%rax), %ymm2
166
167	vmovdqa32	%ymm1, 128(%rax)
168	vmovdqa64	%ymm1, 128(%rax)
169	vmovdqu8	%ymm1, 128(%rax)
170	vmovdqu16	%ymm1, 128(%rax)
171	vmovdqu32	%ymm1, 128(%rax)
172	vmovdqu64	%ymm1, 128(%rax)
173
174	vmovdqa32	(%rax), %zmm2
175
176	vpandd		%xmm2, %xmm3, %xmm4
177	vpandq		%xmm12, %xmm3, %xmm4
178	vpandnd		%xmm2, %xmm13, %xmm4
179	vpandnq		%xmm2, %xmm3, %xmm14
180	vpord		%xmm2, %xmm3, %xmm4
181	vporq		%xmm12, %xmm3, %xmm4
182	vpxord		%xmm2, %xmm13, %xmm4
183	vpxorq		%xmm2, %xmm3, %xmm14
184
185	vpandd		%ymm2, %ymm3, %ymm4
186	vpandq		%ymm12, %ymm3, %ymm4
187	vpandnd		%ymm2, %ymm13, %ymm4
188	vpandnq		%ymm2, %ymm3, %ymm14
189	vpord		%ymm2, %ymm3, %ymm4
190	vporq		%ymm12, %ymm3, %ymm4
191	vpxord		%ymm2, %ymm13, %ymm4
192	vpxorq		%ymm2, %ymm3, %ymm14
193
194	vpandd		112(%rax), %xmm2, %xmm3
195	vpandq		112(%rax), %xmm2, %xmm3
196	vpandnd		112(%rax), %xmm2, %xmm3
197	vpandnq		112(%rax), %xmm2, %xmm3
198	vpord		112(%rax), %xmm2, %xmm3
199	vporq		112(%rax), %xmm2, %xmm3
200	vpxord		112(%rax), %xmm2, %xmm3
201	vpxorq		112(%rax), %xmm2, %xmm3
202
203	vpandd		128(%rax), %xmm2, %xmm3
204	vpandq		128(%rax), %xmm2, %xmm3
205	vpandnd		128(%rax), %xmm2, %xmm3
206	vpandnq		128(%rax), %xmm2, %xmm3
207	vpord		128(%rax), %xmm2, %xmm3
208	vporq		128(%rax), %xmm2, %xmm3
209	vpxord		128(%rax), %xmm2, %xmm3
210	vpxorq		128(%rax), %xmm2, %xmm3
211
212	vpandd		96(%rax), %ymm2, %ymm3
213	vpandq		96(%rax), %ymm2, %ymm3
214	vpandnd		96(%rax), %ymm2, %ymm3
215	vpandnq		96(%rax), %ymm2, %ymm3
216	vpord		96(%rax), %ymm2, %ymm3
217	vporq		96(%rax), %ymm2, %ymm3
218	vpxord		96(%rax), %ymm2, %ymm3
219	vpxorq		96(%rax), %ymm2, %ymm3
220
221	vpandd		128(%rax), %ymm2, %ymm3
222	vpandq		128(%rax), %ymm2, %ymm3
223	vpandnd		128(%rax), %ymm2, %ymm3
224	vpandnq		128(%rax), %ymm2, %ymm3
225	vpord		128(%rax), %ymm2, %ymm3
226	vporq		128(%rax), %ymm2, %ymm3
227	vpxord		128(%rax), %ymm2, %ymm3
228	vpxorq		128(%rax), %ymm2, %ymm3
229