xref: /illumos-gate/usr/src/test/util-tests/tests/dis/i386/32.vbmi2.s (revision cbea7aca3fd7787405cbdbd93752998f03dfc25f)
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 VBMI2 instruction decoding.
18 */
19
20.text
21.align 16
22.globl libdis_test
23.type libdis_test, @function
24libdis_test:
25	vpshldw	$0x23, %xmm0, %xmm1, %xmm2
26	vpshldw	$0x23, %xmm2, %xmm3, %xmm4{%k1}
27	vpshldw	$0x23, %xmm7, %xmm0, %xmm1{%k2}{z}
28	vpshldw	$0x42, (%eax), %xmm4, %xmm5
29	vpshldw	$0x42, 0x23(%eax), %xmm4, %xmm5{%k3}
30	vpshldw	$0x42, 0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
31
32	vpshldw	$0x23, %ymm0, %ymm1, %ymm2
33	vpshldw	$0x23, %ymm2, %ymm3, %ymm4{%k1}
34	vpshldw	$0x23, %ymm7, %ymm0, %ymm1{%k2}{z}
35	vpshldw	$0x42, (%eax), %ymm4, %ymm5
36	vpshldw	$0x42, 0x23(%eax), %ymm4, %ymm5{%k3}
37	vpshldw	$0x42, 0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
38
39	vpshldw	$0x23, %zmm0, %zmm1, %zmm2
40	vpshldw	$0x23, %zmm2, %zmm3, %zmm4{%k1}
41	vpshldw	$0x23, %zmm7, %zmm0, %zmm1{%k2}{z}
42	vpshldw	$0x42, (%eax), %zmm4, %zmm5
43	vpshldw	$0x42, 0x23(%eax), %zmm4, %zmm5{%k3}
44	vpshldw	$0x42, 0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
45
46	vpshldd	$0x23, %xmm0, %xmm1, %xmm2
47	vpshldd	$0x23, %xmm2, %xmm3, %xmm4{%k1}
48	vpshldd	$0x23, %xmm7, %xmm0, %xmm1{%k2}{z}
49	vpshldd	$0x42, (%eax), %xmm4, %xmm5
50	vpshldd	$0x42, 0x23(%eax), %xmm4, %xmm5{%k3}
51	vpshldd	$0x42, 0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
52	vpshldd	$0x42, (%edx){1to4}, %xmm4, %xmm5
53	vpshldd	$0x42, 0x72(%edx){1to4}, %xmm4, %xmm5{%k5}
54
55	vpshldd	$0x23, %ymm0, %ymm1, %ymm2
56	vpshldd	$0x23, %ymm2, %ymm3, %ymm4{%k1}
57	vpshldd	$0x23, %ymm7, %ymm0, %ymm1{%k2}{z}
58	vpshldd	$0x42, (%eax), %ymm4, %ymm5
59	vpshldd	$0x42, 0x23(%eax), %ymm4, %ymm5{%k3}
60	vpshldd	$0x42, 0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
61	vpshldd	$0x42, (%edx){1to8}, %ymm4, %ymm5
62	vpshldd	$0x42, 0x72(%edx){1to8}, %ymm4, %ymm5{%k5}
63
64	vpshldd	$0x23, %zmm0, %zmm1, %zmm2
65	vpshldd	$0x23, %zmm2, %zmm3, %zmm4{%k1}
66	vpshldd	$0x23, %zmm7, %zmm0, %zmm1{%k2}{z}
67	vpshldd	$0x42, (%eax), %zmm4, %zmm5
68	vpshldd	$0x42, 0x23(%eax), %zmm4, %zmm5{%k3}
69	vpshldd	$0x42, 0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
70	vpshldd	$0x42, (%edx){1to16}, %zmm4, %zmm5
71	vpshldd	$0x42, 0x72(%edx){1to16}, %zmm4, %zmm5{%k5}
72
73	vpshldq	$0x23, %xmm0, %xmm1, %xmm2
74	vpshldq	$0x23, %xmm2, %xmm3, %xmm4{%k1}
75	vpshldq	$0x23, %xmm7, %xmm0, %xmm1{%k2}{z}
76	vpshldq	$0x42, (%eax), %xmm4, %xmm5
77	vpshldq	$0x42, 0x23(%eax), %xmm4, %xmm5{%k3}
78	vpshldq	$0x42, 0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
79	vpshldq	$0x42, (%edx){1to2}, %xmm4, %xmm5
80	vpshldq	$0x42, 0x72(%edx){1to2}, %xmm4, %xmm5{%k5}
81
82	vpshldq	$0x23, %ymm0, %ymm1, %ymm2
83	vpshldq	$0x23, %ymm2, %ymm3, %ymm4{%k1}
84	vpshldq	$0x23, %ymm7, %ymm0, %ymm1{%k2}{z}
85	vpshldq	$0x42, (%eax), %ymm4, %ymm5
86	vpshldq	$0x42, 0x23(%eax), %ymm4, %ymm5{%k3}
87	vpshldq	$0x42, 0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
88	vpshldq	$0x42, (%edx){1to4}, %ymm4, %ymm5
89	vpshldq	$0x42, 0x72(%edx){1to4}, %ymm4, %ymm5{%k5}
90
91	vpshldq	$0x23, %zmm0, %zmm1, %zmm2
92	vpshldq	$0x23, %zmm2, %zmm3, %zmm4{%k1}
93	vpshldq	$0x23, %zmm7, %zmm0, %zmm1{%k2}{z}
94	vpshldq	$0x42, (%eax), %zmm4, %zmm5
95	vpshldq	$0x42, 0x23(%eax), %zmm4, %zmm5{%k3}
96	vpshldq	$0x42, 0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
97	vpshldq	$0x42, (%edx){1to8}, %zmm4, %zmm5
98	vpshldq	$0x42, 0x72(%edx){1to8}, %zmm4, %zmm5{%k5}
99
100	vpshrdw	$0x23, %xmm0, %xmm1, %xmm2
101	vpshrdw	$0x23, %xmm2, %xmm3, %xmm4{%k1}
102	vpshrdw	$0x23, %xmm7, %xmm0, %xmm1{%k2}{z}
103	vpshrdw	$0x42, (%eax), %xmm4, %xmm5
104	vpshrdw	$0x42, 0x23(%eax), %xmm4, %xmm5{%k3}
105	vpshrdw	$0x42, 0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
106
107	vpshrdw	$0x23, %ymm0, %ymm1, %ymm2
108	vpshrdw	$0x23, %ymm2, %ymm3, %ymm4{%k1}
109	vpshrdw	$0x23, %ymm7, %ymm0, %ymm1{%k2}{z}
110	vpshrdw	$0x42, (%eax), %ymm4, %ymm5
111	vpshrdw	$0x42, 0x23(%eax), %ymm4, %ymm5{%k3}
112	vpshrdw	$0x42, 0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
113
114	vpshrdw	$0x23, %zmm0, %zmm1, %zmm2
115	vpshrdw	$0x23, %zmm2, %zmm3, %zmm4{%k1}
116	vpshrdw	$0x23, %zmm7, %zmm0, %zmm1{%k2}{z}
117	vpshrdw	$0x42, (%eax), %zmm4, %zmm5
118	vpshrdw	$0x42, 0x23(%eax), %zmm4, %zmm5{%k3}
119	vpshrdw	$0x42, 0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
120
121	vpshrdd	$0x23, %xmm0, %xmm1, %xmm2
122	vpshrdd	$0x23, %xmm2, %xmm3, %xmm4{%k1}
123	vpshrdd	$0x23, %xmm7, %xmm0, %xmm1{%k2}{z}
124	vpshrdd	$0x42, (%eax), %xmm4, %xmm5
125	vpshrdd	$0x42, 0x23(%eax), %xmm4, %xmm5{%k3}
126	vpshrdd	$0x42, 0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
127	vpshrdd	$0x42, (%edx){1to4}, %xmm4, %xmm5
128	vpshrdd	$0x42, 0x72(%edx){1to4}, %xmm4, %xmm5{%k5}
129
130	vpshrdd	$0x23, %ymm0, %ymm1, %ymm2
131	vpshrdd	$0x23, %ymm2, %ymm3, %ymm4{%k1}
132	vpshrdd	$0x23, %ymm7, %ymm0, %ymm1{%k2}{z}
133	vpshrdd	$0x42, (%eax), %ymm4, %ymm5
134	vpshrdd	$0x42, 0x23(%eax), %ymm4, %ymm5{%k3}
135	vpshrdd	$0x42, 0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
136	vpshrdd	$0x42, (%edx){1to8}, %ymm4, %ymm5
137	vpshrdd	$0x42, 0x72(%edx){1to8}, %ymm4, %ymm5{%k5}
138
139	vpshrdd	$0x23, %zmm0, %zmm1, %zmm2
140	vpshrdd	$0x23, %zmm2, %zmm3, %zmm4{%k1}
141	vpshrdd	$0x23, %zmm7, %zmm0, %zmm1{%k2}{z}
142	vpshrdd	$0x42, (%eax), %zmm4, %zmm5
143	vpshrdd	$0x42, 0x23(%eax), %zmm4, %zmm5{%k3}
144	vpshrdd	$0x42, 0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
145	vpshrdd	$0x42, (%edx){1to16}, %zmm4, %zmm5
146	vpshrdd	$0x42, 0x72(%edx){1to16}, %zmm4, %zmm5{%k5}
147
148	vpshrdq	$0x23, %xmm0, %xmm1, %xmm2
149	vpshrdq	$0x23, %xmm2, %xmm3, %xmm4{%k1}
150	vpshrdq	$0x23, %xmm7, %xmm0, %xmm1{%k2}{z}
151	vpshrdq	$0x42, (%eax), %xmm4, %xmm5
152	vpshrdq	$0x42, 0x23(%eax), %xmm4, %xmm5{%k3}
153	vpshrdq	$0x42, 0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
154	vpshrdq	$0x42, (%edx){1to2}, %xmm4, %xmm5
155	vpshrdq	$0x42, 0x72(%edx){1to2}, %xmm4, %xmm5{%k5}
156
157	vpshrdq	$0x23, %ymm0, %ymm1, %ymm2
158	vpshrdq	$0x23, %ymm2, %ymm3, %ymm4{%k1}
159	vpshrdq	$0x23, %ymm7, %ymm0, %ymm1{%k2}{z}
160	vpshrdq	$0x42, (%eax), %ymm4, %ymm5
161	vpshrdq	$0x42, 0x23(%eax), %ymm4, %ymm5{%k3}
162	vpshrdq	$0x42, 0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
163	vpshrdq	$0x42, (%edx){1to4}, %ymm4, %ymm5
164	vpshrdq	$0x42, 0x72(%edx){1to4}, %ymm4, %ymm5{%k5}
165
166	vpshrdq	$0x23, %zmm0, %zmm1, %zmm2
167	vpshrdq	$0x23, %zmm2, %zmm3, %zmm4{%k1}
168	vpshrdq	$0x23, %zmm7, %zmm0, %zmm1{%k2}{z}
169	vpshrdq	$0x42, (%eax), %zmm4, %zmm5
170	vpshrdq	$0x42, 0x23(%eax), %zmm4, %zmm5{%k3}
171	vpshrdq	$0x42, 0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
172	vpshrdq	$0x42, (%edx){1to8}, %zmm4, %zmm5
173	vpshrdq	$0x42, 0x72(%edx){1to8}, %zmm4, %zmm5{%k5}
174
175	vpcompressb	%xmm0, %xmm1
176	vpcompressb	%xmm1, %xmm2{%k1}
177	vpcompressb	%xmm2, %xmm3{%k2}{z}
178	vpcompressb	%xmm4, (%eax)
179	vpcompressb	%xmm5, (%eax){%k3}
180	vpcompressb	%xmm6, 0x23(%eax)
181	vpcompressb	%xmm6, 0x24(%eax)
182	vpcompressb	%xmm7, 0x42(%eax){%k3}
183
184	vpcompressb	%ymm0, %ymm1
185	vpcompressb	%ymm1, %ymm2{%k1}
186	vpcompressb	%ymm2, %ymm3{%k2}{z}
187	vpcompressb	%ymm4, (%eax)
188	vpcompressb	%ymm5, (%eax){%k3}
189	vpcompressb	%ymm6, 0x23(%eax)
190	vpcompressb	%ymm6, 0x24(%eax)
191	vpcompressb	%ymm7, 0x42(%eax){%k3}
192
193	vpcompressb	%zmm0, %zmm1
194	vpcompressb	%zmm1, %zmm2{%k1}
195	vpcompressb	%zmm2, %zmm3{%k2}{z}
196	vpcompressb	%zmm4, (%eax)
197	vpcompressb	%zmm5, (%eax){%k3}
198	vpcompressb	%zmm6, 0x23(%eax)
199	vpcompressb	%zmm6, 0x24(%eax)
200	vpcompressb	%zmm7, 0x42(%eax){%k3}
201
202	vpcompressw	%xmm0, %xmm1
203	vpcompressw	%xmm1, %xmm2{%k1}
204	vpcompressw	%xmm2, %xmm3{%k2}{z}
205	vpcompressw	%xmm4, (%eax)
206	vpcompressw	%xmm5, (%eax){%k3}
207	vpcompressw	%xmm6, 0x23(%eax)
208	vpcompressw	%xmm6, 0x24(%eax)
209	vpcompressw	%xmm7, 0x42(%eax){%k3}
210
211	vpcompressw	%ymm0, %ymm1
212	vpcompressw	%ymm1, %ymm2{%k1}
213	vpcompressw	%ymm2, %ymm3{%k2}{z}
214	vpcompressw	%ymm4, (%eax)
215	vpcompressw	%ymm5, (%eax){%k3}
216	vpcompressw	%ymm6, 0x23(%eax)
217	vpcompressw	%ymm6, 0x24(%eax)
218	vpcompressw	%ymm7, 0x42(%eax){%k3}
219
220	vpcompressw	%zmm0, %zmm1
221	vpcompressw	%zmm1, %zmm2{%k1}
222	vpcompressw	%zmm2, %zmm3{%k2}{z}
223	vpcompressw	%zmm4, (%eax)
224	vpcompressw	%zmm5, (%eax){%k3}
225	vpcompressw	%zmm6, 0x23(%eax)
226	vpcompressw	%zmm6, 0x24(%eax)
227	vpcompressw	%zmm7, 0x42(%eax){%k3}
228
229	vpexpandb	%xmm0, %xmm1
230	vpexpandb	%xmm1, %xmm2{%k1}
231	vpexpandb	%xmm2, %xmm3{%k2}{z}
232	vpexpandb	(%eax), %xmm4
233	vpexpandb	(%eax), %xmm5{%k3}
234	vpexpandb	0x23(%eax), %xmm6
235	vpexpandb	0x24(%eax), %xmm6
236	vpexpandb	0x42(%eax), %xmm7{%k3}{z}
237
238	vpexpandb	%ymm0, %ymm1
239	vpexpandb	%ymm1, %ymm2{%k1}
240	vpexpandb	%ymm2, %ymm3{%k2}{z}
241	vpexpandb	(%eax), %ymm4
242	vpexpandb	(%eax), %ymm5{%k3}
243	vpexpandb	0x23(%eax), %ymm6
244	vpexpandb	0x24(%eax), %ymm6
245	vpexpandb	0x42(%eax), %ymm7{%k3}{z}
246
247	vpexpandb	%zmm0, %zmm1
248	vpexpandb	%zmm1, %zmm2{%k1}
249	vpexpandb	%zmm2, %zmm3{%k2}{z}
250	vpexpandb	(%eax), %zmm4
251	vpexpandb	(%eax), %zmm5{%k3}
252	vpexpandb	0x23(%eax), %zmm6
253	vpexpandb	0x24(%eax), %zmm6
254	vpexpandb	0x42(%eax), %zmm7{%k3}{z}
255
256	vpshldvw	%xmm0, %xmm1, %xmm2
257	vpshldvw	%xmm2, %xmm3, %xmm4{%k1}
258	vpshldvw	%xmm7, %xmm0, %xmm1{%k2}{z}
259	vpshldvw	(%eax), %xmm4, %xmm5
260	vpshldvw	0x23(%eax), %xmm4, %xmm5{%k3}
261	vpshldvw	0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
262
263	vpshldvw	%ymm0, %ymm1, %ymm2
264	vpshldvw	%ymm2, %ymm3, %ymm4{%k1}
265	vpshldvw	%ymm7, %ymm0, %ymm1{%k2}{z}
266	vpshldvw	(%eax), %ymm4, %ymm5
267	vpshldvw	0x23(%eax), %ymm4, %ymm5{%k3}
268	vpshldvw	0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
269
270	vpshldvw	%zmm0, %zmm1, %zmm2
271	vpshldvw	%zmm2, %zmm3, %zmm4{%k1}
272	vpshldvw	%zmm7, %zmm0, %zmm1{%k2}{z}
273	vpshldvw	(%eax), %zmm4, %zmm5
274	vpshldvw	0x23(%eax), %zmm4, %zmm5{%k3}
275	vpshldvw	0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
276
277	vpshldvd	%xmm0, %xmm1, %xmm2
278	vpshldvd	%xmm2, %xmm3, %xmm4{%k1}
279	vpshldvd	%xmm7, %xmm0, %xmm1{%k2}{z}
280	vpshldvd	(%eax), %xmm4, %xmm5
281	vpshldvd	0x23(%eax), %xmm4, %xmm5{%k3}
282	vpshldvd	0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
283	vpshldvd	(%edx){1to4}, %xmm4, %xmm5
284	vpshldvd	0x72(%edx){1to4}, %xmm4, %xmm5{%k5}
285
286	vpshldvd	%ymm0, %ymm1, %ymm2
287	vpshldvd	%ymm2, %ymm3, %ymm4{%k1}
288	vpshldvd	%ymm7, %ymm0, %ymm1{%k2}{z}
289	vpshldvd	(%eax), %ymm4, %ymm5
290	vpshldvd	0x23(%eax), %ymm4, %ymm5{%k3}
291	vpshldvd	0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
292	vpshldvd	(%edx){1to8}, %ymm4, %ymm5
293	vpshldvd	0x72(%edx){1to8}, %ymm4, %ymm5{%k5}
294
295	vpshldvd	%zmm0, %zmm1, %zmm2
296	vpshldvd	%zmm2, %zmm3, %zmm4{%k1}
297	vpshldvd	%zmm7, %zmm0, %zmm1{%k2}{z}
298	vpshldvd	(%eax), %zmm4, %zmm5
299	vpshldvd	0x23(%eax), %zmm4, %zmm5{%k3}
300	vpshldvd	0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
301	vpshldvd	(%edx){1to16}, %zmm4, %zmm5
302	vpshldvd	0x72(%edx){1to16}, %zmm4, %zmm5{%k5}
303
304	vpshldvq	%xmm0, %xmm1, %xmm2
305	vpshldvq	%xmm2, %xmm3, %xmm4{%k1}
306	vpshldvq	%xmm7, %xmm0, %xmm1{%k2}{z}
307	vpshldvq	(%eax), %xmm4, %xmm5
308	vpshldvq	0x23(%eax), %xmm4, %xmm5{%k3}
309	vpshldvq	0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
310	vpshldvq	(%edx){1to2}, %xmm4, %xmm5
311	vpshldvq	0x72(%edx){1to2}, %xmm4, %xmm5{%k5}
312
313	vpshldvq	%ymm0, %ymm1, %ymm2
314	vpshldvq	%ymm2, %ymm3, %ymm4{%k1}
315	vpshldvq	%ymm7, %ymm0, %ymm1{%k2}{z}
316	vpshldvq	(%eax), %ymm4, %ymm5
317	vpshldvq	0x23(%eax), %ymm4, %ymm5{%k3}
318	vpshldvq	0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
319	vpshldvq	(%edx){1to4}, %ymm4, %ymm5
320	vpshldvq	0x72(%edx){1to4}, %ymm4, %ymm5{%k5}
321
322	vpshldvq	%zmm0, %zmm1, %zmm2
323	vpshldvq	%zmm2, %zmm3, %zmm4{%k1}
324	vpshldvq	%zmm7, %zmm0, %zmm1{%k2}{z}
325	vpshldvq	(%eax), %zmm4, %zmm5
326	vpshldvq	0x23(%eax), %zmm4, %zmm5{%k3}
327	vpshldvq	0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
328	vpshldvq	(%edx){1to8}, %zmm4, %zmm5
329	vpshldvq	0x72(%edx){1to8}, %zmm4, %zmm5{%k5}
330
331	vpshrdvw	%xmm0, %xmm1, %xmm2
332	vpshrdvw	%xmm2, %xmm3, %xmm4{%k1}
333	vpshrdvw	%xmm7, %xmm0, %xmm1{%k2}{z}
334	vpshrdvw	(%eax), %xmm4, %xmm5
335	vpshrdvw	0x23(%eax), %xmm4, %xmm5{%k3}
336	vpshrdvw	0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
337
338	vpshrdvw	%ymm0, %ymm1, %ymm2
339	vpshrdvw	%ymm2, %ymm3, %ymm4{%k1}
340	vpshrdvw	%ymm7, %ymm0, %ymm1{%k2}{z}
341	vpshrdvw	(%eax), %ymm4, %ymm5
342	vpshrdvw	0x23(%eax), %ymm4, %ymm5{%k3}
343	vpshrdvw	0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
344
345	vpshrdvw	%zmm0, %zmm1, %zmm2
346	vpshrdvw	%zmm2, %zmm3, %zmm4{%k1}
347	vpshrdvw	%zmm7, %zmm0, %zmm1{%k2}{z}
348	vpshrdvw	(%eax), %zmm4, %zmm5
349	vpshrdvw	0x23(%eax), %zmm4, %zmm5{%k3}
350	vpshrdvw	0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
351
352	vpshrdvd	%xmm0, %xmm1, %xmm2
353	vpshrdvd	%xmm2, %xmm3, %xmm4{%k1}
354	vpshrdvd	%xmm7, %xmm0, %xmm1{%k2}{z}
355	vpshrdvd	(%eax), %xmm4, %xmm5
356	vpshrdvd	0x23(%eax), %xmm4, %xmm5{%k3}
357	vpshrdvd	0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
358	vpshrdvd	(%edx){1to4}, %xmm4, %xmm5
359	vpshrdvd	0x72(%edx){1to4}, %xmm4, %xmm5{%k5}
360
361	vpshrdvd	%ymm0, %ymm1, %ymm2
362	vpshrdvd	%ymm2, %ymm3, %ymm4{%k1}
363	vpshrdvd	%ymm7, %ymm0, %ymm1{%k2}{z}
364	vpshrdvd	(%eax), %ymm4, %ymm5
365	vpshrdvd	0x23(%eax), %ymm4, %ymm5{%k3}
366	vpshrdvd	0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
367	vpshrdvd	(%edx){1to8}, %ymm4, %ymm5
368	vpshrdvd	0x72(%edx){1to8}, %ymm4, %ymm5{%k5}
369
370	vpshrdvd	%zmm0, %zmm1, %zmm2
371	vpshrdvd	%zmm2, %zmm3, %zmm4{%k1}
372	vpshrdvd	%zmm7, %zmm0, %zmm1{%k2}{z}
373	vpshrdvd	(%eax), %zmm4, %zmm5
374	vpshrdvd	0x23(%eax), %zmm4, %zmm5{%k3}
375	vpshrdvd	0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
376	vpshrdvd	(%edx){1to16}, %zmm4, %zmm5
377	vpshrdvd	0x72(%edx){1to16}, %zmm4, %zmm5{%k5}
378
379	vpshrdvq	%xmm0, %xmm1, %xmm2
380	vpshrdvq	%xmm2, %xmm3, %xmm4{%k1}
381	vpshrdvq	%xmm7, %xmm0, %xmm1{%k2}{z}
382	vpshrdvq	(%eax), %xmm4, %xmm5
383	vpshrdvq	0x23(%eax), %xmm4, %xmm5{%k3}
384	vpshrdvq	0x23(%ebx, %ecx, 4), %xmm4, %xmm5{%k4}{z}
385	vpshrdvq	(%edx){1to2}, %xmm4, %xmm5
386	vpshrdvq	0x72(%edx){1to2}, %xmm4, %xmm5{%k5}
387
388	vpshrdvq	%ymm0, %ymm1, %ymm2
389	vpshrdvq	%ymm2, %ymm3, %ymm4{%k1}
390	vpshrdvq	%ymm7, %ymm0, %ymm1{%k2}{z}
391	vpshrdvq	(%eax), %ymm4, %ymm5
392	vpshrdvq	0x23(%eax), %ymm4, %ymm5{%k3}
393	vpshrdvq	0x23(%ebx, %ecx, 4), %ymm4, %ymm5{%k4}{z}
394	vpshrdvq	(%edx){1to4}, %ymm4, %ymm5
395	vpshrdvq	0x80(%edx){1to4}, %ymm4, %ymm5{%k5}
396
397	vpshrdvq	%zmm0, %zmm1, %zmm2
398	vpshrdvq	%zmm2, %zmm3, %zmm4{%k1}
399	vpshrdvq	%zmm7, %zmm0, %zmm1{%k2}{z}
400	vpshrdvq	(%eax), %zmm4, %zmm5
401	vpshrdvq	0x23(%eax), %zmm4, %zmm5{%k3}
402	vpshrdvq	0x23(%ebx, %ecx, 4), %zmm4, %zmm5{%k4}{z}
403	vpshrdvq	(%edx){1to8}, %zmm4, %zmm5
404	vpshrdvq	0x72(%edx){1to8}, %zmm4, %zmm5{%k5}
405.size libdis_test, [.-libdis_test]
406