1# Check 32bit AVX512ER instructions
2
3	.allow_index_reg
4	.text
5_start:
6
7	vexp2ps	%zmm5, %zmm6	 # AVX512ER
8	vexp2ps	{sae}, %zmm5, %zmm6	 # AVX512ER
9	vexp2ps	(%ecx), %zmm6	 # AVX512ER
10	vexp2ps	-123456(%esp,%esi,8), %zmm6	 # AVX512ER
11	vexp2ps	(%eax){1to16}, %zmm6	 # AVX512ER
12	vexp2ps	8128(%edx), %zmm6	 # AVX512ER Disp8
13	vexp2ps	8192(%edx), %zmm6	 # AVX512ER
14	vexp2ps	-8192(%edx), %zmm6	 # AVX512ER Disp8
15	vexp2ps	-8256(%edx), %zmm6	 # AVX512ER
16	vexp2ps	508(%edx){1to16}, %zmm6	 # AVX512ER Disp8
17	vexp2ps	512(%edx){1to16}, %zmm6	 # AVX512ER
18	vexp2ps	-512(%edx){1to16}, %zmm6	 # AVX512ER Disp8
19	vexp2ps	-516(%edx){1to16}, %zmm6	 # AVX512ER
20
21	vexp2pd	%zmm5, %zmm6	 # AVX512ER
22	vexp2pd	{sae}, %zmm5, %zmm6	 # AVX512ER
23	vexp2pd	(%ecx), %zmm6	 # AVX512ER
24	vexp2pd	-123456(%esp,%esi,8), %zmm6	 # AVX512ER
25	vexp2pd	(%eax){1to8}, %zmm6	 # AVX512ER
26	vexp2pd	8128(%edx), %zmm6	 # AVX512ER Disp8
27	vexp2pd	8192(%edx), %zmm6	 # AVX512ER
28	vexp2pd	-8192(%edx), %zmm6	 # AVX512ER Disp8
29	vexp2pd	-8256(%edx), %zmm6	 # AVX512ER
30	vexp2pd	1016(%edx){1to8}, %zmm6	 # AVX512ER Disp8
31	vexp2pd	1024(%edx){1to8}, %zmm6	 # AVX512ER
32	vexp2pd	-1024(%edx){1to8}, %zmm6	 # AVX512ER Disp8
33	vexp2pd	-1032(%edx){1to8}, %zmm6	 # AVX512ER
34
35	vrcp28ps	%zmm5, %zmm6	 # AVX512ER
36	vrcp28ps	%zmm5, %zmm6{%k7}	 # AVX512ER
37	vrcp28ps	%zmm5, %zmm6{%k7}{z}	 # AVX512ER
38	vrcp28ps	{sae}, %zmm5, %zmm6	 # AVX512ER
39	vrcp28ps	(%ecx), %zmm6	 # AVX512ER
40	vrcp28ps	-123456(%esp,%esi,8), %zmm6	 # AVX512ER
41	vrcp28ps	(%eax){1to16}, %zmm6	 # AVX512ER
42	vrcp28ps	8128(%edx), %zmm6	 # AVX512ER Disp8
43	vrcp28ps	8192(%edx), %zmm6	 # AVX512ER
44	vrcp28ps	-8192(%edx), %zmm6	 # AVX512ER Disp8
45	vrcp28ps	-8256(%edx), %zmm6	 # AVX512ER
46	vrcp28ps	508(%edx){1to16}, %zmm6	 # AVX512ER Disp8
47	vrcp28ps	512(%edx){1to16}, %zmm6	 # AVX512ER
48	vrcp28ps	-512(%edx){1to16}, %zmm6	 # AVX512ER Disp8
49	vrcp28ps	-516(%edx){1to16}, %zmm6	 # AVX512ER
50
51	vrcp28pd	%zmm5, %zmm6	 # AVX512ER
52	vrcp28pd	%zmm5, %zmm6{%k7}	 # AVX512ER
53	vrcp28pd	%zmm5, %zmm6{%k7}{z}	 # AVX512ER
54	vrcp28pd	{sae}, %zmm5, %zmm6	 # AVX512ER
55	vrcp28pd	(%ecx), %zmm6	 # AVX512ER
56	vrcp28pd	-123456(%esp,%esi,8), %zmm6	 # AVX512ER
57	vrcp28pd	(%eax){1to8}, %zmm6	 # AVX512ER
58	vrcp28pd	8128(%edx), %zmm6	 # AVX512ER Disp8
59	vrcp28pd	8192(%edx), %zmm6	 # AVX512ER
60	vrcp28pd	-8192(%edx), %zmm6	 # AVX512ER Disp8
61	vrcp28pd	-8256(%edx), %zmm6	 # AVX512ER
62	vrcp28pd	1016(%edx){1to8}, %zmm6	 # AVX512ER Disp8
63	vrcp28pd	1024(%edx){1to8}, %zmm6	 # AVX512ER
64	vrcp28pd	-1024(%edx){1to8}, %zmm6	 # AVX512ER Disp8
65	vrcp28pd	-1032(%edx){1to8}, %zmm6	 # AVX512ER
66
67	vrcp28ss	%xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
68	vrcp28ss	%xmm4, %xmm5, %xmm6{%k7}{z}	 # AVX512ER
69	vrcp28ss	{sae}, %xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
70	vrcp28ss	(%ecx), %xmm5, %xmm6{%k7}	 # AVX512ER
71	vrcp28ss	-123456(%esp,%esi,8), %xmm5, %xmm6{%k7}	 # AVX512ER
72	vrcp28ss	508(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
73	vrcp28ss	512(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
74	vrcp28ss	-512(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
75	vrcp28ss	-516(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
76
77	vrcp28sd	%xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
78	vrcp28sd	%xmm4, %xmm5, %xmm6{%k7}{z}	 # AVX512ER
79	vrcp28sd	{sae}, %xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
80	vrcp28sd	(%ecx), %xmm5, %xmm6{%k7}	 # AVX512ER
81	vrcp28sd	-123456(%esp,%esi,8), %xmm5, %xmm6{%k7}	 # AVX512ER
82	vrcp28sd	1016(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
83	vrcp28sd	1024(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
84	vrcp28sd	-1024(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
85	vrcp28sd	-1032(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
86
87	vrsqrt28ps	%zmm5, %zmm6	 # AVX512ER
88	vrsqrt28ps	%zmm5, %zmm6{%k7}	 # AVX512ER
89	vrsqrt28ps	%zmm5, %zmm6{%k7}{z}	 # AVX512ER
90	vrsqrt28ps	{sae}, %zmm5, %zmm6	 # AVX512ER
91	vrsqrt28ps	(%ecx), %zmm6	 # AVX512ER
92	vrsqrt28ps	-123456(%esp,%esi,8), %zmm6	 # AVX512ER
93	vrsqrt28ps	(%eax){1to16}, %zmm6	 # AVX512ER
94	vrsqrt28ps	8128(%edx), %zmm6	 # AVX512ER Disp8
95	vrsqrt28ps	8192(%edx), %zmm6	 # AVX512ER
96	vrsqrt28ps	-8192(%edx), %zmm6	 # AVX512ER Disp8
97	vrsqrt28ps	-8256(%edx), %zmm6	 # AVX512ER
98	vrsqrt28ps	508(%edx){1to16}, %zmm6	 # AVX512ER Disp8
99	vrsqrt28ps	512(%edx){1to16}, %zmm6	 # AVX512ER
100	vrsqrt28ps	-512(%edx){1to16}, %zmm6	 # AVX512ER Disp8
101	vrsqrt28ps	-516(%edx){1to16}, %zmm6	 # AVX512ER
102
103	vrsqrt28pd	%zmm5, %zmm6	 # AVX512ER
104	vrsqrt28pd	%zmm5, %zmm6{%k7}	 # AVX512ER
105	vrsqrt28pd	%zmm5, %zmm6{%k7}{z}	 # AVX512ER
106	vrsqrt28pd	{sae}, %zmm5, %zmm6	 # AVX512ER
107	vrsqrt28pd	(%ecx), %zmm6	 # AVX512ER
108	vrsqrt28pd	-123456(%esp,%esi,8), %zmm6	 # AVX512ER
109	vrsqrt28pd	(%eax){1to8}, %zmm6	 # AVX512ER
110	vrsqrt28pd	8128(%edx), %zmm6	 # AVX512ER Disp8
111	vrsqrt28pd	8192(%edx), %zmm6	 # AVX512ER
112	vrsqrt28pd	-8192(%edx), %zmm6	 # AVX512ER Disp8
113	vrsqrt28pd	-8256(%edx), %zmm6	 # AVX512ER
114	vrsqrt28pd	1016(%edx){1to8}, %zmm6	 # AVX512ER Disp8
115	vrsqrt28pd	1024(%edx){1to8}, %zmm6	 # AVX512ER
116	vrsqrt28pd	-1024(%edx){1to8}, %zmm6	 # AVX512ER Disp8
117	vrsqrt28pd	-1032(%edx){1to8}, %zmm6	 # AVX512ER
118
119	vrsqrt28ss	%xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
120	vrsqrt28ss	%xmm4, %xmm5, %xmm6{%k7}{z}	 # AVX512ER
121	vrsqrt28ss	{sae}, %xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
122	vrsqrt28ss	(%ecx), %xmm5, %xmm6{%k7}	 # AVX512ER
123	vrsqrt28ss	-123456(%esp,%esi,8), %xmm5, %xmm6{%k7}	 # AVX512ER
124	vrsqrt28ss	508(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
125	vrsqrt28ss	512(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
126	vrsqrt28ss	-512(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
127	vrsqrt28ss	-516(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
128
129	vrsqrt28sd	%xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
130	vrsqrt28sd	%xmm4, %xmm5, %xmm6{%k7}{z}	 # AVX512ER
131	vrsqrt28sd	{sae}, %xmm4, %xmm5, %xmm6{%k7}	 # AVX512ER
132	vrsqrt28sd	(%ecx), %xmm5, %xmm6{%k7}	 # AVX512ER
133	vrsqrt28sd	-123456(%esp,%esi,8), %xmm5, %xmm6{%k7}	 # AVX512ER
134	vrsqrt28sd	1016(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
135	vrsqrt28sd	1024(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
136	vrsqrt28sd	-1024(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER Disp8
137	vrsqrt28sd	-1032(%edx), %xmm5, %xmm6{%k7}	 # AVX512ER
138
139	.intel_syntax noprefix
140	vexp2ps	zmm6, zmm5	 # AVX512ER
141	vexp2ps	zmm6, zmm5, {sae}	 # AVX512ER
142	vexp2ps	zmm6, ZMMWORD PTR [ecx]	 # AVX512ER
143	vexp2ps	zmm6, ZMMWORD PTR [esp+esi*8-123456]	 # AVX512ER
144	vexp2ps	zmm6, [eax]{1to16}	 # AVX512ER
145	vexp2ps	zmm6, ZMMWORD PTR [edx+8128]	 # AVX512ER Disp8
146	vexp2ps	zmm6, ZMMWORD PTR [edx+8192]	 # AVX512ER
147	vexp2ps	zmm6, ZMMWORD PTR [edx-8192]	 # AVX512ER Disp8
148	vexp2ps	zmm6, ZMMWORD PTR [edx-8256]	 # AVX512ER
149	vexp2ps	zmm6, [edx+508]{1to16}	 # AVX512ER Disp8
150	vexp2ps	zmm6, [edx+512]{1to16}	 # AVX512ER
151	vexp2ps	zmm6, [edx-512]{1to16}	 # AVX512ER Disp8
152	vexp2ps	zmm6, [edx-516]{1to16}	 # AVX512ER
153
154	vexp2pd	zmm6, zmm5	 # AVX512ER
155	vexp2pd	zmm6, zmm5, {sae}	 # AVX512ER
156	vexp2pd	zmm6, ZMMWORD PTR [ecx]	 # AVX512ER
157	vexp2pd	zmm6, ZMMWORD PTR [esp+esi*8-123456]	 # AVX512ER
158	vexp2pd	zmm6, [eax]{1to8}	 # AVX512ER
159	vexp2pd	zmm6, ZMMWORD PTR [edx+8128]	 # AVX512ER Disp8
160	vexp2pd	zmm6, ZMMWORD PTR [edx+8192]	 # AVX512ER
161	vexp2pd	zmm6, ZMMWORD PTR [edx-8192]	 # AVX512ER Disp8
162	vexp2pd	zmm6, ZMMWORD PTR [edx-8256]	 # AVX512ER
163	vexp2pd	zmm6, [edx+1016]{1to8}	 # AVX512ER Disp8
164	vexp2pd	zmm6, [edx+1024]{1to8}	 # AVX512ER
165	vexp2pd	zmm6, [edx-1024]{1to8}	 # AVX512ER Disp8
166	vexp2pd	zmm6, [edx-1032]{1to8}	 # AVX512ER
167
168	vrcp28ps	zmm6, zmm5	 # AVX512ER
169	vrcp28ps	zmm6{k7}, zmm5	 # AVX512ER
170	vrcp28ps	zmm6{k7}{z}, zmm5	 # AVX512ER
171	vrcp28ps	zmm6, zmm5, {sae}	 # AVX512ER
172	vrcp28ps	zmm6, ZMMWORD PTR [ecx]	 # AVX512ER
173	vrcp28ps	zmm6, ZMMWORD PTR [esp+esi*8-123456]	 # AVX512ER
174	vrcp28ps	zmm6, [eax]{1to16}	 # AVX512ER
175	vrcp28ps	zmm6, ZMMWORD PTR [edx+8128]	 # AVX512ER Disp8
176	vrcp28ps	zmm6, ZMMWORD PTR [edx+8192]	 # AVX512ER
177	vrcp28ps	zmm6, ZMMWORD PTR [edx-8192]	 # AVX512ER Disp8
178	vrcp28ps	zmm6, ZMMWORD PTR [edx-8256]	 # AVX512ER
179	vrcp28ps	zmm6, [edx+508]{1to16}	 # AVX512ER Disp8
180	vrcp28ps	zmm6, [edx+512]{1to16}	 # AVX512ER
181	vrcp28ps	zmm6, [edx-512]{1to16}	 # AVX512ER Disp8
182	vrcp28ps	zmm6, [edx-516]{1to16}	 # AVX512ER
183
184	vrcp28pd	zmm6, zmm5	 # AVX512ER
185	vrcp28pd	zmm6{k7}, zmm5	 # AVX512ER
186	vrcp28pd	zmm6{k7}{z}, zmm5	 # AVX512ER
187	vrcp28pd	zmm6, zmm5, {sae}	 # AVX512ER
188	vrcp28pd	zmm6, ZMMWORD PTR [ecx]	 # AVX512ER
189	vrcp28pd	zmm6, ZMMWORD PTR [esp+esi*8-123456]	 # AVX512ER
190	vrcp28pd	zmm6, [eax]{1to8}	 # AVX512ER
191	vrcp28pd	zmm6, ZMMWORD PTR [edx+8128]	 # AVX512ER Disp8
192	vrcp28pd	zmm6, ZMMWORD PTR [edx+8192]	 # AVX512ER
193	vrcp28pd	zmm6, ZMMWORD PTR [edx-8192]	 # AVX512ER Disp8
194	vrcp28pd	zmm6, ZMMWORD PTR [edx-8256]	 # AVX512ER
195	vrcp28pd	zmm6, [edx+1016]{1to8}	 # AVX512ER Disp8
196	vrcp28pd	zmm6, [edx+1024]{1to8}	 # AVX512ER
197	vrcp28pd	zmm6, [edx-1024]{1to8}	 # AVX512ER Disp8
198	vrcp28pd	zmm6, [edx-1032]{1to8}	 # AVX512ER
199
200	vrcp28ss	xmm6{k7}, xmm5, xmm4	 # AVX512ER
201	vrcp28ss	xmm6{k7}{z}, xmm5, xmm4	 # AVX512ER
202	vrcp28ss	xmm6{k7}, xmm5, xmm4, {sae}	 # AVX512ER
203	vrcp28ss	xmm6{k7}, xmm5, DWORD PTR [ecx]	 # AVX512ER
204	vrcp28ss	xmm6{k7}, xmm5, DWORD PTR [esp+esi*8-123456]	 # AVX512ER
205	vrcp28ss	xmm6{k7}, xmm5, DWORD PTR [edx+508]	 # AVX512ER Disp8
206	vrcp28ss	xmm6{k7}, xmm5, DWORD PTR [edx+512]	 # AVX512ER
207	vrcp28ss	xmm6{k7}, xmm5, DWORD PTR [edx-512]	 # AVX512ER Disp8
208	vrcp28ss	xmm6{k7}, xmm5, DWORD PTR [edx-516]	 # AVX512ER
209
210	vrcp28sd	xmm6{k7}, xmm5, xmm4	 # AVX512ER
211	vrcp28sd	xmm6{k7}{z}, xmm5, xmm4	 # AVX512ER
212	vrcp28sd	xmm6{k7}, xmm5, xmm4, {sae}	 # AVX512ER
213	vrcp28sd	xmm6{k7}, xmm5, QWORD PTR [ecx]	 # AVX512ER
214	vrcp28sd	xmm6{k7}, xmm5, QWORD PTR [esp+esi*8-123456]	 # AVX512ER
215	vrcp28sd	xmm6{k7}, xmm5, QWORD PTR [edx+1016]	 # AVX512ER Disp8
216	vrcp28sd	xmm6{k7}, xmm5, QWORD PTR [edx+1024]	 # AVX512ER
217	vrcp28sd	xmm6{k7}, xmm5, QWORD PTR [edx-1024]	 # AVX512ER Disp8
218	vrcp28sd	xmm6{k7}, xmm5, QWORD PTR [edx-1032]	 # AVX512ER
219
220	vrsqrt28ps	zmm6, zmm5	 # AVX512ER
221	vrsqrt28ps	zmm6{k7}, zmm5	 # AVX512ER
222	vrsqrt28ps	zmm6{k7}{z}, zmm5	 # AVX512ER
223	vrsqrt28ps	zmm6, zmm5, {sae}	 # AVX512ER
224	vrsqrt28ps	zmm6, ZMMWORD PTR [ecx]	 # AVX512ER
225	vrsqrt28ps	zmm6, ZMMWORD PTR [esp+esi*8-123456]	 # AVX512ER
226	vrsqrt28ps	zmm6, [eax]{1to16}	 # AVX512ER
227	vrsqrt28ps	zmm6, ZMMWORD PTR [edx+8128]	 # AVX512ER Disp8
228	vrsqrt28ps	zmm6, ZMMWORD PTR [edx+8192]	 # AVX512ER
229	vrsqrt28ps	zmm6, ZMMWORD PTR [edx-8192]	 # AVX512ER Disp8
230	vrsqrt28ps	zmm6, ZMMWORD PTR [edx-8256]	 # AVX512ER
231	vrsqrt28ps	zmm6, [edx+508]{1to16}	 # AVX512ER Disp8
232	vrsqrt28ps	zmm6, [edx+512]{1to16}	 # AVX512ER
233	vrsqrt28ps	zmm6, [edx-512]{1to16}	 # AVX512ER Disp8
234	vrsqrt28ps	zmm6, [edx-516]{1to16}	 # AVX512ER
235
236	vrsqrt28pd	zmm6, zmm5	 # AVX512ER
237	vrsqrt28pd	zmm6{k7}, zmm5	 # AVX512ER
238	vrsqrt28pd	zmm6{k7}{z}, zmm5	 # AVX512ER
239	vrsqrt28pd	zmm6, zmm5, {sae}	 # AVX512ER
240	vrsqrt28pd	zmm6, ZMMWORD PTR [ecx]	 # AVX512ER
241	vrsqrt28pd	zmm6, ZMMWORD PTR [esp+esi*8-123456]	 # AVX512ER
242	vrsqrt28pd	zmm6, [eax]{1to8}	 # AVX512ER
243	vrsqrt28pd	zmm6, ZMMWORD PTR [edx+8128]	 # AVX512ER Disp8
244	vrsqrt28pd	zmm6, ZMMWORD PTR [edx+8192]	 # AVX512ER
245	vrsqrt28pd	zmm6, ZMMWORD PTR [edx-8192]	 # AVX512ER Disp8
246	vrsqrt28pd	zmm6, ZMMWORD PTR [edx-8256]	 # AVX512ER
247	vrsqrt28pd	zmm6, [edx+1016]{1to8}	 # AVX512ER Disp8
248	vrsqrt28pd	zmm6, [edx+1024]{1to8}	 # AVX512ER
249	vrsqrt28pd	zmm6, [edx-1024]{1to8}	 # AVX512ER Disp8
250	vrsqrt28pd	zmm6, [edx-1032]{1to8}	 # AVX512ER
251
252	vrsqrt28ss	xmm6{k7}, xmm5, xmm4	 # AVX512ER
253	vrsqrt28ss	xmm6{k7}{z}, xmm5, xmm4	 # AVX512ER
254	vrsqrt28ss	xmm6{k7}, xmm5, xmm4, {sae}	 # AVX512ER
255	vrsqrt28ss	xmm6{k7}, xmm5, DWORD PTR [ecx]	 # AVX512ER
256	vrsqrt28ss	xmm6{k7}, xmm5, DWORD PTR [esp+esi*8-123456]	 # AVX512ER
257	vrsqrt28ss	xmm6{k7}, xmm5, DWORD PTR [edx+508]	 # AVX512ER Disp8
258	vrsqrt28ss	xmm6{k7}, xmm5, DWORD PTR [edx+512]	 # AVX512ER
259	vrsqrt28ss	xmm6{k7}, xmm5, DWORD PTR [edx-512]	 # AVX512ER Disp8
260	vrsqrt28ss	xmm6{k7}, xmm5, DWORD PTR [edx-516]	 # AVX512ER
261
262	vrsqrt28sd	xmm6{k7}, xmm5, xmm4	 # AVX512ER
263	vrsqrt28sd	xmm6{k7}{z}, xmm5, xmm4	 # AVX512ER
264	vrsqrt28sd	xmm6{k7}, xmm5, xmm4, {sae}	 # AVX512ER
265	vrsqrt28sd	xmm6{k7}, xmm5, QWORD PTR [ecx]	 # AVX512ER
266	vrsqrt28sd	xmm6{k7}, xmm5, QWORD PTR [esp+esi*8-123456]	 # AVX512ER
267	vrsqrt28sd	xmm6{k7}, xmm5, QWORD PTR [edx+1016]	 # AVX512ER Disp8
268	vrsqrt28sd	xmm6{k7}, xmm5, QWORD PTR [edx+1024]	 # AVX512ER
269	vrsqrt28sd	xmm6{k7}, xmm5, QWORD PTR [edx-1024]	 # AVX512ER Disp8
270	vrsqrt28sd	xmm6{k7}, xmm5, QWORD PTR [edx-1032]	 # AVX512ER
271
272