1# Check EVEX WIG instructions
2
3	.allow_index_reg
4	.text
5_start:
6
7	{evex} vcvtsi2ss %eax, %xmm0, %xmm0
8	{evex} vcvtsi2ss 4(%eax), %xmm0, %xmm0
9
10	{evex} vcvtsi2sd %eax, %xmm0, %xmm0
11	{evex} vcvtsi2sd 4(%eax), %xmm0, %xmm0
12
13	{evex} vcvtss2si %xmm0, %eax
14
15	{evex} vcvtsd2si %xmm0, %eax
16
17	{evex} vcvttss2si %xmm0, %eax
18
19	{evex} vcvttsd2si %xmm0, %eax
20
21	vcvtusi2ss %eax, %xmm0, %xmm0
22	vcvtusi2ss 4(%eax), %xmm0, %xmm0
23
24	vcvtusi2sd %eax, %xmm0, %xmm0
25	vcvtusi2sd 4(%eax), %xmm0, %xmm0
26
27	vcvtss2usi %xmm0, %eax
28
29	vcvtsd2usi %xmm0, %eax
30
31	vcvttss2usi %xmm0, %eax
32
33	vcvttsd2usi %xmm0, %eax
34
35	{evex} vextractps $0, %xmm0, %eax
36	{evex} vextractps $0, %xmm0, 4(%eax)
37
38	{evex} vmovd %eax, %xmm0
39	{evex} vmovd 4(%eax), %xmm0
40
41	{evex} vmovd %xmm0, %eax
42	{evex} vmovd %xmm0, 4(%eax)
43
44	vpbroadcastd %eax, %xmm0
45
46	{evex} vpextrb $0, %xmm0, %eax
47	{evex} vpextrb $0, %xmm0, 1(%eax)
48
49	{evex} vpextrd $0, %xmm0, %eax
50	{evex} vpextrd $0, %xmm0, 4(%eax)
51
52	{evex} vpextrw $0, %xmm0, %eax
53	{evex} {store} vpextrw $0, %xmm0, %eax
54	{evex} vpextrw $0, %xmm0, 2(%eax)
55
56	{evex} vpinsrb $0, %eax, %xmm0, %xmm0
57	{evex} vpinsrb $0, 1(%eax), %xmm0, %xmm0
58
59	{evex} vpinsrd $0, %eax, %xmm0, %xmm0
60	{evex} vpinsrd $0, 4(%eax), %xmm0, %xmm0
61
62	{evex} vpinsrw $0, %eax, %xmm0, %xmm0
63	{evex} vpinsrw $0, 2(%eax), %xmm0, %xmm0
64
65	vpmovsxbd	%xmm5, %zmm6{%k7}	 # AVX512
66	vpmovsxbd	%xmm5, %zmm6{%k7}{z}	 # AVX512
67	vpmovsxbd	(%ecx), %zmm6{%k7}	 # AVX512
68	vpmovsxbd	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
69	vpmovsxbd	2032(%edx), %zmm6{%k7}	 # AVX512 Disp8
70	vpmovsxbd	2048(%edx), %zmm6{%k7}	 # AVX512
71	vpmovsxbd	-2048(%edx), %zmm6{%k7}	 # AVX512 Disp8
72	vpmovsxbd	-2064(%edx), %zmm6{%k7}	 # AVX512
73
74	vpmovsxbq	%xmm5, %zmm6{%k7}	 # AVX512
75	vpmovsxbq	%xmm5, %zmm6{%k7}{z}	 # AVX512
76	vpmovsxbq	(%ecx), %zmm6{%k7}	 # AVX512
77	vpmovsxbq	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
78	vpmovsxbq	1016(%edx), %zmm6{%k7}	 # AVX512 Disp8
79	vpmovsxbq	1024(%edx), %zmm6{%k7}	 # AVX512
80	vpmovsxbq	-1024(%edx), %zmm6{%k7}	 # AVX512 Disp8
81	vpmovsxbq	-1032(%edx), %zmm6{%k7}	 # AVX512
82
83	vpmovsxwd	%ymm5, %zmm6{%k7}	 # AVX512
84	vpmovsxwd	%ymm5, %zmm6{%k7}{z}	 # AVX512
85	vpmovsxwd	(%ecx), %zmm6{%k7}	 # AVX512
86	vpmovsxwd	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
87	vpmovsxwd	4064(%edx), %zmm6{%k7}	 # AVX512 Disp8
88	vpmovsxwd	4096(%edx), %zmm6{%k7}	 # AVX512
89	vpmovsxwd	-4096(%edx), %zmm6{%k7}	 # AVX512 Disp8
90	vpmovsxwd	-4128(%edx), %zmm6{%k7}	 # AVX512
91
92	vpmovsxwq	%xmm5, %zmm6{%k7}	 # AVX512
93	vpmovsxwq	%xmm5, %zmm6{%k7}{z}	 # AVX512
94	vpmovsxwq	(%ecx), %zmm6{%k7}	 # AVX512
95	vpmovsxwq	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
96	vpmovsxwq	2032(%edx), %zmm6{%k7}	 # AVX512 Disp8
97	vpmovsxwq	2048(%edx), %zmm6{%k7}	 # AVX512
98	vpmovsxwq	-2048(%edx), %zmm6{%k7}	 # AVX512 Disp8
99	vpmovsxwq	-2064(%edx), %zmm6{%k7}	 # AVX512
100
101	vpmovzxbd	%xmm5, %zmm6{%k7}	 # AVX512
102	vpmovzxbd	%xmm5, %zmm6{%k7}{z}	 # AVX512
103	vpmovzxbd	(%ecx), %zmm6{%k7}	 # AVX512
104	vpmovzxbd	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
105	vpmovzxbd	2032(%edx), %zmm6{%k7}	 # AVX512 Disp8
106	vpmovzxbd	2048(%edx), %zmm6{%k7}	 # AVX512
107	vpmovzxbd	-2048(%edx), %zmm6{%k7}	 # AVX512 Disp8
108	vpmovzxbd	-2064(%edx), %zmm6{%k7}	 # AVX512
109
110	vpmovzxbq	%xmm5, %zmm6{%k7}	 # AVX512
111	vpmovzxbq	%xmm5, %zmm6{%k7}{z}	 # AVX512
112	vpmovzxbq	(%ecx), %zmm6{%k7}	 # AVX512
113	vpmovzxbq	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
114	vpmovzxbq	1016(%edx), %zmm6{%k7}	 # AVX512 Disp8
115	vpmovzxbq	1024(%edx), %zmm6{%k7}	 # AVX512
116	vpmovzxbq	-1024(%edx), %zmm6{%k7}	 # AVX512 Disp8
117	vpmovzxbq	-1032(%edx), %zmm6{%k7}	 # AVX512
118
119	vpmovzxwd	%ymm5, %zmm6{%k7}	 # AVX512
120	vpmovzxwd	%ymm5, %zmm6{%k7}{z}	 # AVX512
121	vpmovzxwd	(%ecx), %zmm6{%k7}	 # AVX512
122	vpmovzxwd	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
123	vpmovzxwd	4064(%edx), %zmm6{%k7}	 # AVX512 Disp8
124	vpmovzxwd	4096(%edx), %zmm6{%k7}	 # AVX512
125	vpmovzxwd	-4096(%edx), %zmm6{%k7}	 # AVX512 Disp8
126	vpmovzxwd	-4128(%edx), %zmm6{%k7}	 # AVX512
127
128	vpmovzxwq	%xmm5, %zmm6{%k7}	 # AVX512
129	vpmovzxwq	%xmm5, %zmm6{%k7}{z}	 # AVX512
130	vpmovzxwq	(%ecx), %zmm6{%k7}	 # AVX512
131	vpmovzxwq	-123456(%esp,%esi,8), %zmm6{%k7}	 # AVX512
132	vpmovzxwq	2032(%edx), %zmm6{%k7}	 # AVX512 Disp8
133	vpmovzxwq	2048(%edx), %zmm6{%k7}	 # AVX512
134	vpmovzxwq	-2048(%edx), %zmm6{%k7}	 # AVX512 Disp8
135	vpmovzxwq	-2064(%edx), %zmm6{%k7}	 # AVX512
136
137	.intel_syntax noprefix
138	vpmovsxbd	zmm6{k7}, xmm5	 # AVX512
139	vpmovsxbd	zmm6{k7}{z}, xmm5	 # AVX512
140	vpmovsxbd	zmm6{k7}, XMMWORD PTR [ecx]	 # AVX512
141	vpmovsxbd	zmm6{k7}, XMMWORD PTR [esp+esi*8-123456]	 # AVX512
142	vpmovsxbd	zmm6{k7}, XMMWORD PTR [edx+2032]	 # AVX512 Disp8
143	vpmovsxbd	zmm6{k7}, XMMWORD PTR [edx+2048]	 # AVX512
144	vpmovsxbd	zmm6{k7}, XMMWORD PTR [edx-2048]	 # AVX512 Disp8
145	vpmovsxbd	zmm6{k7}, XMMWORD PTR [edx-2064]	 # AVX512
146
147	vpmovsxbq	zmm6{k7}, xmm5	 # AVX512
148	vpmovsxbq	zmm6{k7}{z}, xmm5	 # AVX512
149	vpmovsxbq	zmm6{k7}, QWORD PTR [ecx]	 # AVX512
150	vpmovsxbq	zmm6{k7}, QWORD PTR [esp+esi*8-123456]	 # AVX512
151	vpmovsxbq	zmm6{k7}, QWORD PTR [edx+1016]	 # AVX512 Disp8
152	vpmovsxbq	zmm6{k7}, QWORD PTR [edx+1024]	 # AVX512
153	vpmovsxbq	zmm6{k7}, QWORD PTR [edx-1024]	 # AVX512 Disp8
154	vpmovsxbq	zmm6{k7}, QWORD PTR [edx-1032]	 # AVX512
155
156	vpmovsxwd	zmm6{k7}, ymm5	 # AVX512
157	vpmovsxwd	zmm6{k7}{z}, ymm5	 # AVX512
158	vpmovsxwd	zmm6{k7}, YMMWORD PTR [ecx]	 # AVX512
159	vpmovsxwd	zmm6{k7}, YMMWORD PTR [esp+esi*8-123456]	 # AVX512
160	vpmovsxwd	zmm6{k7}, YMMWORD PTR [edx+4064]	 # AVX512 Disp8
161	vpmovsxwd	zmm6{k7}, YMMWORD PTR [edx+4096]	 # AVX512
162	vpmovsxwd	zmm6{k7}, YMMWORD PTR [edx-4096]	 # AVX512 Disp8
163	vpmovsxwd	zmm6{k7}, YMMWORD PTR [edx-4128]	 # AVX512
164
165	vpmovsxwq	zmm6{k7}, xmm5	 # AVX512
166	vpmovsxwq	zmm6{k7}{z}, xmm5	 # AVX512
167	vpmovsxwq	zmm6{k7}, XMMWORD PTR [ecx]	 # AVX512
168	vpmovsxwq	zmm6{k7}, XMMWORD PTR [esp+esi*8-123456]	 # AVX512
169	vpmovsxwq	zmm6{k7}, XMMWORD PTR [edx+2032]	 # AVX512 Disp8
170	vpmovsxwq	zmm6{k7}, XMMWORD PTR [edx+2048]	 # AVX512
171	vpmovsxwq	zmm6{k7}, XMMWORD PTR [edx-2048]	 # AVX512 Disp8
172	vpmovsxwq	zmm6{k7}, XMMWORD PTR [edx-2064]	 # AVX512
173
174	vpmovzxbd	zmm6{k7}, xmm5	 # AVX512
175	vpmovzxbd	zmm6{k7}{z}, xmm5	 # AVX512
176	vpmovzxbd	zmm6{k7}, XMMWORD PTR [ecx]	 # AVX512
177	vpmovzxbd	zmm6{k7}, XMMWORD PTR [esp+esi*8-123456]	 # AVX512
178	vpmovzxbd	zmm6{k7}, XMMWORD PTR [edx+2032]	 # AVX512 Disp8
179	vpmovzxbd	zmm6{k7}, XMMWORD PTR [edx+2048]	 # AVX512
180	vpmovzxbd	zmm6{k7}, XMMWORD PTR [edx-2048]	 # AVX512 Disp8
181	vpmovzxbd	zmm6{k7}, XMMWORD PTR [edx-2064]	 # AVX512
182
183	vpmovzxbq	zmm6{k7}, xmm5	 # AVX512
184	vpmovzxbq	zmm6{k7}{z}, xmm5	 # AVX512
185	vpmovzxbq	zmm6{k7}, QWORD PTR [ecx]	 # AVX512
186	vpmovzxbq	zmm6{k7}, QWORD PTR [esp+esi*8-123456]	 # AVX512
187	vpmovzxbq	zmm6{k7}, QWORD PTR [edx+1016]	 # AVX512 Disp8
188	vpmovzxbq	zmm6{k7}, QWORD PTR [edx+1024]	 # AVX512
189	vpmovzxbq	zmm6{k7}, QWORD PTR [edx-1024]	 # AVX512 Disp8
190	vpmovzxbq	zmm6{k7}, QWORD PTR [edx-1032]	 # AVX512
191
192	vpmovzxwd	zmm6{k7}, ymm5	 # AVX512
193	vpmovzxwd	zmm6{k7}{z}, ymm5	 # AVX512
194	vpmovzxwd	zmm6{k7}, YMMWORD PTR [ecx]	 # AVX512
195	vpmovzxwd	zmm6{k7}, YMMWORD PTR [esp+esi*8-123456]	 # AVX512
196	vpmovzxwd	zmm6{k7}, YMMWORD PTR [edx+4064]	 # AVX512 Disp8
197	vpmovzxwd	zmm6{k7}, YMMWORD PTR [edx+4096]	 # AVX512
198	vpmovzxwd	zmm6{k7}, YMMWORD PTR [edx-4096]	 # AVX512 Disp8
199	vpmovzxwd	zmm6{k7}, YMMWORD PTR [edx-4128]	 # AVX512
200
201	vpmovzxwq	zmm6{k7}, xmm5	 # AVX512
202	vpmovzxwq	zmm6{k7}{z}, xmm5	 # AVX512
203	vpmovzxwq	zmm6{k7}, XMMWORD PTR [ecx]	 # AVX512
204	vpmovzxwq	zmm6{k7}, XMMWORD PTR [esp+esi*8-123456]	 # AVX512
205	vpmovzxwq	zmm6{k7}, XMMWORD PTR [edx+2032]	 # AVX512 Disp8
206	vpmovzxwq	zmm6{k7}, XMMWORD PTR [edx+2048]	 # AVX512
207	vpmovzxwq	zmm6{k7}, XMMWORD PTR [edx-2048]	 # AVX512 Disp8
208	vpmovzxwq	zmm6{k7}, XMMWORD PTR [edx-2064]	 # AVX512
209
210