1/*
2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
5 * 1.0 of the CDDL.
6 *
7 * A full copy of the text of the CDDL should have accompanied this
8 * source.  A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
10 */
11
12/*
13 * Copyright 2024 Oxide Computer Company
14 */
15
16/*
17 * AVX-512 VBMI instruction decoding. This also has tests for some of the vperm
18 * variants that are part of AVX512VL.
19 */
20
21.text
22.align 16
23.globl libdis_test
24.type libdis_test, @function
25libdis_test:
26	vpermb	%xmm0, %xmm1, %xmm2
27	vpermb	%xmm7, %xmm4, %xmm5{%k1}
28	vpermb	%xmm2, %xmm4, %xmm3{%k2}{z}
29	vpermb	(%eax), %xmm1, %xmm2
30	vpermb	0x10(%eax), %xmm4, %xmm5{%k1}
31	vpermb	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
32	vpermb	(%eax,%ebx,4), %xmm1, %xmm2
33	vpermb	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
34
35	vpermb	%ymm0, %ymm1, %ymm2
36	vpermb	%ymm7, %ymm4, %ymm5{%k1}
37	vpermb	%ymm2, %ymm4, %ymm3{%k2}{z}
38	vpermb	(%eax), %ymm1, %ymm2
39	vpermb	0x10(%eax), %ymm4, %ymm5{%k1}
40	vpermb	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
41	vpermb	(%eax,%ebx,4), %ymm1, %ymm2
42	vpermb	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
43
44	vpermb	%zmm0, %zmm1, %zmm2
45	vpermb	%zmm7, %zmm4, %zmm5{%k1}
46	vpermb	%zmm2, %zmm4, %zmm3{%k2}{z}
47	vpermb	(%eax), %zmm1, %zmm2
48	vpermb	0x10(%eax), %zmm4, %zmm5{%k1}
49	vpermb	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
50	vpermb	(%eax,%ebx,4), %zmm1, %zmm2
51	vpermb	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
52
53	vpermw	%xmm0, %xmm1, %xmm2
54	vpermw	%xmm7, %xmm4, %xmm5{%k1}
55	vpermw	%xmm2, %xmm4, %xmm3{%k2}{z}
56	vpermw	(%eax), %xmm1, %xmm2
57	vpermw	0x10(%eax), %xmm4, %xmm5{%k1}
58	vpermw	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
59	vpermw	(%eax,%ebx,4), %xmm1, %xmm2
60	vpermw	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
61
62	vpermw	%ymm0, %ymm1, %ymm2
63	vpermw	%ymm7, %ymm4, %ymm5{%k1}
64	vpermw	%ymm2, %ymm4, %ymm3{%k2}{z}
65	vpermw	(%eax), %ymm1, %ymm2
66	vpermw	0x10(%eax), %ymm4, %ymm5{%k1}
67	vpermw	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
68	vpermw	(%eax,%ebx,4), %ymm1, %ymm2
69	vpermw	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
70
71	vpermw	%zmm0, %zmm1, %zmm2
72	vpermw	%zmm7, %zmm4, %zmm5{%k1}
73	vpermw	%zmm2, %zmm4, %zmm3{%k2}{z}
74	vpermw	(%eax), %zmm1, %zmm2
75	vpermw	0x10(%eax), %zmm4, %zmm5{%k1}
76	vpermw	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
77	vpermw	(%eax,%ebx,4), %zmm1, %zmm2
78	vpermw	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
79
80	vpermi2b	%xmm0, %xmm1, %xmm2
81	vpermi2b	%xmm7, %xmm4, %xmm5{%k1}
82	vpermi2b	%xmm2, %xmm4, %xmm3{%k2}{z}
83	vpermi2b	(%eax), %xmm1, %xmm2
84	vpermi2b	0x10(%eax), %xmm4, %xmm5{%k1}
85	vpermi2b	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
86	vpermi2b	(%eax,%ebx,4), %xmm1, %xmm2
87	vpermi2b	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
88
89	vpermi2b	%ymm0, %ymm1, %ymm2
90	vpermi2b	%ymm7, %ymm4, %ymm5{%k1}
91	vpermi2b	%ymm2, %ymm4, %ymm3{%k2}{z}
92	vpermi2b	(%eax), %ymm1, %ymm2
93	vpermi2b	0x10(%eax), %ymm4, %ymm5{%k1}
94	vpermi2b	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
95	vpermi2b	(%eax,%ebx,4), %ymm1, %ymm2
96	vpermi2b	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
97
98	vpermi2b	%zmm0, %zmm1, %zmm2
99	vpermi2b	%zmm7, %zmm4, %zmm5{%k1}
100	vpermi2b	%zmm2, %zmm4, %zmm3{%k2}{z}
101	vpermi2b	(%eax), %zmm1, %zmm2
102	vpermi2b	0x10(%eax), %zmm4, %zmm5{%k1}
103	vpermi2b	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
104	vpermi2b	(%eax,%ebx,4), %zmm1, %zmm2
105	vpermi2b	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
106
107	vpermi2w	%xmm0, %xmm1, %xmm2
108	vpermi2w	%xmm7, %xmm4, %xmm5{%k1}
109	vpermi2w	%xmm2, %xmm4, %xmm3{%k2}{z}
110	vpermi2w	(%eax), %xmm1, %xmm2
111	vpermi2w	0x10(%eax), %xmm4, %xmm5{%k1}
112	vpermi2w	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
113	vpermi2w	(%eax,%ebx,4), %xmm1, %xmm2
114	vpermi2w	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
115
116	vpermi2w	%ymm0, %ymm1, %ymm2
117	vpermi2w	%ymm7, %ymm4, %ymm5{%k1}
118	vpermi2w	%ymm2, %ymm4, %ymm3{%k2}{z}
119	vpermi2w	(%eax), %ymm1, %ymm2
120	vpermi2w	0x10(%eax), %ymm4, %ymm5{%k1}
121	vpermi2w	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
122	vpermi2w	(%eax,%ebx,4), %ymm1, %ymm2
123	vpermi2w	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
124
125	vpermi2w	%zmm0, %zmm1, %zmm2
126	vpermi2w	%zmm7, %zmm4, %zmm5{%k1}
127	vpermi2w	%zmm2, %zmm4, %zmm3{%k2}{z}
128	vpermi2w	(%eax), %zmm1, %zmm2
129	vpermi2w	0x10(%eax), %zmm4, %zmm5{%k1}
130	vpermi2w	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
131	vpermi2w	(%eax,%ebx,4), %zmm1, %zmm2
132	vpermi2w	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
133
134	vpermi2d	%xmm0, %xmm1, %xmm2
135	vpermi2d	%xmm7, %xmm4, %xmm5{%k1}
136	vpermi2d	%xmm2, %xmm4, %xmm3{%k2}{z}
137	vpermi2d	(%eax), %xmm1, %xmm2
138	vpermi2d	0x10(%eax), %xmm4, %xmm5{%k1}
139	vpermi2d	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
140	vpermi2d	(%eax,%ebx,4), %xmm1, %xmm2
141	vpermi2d	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
142	vpermi2d	(%edx){1to4}, %xmm4, %xmm5
143	vpermi2d	0x73(%edx){1to4}, %xmm4, %xmm5{%k4}
144	vpermi2d	-0x8(%edx){1to4}, %xmm0, %xmm1{%k4}{z}
145
146	vpermi2d	%ymm0, %ymm1, %ymm2
147	vpermi2d	%ymm7, %ymm4, %ymm5{%k1}
148	vpermi2d	%ymm2, %ymm4, %ymm3{%k2}{z}
149	vpermi2d	(%eax), %ymm1, %ymm2
150	vpermi2d	0x10(%eax), %ymm4, %ymm5{%k1}
151	vpermi2d	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
152	vpermi2d	(%eax,%ebx,4), %ymm1, %ymm2
153	vpermi2d	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
154	vpermi2d	(%edx){1to8}, %ymm4, %ymm5
155	vpermi2d	0x73(%edx){1to8}, %ymm4, %ymm5{%k4}
156	vpermi2d	-0x8(%edx){1to8}, %ymm0, %ymm1{%k4}{z}
157
158	vpermi2d	%zmm0, %zmm1, %zmm2
159	vpermi2d	%zmm7, %zmm4, %zmm5{%k1}
160	vpermi2d	%zmm2, %zmm4, %zmm3{%k2}{z}
161	vpermi2d	(%eax), %zmm1, %zmm2
162	vpermi2d	0x10(%eax), %zmm4, %zmm5{%k1}
163	vpermi2d	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
164	vpermi2d	(%eax,%ebx,4), %zmm1, %zmm2
165	vpermi2d	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
166	vpermi2d	(%edx){1to16}, %zmm4, %zmm5
167	vpermi2d	0x73(%edx){1to16}, %zmm4, %zmm5{%k4}
168	vpermi2d	-0x8(%edx){1to16}, %zmm0, %zmm1{%k4}{z}
169
170	vpermi2q	%xmm0, %xmm1, %xmm2
171	vpermi2q	%xmm7, %xmm4, %xmm5{%k1}
172	vpermi2q	%xmm2, %xmm4, %xmm3{%k2}{z}
173	vpermi2q	(%eax), %xmm1, %xmm2
174	vpermi2q	0x10(%eax), %xmm4, %xmm5{%k1}
175	vpermi2q	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
176	vpermi2q	(%eax,%ebx,4), %xmm1, %xmm2
177	vpermi2q	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
178	vpermi2q	(%edx){1to2}, %xmm4, %xmm5
179	vpermi2q	0x73(%edx){1to2}, %xmm4, %xmm5{%k4}
180	vpermi2q	-0x8(%edx){1to2}, %xmm0, %xmm1{%k4}{z}
181
182	vpermi2q	%ymm0, %ymm1, %ymm2
183	vpermi2q	%ymm7, %ymm4, %ymm5{%k1}
184	vpermi2q	%ymm2, %ymm4, %ymm3{%k2}{z}
185	vpermi2q	(%eax), %ymm1, %ymm2
186	vpermi2q	0x10(%eax), %ymm4, %ymm5{%k1}
187	vpermi2q	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
188	vpermi2q	(%eax,%ebx,4), %ymm1, %ymm2
189	vpermi2q	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
190	vpermi2q	(%edx){1to4}, %ymm4, %ymm5
191	vpermi2q	0x73(%edx){1to4}, %ymm4, %ymm5{%k4}
192	vpermi2q	-0x8(%edx){1to4}, %ymm0, %ymm1{%k4}{z}
193
194	vpermi2q	%zmm0, %zmm1, %zmm2
195	vpermi2q	%zmm7, %zmm4, %zmm5{%k1}
196	vpermi2q	%zmm2, %zmm4, %zmm3{%k2}{z}
197	vpermi2q	(%eax), %zmm1, %zmm2
198	vpermi2q	0x10(%eax), %zmm4, %zmm5{%k1}
199	vpermi2q	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
200	vpermi2q	(%eax,%ebx,4), %zmm1, %zmm2
201	vpermi2q	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
202	vpermi2q	(%edx){1to8}, %zmm4, %zmm5
203	vpermi2q	0x73(%edx){1to8}, %zmm4, %zmm5{%k4}
204	vpermi2q	-0x8(%edx){1to8}, %zmm0, %zmm1{%k4}{z}
205
206	vpermt2b	%xmm0, %xmm1, %xmm2
207	vpermt2b	%xmm7, %xmm4, %xmm5{%k1}
208	vpermt2b	%xmm2, %xmm4, %xmm3{%k2}{z}
209	vpermt2b	(%eax), %xmm1, %xmm2
210	vpermt2b	0x10(%eax), %xmm4, %xmm5{%k1}
211	vpermt2b	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
212	vpermt2b	(%eax,%ebx,4), %xmm1, %xmm2
213	vpermt2b	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
214
215	vpermt2b	%ymm0, %ymm1, %ymm2
216	vpermt2b	%ymm7, %ymm4, %ymm5{%k1}
217	vpermt2b	%ymm2, %ymm4, %ymm3{%k2}{z}
218	vpermt2b	(%eax), %ymm1, %ymm2
219	vpermt2b	0x10(%eax), %ymm4, %ymm5{%k1}
220	vpermt2b	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
221	vpermt2b	(%eax,%ebx,4), %ymm1, %ymm2
222	vpermt2b	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
223
224	vpermt2b	%zmm0, %zmm1, %zmm2
225	vpermt2b	%zmm7, %zmm4, %zmm5{%k1}
226	vpermt2b	%zmm2, %zmm4, %zmm3{%k2}{z}
227	vpermt2b	(%eax), %zmm1, %zmm2
228	vpermt2b	0x10(%eax), %zmm4, %zmm5{%k1}
229	vpermt2b	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
230	vpermt2b	(%eax,%ebx,4), %zmm1, %zmm2
231	vpermt2b	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
232
233	vpermt2w	%xmm0, %xmm1, %xmm2
234	vpermt2w	%xmm7, %xmm4, %xmm5{%k1}
235	vpermt2w	%xmm2, %xmm4, %xmm3{%k2}{z}
236	vpermt2w	(%eax), %xmm1, %xmm2
237	vpermt2w	0x10(%eax), %xmm4, %xmm5{%k1}
238	vpermt2w	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
239	vpermt2w	(%eax,%ebx,4), %xmm1, %xmm2
240	vpermt2w	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
241
242	vpermt2w	%ymm0, %ymm1, %ymm2
243	vpermt2w	%ymm7, %ymm4, %ymm5{%k1}
244	vpermt2w	%ymm2, %ymm4, %ymm3{%k2}{z}
245	vpermt2w	(%eax), %ymm1, %ymm2
246	vpermt2w	0x10(%eax), %ymm4, %ymm5{%k1}
247	vpermt2w	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
248	vpermt2w	(%eax,%ebx,4), %ymm1, %ymm2
249	vpermt2w	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
250
251	vpermt2w	%zmm0, %zmm1, %zmm2
252	vpermt2w	%zmm7, %zmm4, %zmm5{%k1}
253	vpermt2w	%zmm2, %zmm4, %zmm3{%k2}{z}
254	vpermt2w	(%eax), %zmm1, %zmm2
255	vpermt2w	0x10(%eax), %zmm4, %zmm5{%k1}
256	vpermt2w	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
257	vpermt2w	(%eax,%ebx,4), %zmm1, %zmm2
258	vpermt2w	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
259
260	vpermt2d	%xmm0, %xmm1, %xmm2
261	vpermt2d	%xmm7, %xmm4, %xmm5{%k1}
262	vpermt2d	%xmm2, %xmm4, %xmm3{%k2}{z}
263	vpermt2d	(%eax), %xmm1, %xmm2
264	vpermt2d	0x10(%eax), %xmm4, %xmm5{%k1}
265	vpermt2d	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
266	vpermt2d	(%eax,%ebx,4), %xmm1, %xmm2
267	vpermt2d	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
268	vpermt2d	(%edx){1to4}, %xmm4, %xmm5
269	vpermt2d	0x73(%edx){1to4}, %xmm4, %xmm5{%k4}
270	vpermt2d	-0x8(%edx){1to4}, %xmm0, %xmm1{%k4}{z}
271
272	vpermt2d	%ymm0, %ymm1, %ymm2
273	vpermt2d	%ymm7, %ymm4, %ymm5{%k1}
274	vpermt2d	%ymm2, %ymm4, %ymm3{%k2}{z}
275	vpermt2d	(%eax), %ymm1, %ymm2
276	vpermt2d	0x10(%eax), %ymm4, %ymm5{%k1}
277	vpermt2d	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
278	vpermt2d	(%eax,%ebx,4), %ymm1, %ymm2
279	vpermt2d	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
280	vpermt2d	(%edx){1to8}, %ymm4, %ymm5
281	vpermt2d	0x73(%edx){1to8}, %ymm4, %ymm5{%k4}
282	vpermt2d	-0x8(%edx){1to8}, %ymm0, %ymm1{%k4}{z}
283
284	vpermt2d	%zmm0, %zmm1, %zmm2
285	vpermt2d	%zmm7, %zmm4, %zmm5{%k1}
286	vpermt2d	%zmm2, %zmm4, %zmm3{%k2}{z}
287	vpermt2d	(%eax), %zmm1, %zmm2
288	vpermt2d	0x10(%eax), %zmm4, %zmm5{%k1}
289	vpermt2d	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
290	vpermt2d	(%eax,%ebx,4), %zmm1, %zmm2
291	vpermt2d	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
292	vpermt2d	(%edx){1to16}, %zmm4, %zmm5
293	vpermt2d	0x73(%edx){1to16}, %zmm4, %zmm5{%k4}
294	vpermt2d	-0x8(%edx){1to16}, %zmm0, %zmm1{%k4}{z}
295
296	vpermt2q	%xmm0, %xmm1, %xmm2
297	vpermt2q	%xmm7, %xmm4, %xmm5{%k1}
298	vpermt2q	%xmm2, %xmm4, %xmm3{%k2}{z}
299	vpermt2q	(%eax), %xmm1, %xmm2
300	vpermt2q	0x10(%eax), %xmm4, %xmm5{%k1}
301	vpermt2q	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
302	vpermt2q	(%eax,%ebx,4), %xmm1, %xmm2
303	vpermt2q	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
304	vpermt2q	(%edx){1to2}, %xmm4, %xmm5
305	vpermt2q	0x73(%edx){1to2}, %xmm4, %xmm5{%k4}
306	vpermt2q	-0x8(%edx){1to2}, %xmm0, %xmm1{%k4}{z}
307
308	vpermt2q	%ymm0, %ymm1, %ymm2
309	vpermt2q	%ymm7, %ymm4, %ymm5{%k1}
310	vpermt2q	%ymm2, %ymm4, %ymm3{%k2}{z}
311	vpermt2q	(%eax), %ymm1, %ymm2
312	vpermt2q	0x10(%eax), %ymm4, %ymm5{%k1}
313	vpermt2q	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
314	vpermt2q	(%eax,%ebx,4), %ymm1, %ymm2
315	vpermt2q	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
316	vpermt2q	(%edx){1to4}, %ymm4, %ymm5
317	vpermt2q	0x73(%edx){1to4}, %ymm4, %ymm5{%k4}
318	vpermt2q	-0x8(%edx){1to4}, %ymm0, %ymm1{%k4}{z}
319
320	vpermt2q	%zmm0, %zmm1, %zmm2
321	vpermt2q	%zmm7, %zmm4, %zmm5{%k1}
322	vpermt2q	%zmm2, %zmm4, %zmm3{%k2}{z}
323	vpermt2q	(%eax), %zmm1, %zmm2
324	vpermt2q	0x10(%eax), %zmm4, %zmm5{%k1}
325	vpermt2q	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
326	vpermt2q	(%eax,%ebx,4), %zmm1, %zmm2
327	vpermt2q	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
328	vpermt2q	(%edx){1to8}, %zmm4, %zmm5
329	vpermt2q	0x73(%edx){1to8}, %zmm4, %zmm5{%k4}
330	vpermt2q	-0x8(%edx){1to8}, %zmm0, %zmm1{%k4}{z}
331
332	vpmultishiftqb	%xmm0, %xmm1, %xmm2
333	vpmultishiftqb	%xmm7, %xmm4, %xmm5{%k1}
334	vpmultishiftqb	%xmm2, %xmm4, %xmm3{%k2}{z}
335	vpmultishiftqb	(%eax), %xmm1, %xmm2
336	vpmultishiftqb	0x10(%eax), %xmm4, %xmm5{%k1}
337	vpmultishiftqb	0x12345(%eax), %xmm4, %xmm3{%k2}{z}
338	vpmultishiftqb	(%eax,%ebx,4), %xmm1, %xmm2
339	vpmultishiftqb	0x14(%eax,%ecx,8), %xmm4, %xmm5{%k1}
340	vpmultishiftqb	(%edx){1to2}, %xmm4, %xmm5
341	vpmultishiftqb	0x73(%edx){1to2}, %xmm4, %xmm5{%k4}
342	vpmultishiftqb	-0x8(%edx){1to2}, %xmm0, %xmm1{%k4}{z}
343
344	vpmultishiftqb	%ymm0, %ymm1, %ymm2
345	vpmultishiftqb	%ymm7, %ymm4, %ymm5{%k1}
346	vpmultishiftqb	%ymm2, %ymm4, %ymm3{%k2}{z}
347	vpmultishiftqb	(%eax), %ymm1, %ymm2
348	vpmultishiftqb	0x10(%eax), %ymm4, %ymm5{%k1}
349	vpmultishiftqb	0x12345(%eax), %ymm4, %ymm3{%k2}{z}
350	vpmultishiftqb	(%eax,%ebx,4), %ymm1, %ymm2
351	vpmultishiftqb	0x14(%eax,%ecx,8), %ymm4, %ymm5{%k1}
352	vpmultishiftqb	(%edx){1to4}, %ymm4, %ymm5
353	vpmultishiftqb	0x73(%edx){1to4}, %ymm4, %ymm5{%k4}
354	vpmultishiftqb	-0x8(%edx){1to4}, %ymm0, %ymm1{%k4}{z}
355
356	vpmultishiftqb	%zmm0, %zmm1, %zmm2
357	vpmultishiftqb	%zmm7, %zmm4, %zmm5{%k1}
358	vpmultishiftqb	%zmm2, %zmm4, %zmm3{%k2}{z}
359	vpmultishiftqb	(%eax), %zmm1, %zmm2
360	vpmultishiftqb	0x10(%eax), %zmm4, %zmm5{%k1}
361	vpmultishiftqb	0x12345(%eax), %zmm4, %zmm3{%k2}{z}
362	vpmultishiftqb	(%eax,%ebx,4), %zmm1, %zmm2
363	vpmultishiftqb	0x14(%eax,%ecx,8), %zmm4, %zmm5{%k1}
364	vpmultishiftqb	(%edx){1to8}, %zmm4, %zmm5
365	vpmultishiftqb	0x73(%edx){1to8}, %zmm4, %zmm5{%k4}
366	vpmultishiftqb	-0x8(%edx){1to8}, %zmm0, %zmm1{%k4}{z}
367.size libdis_test, [.-libdis_test]
368