1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
3
4vpabsb            %xmm16, %xmm19
5vpabsb            (%rax), %xmm19
6vpabsb            %xmm16, %xmm19 {k1}
7vpabsb            (%rax), %xmm19 {k1}
8vpabsb            %xmm16, %xmm19 {z}{k1}
9vpabsb            (%rax), %xmm19 {z}{k1}
10
11vpabsb            %ymm16, %ymm19
12vpabsb            (%rax), %ymm19
13vpabsb            %ymm16, %ymm19 {k1}
14vpabsb            (%rax), %ymm19 {k1}
15vpabsb            %ymm16, %ymm19 {z}{k1}
16vpabsb            (%rax), %ymm19 {z}{k1}
17
18vpabsw            %xmm16, %xmm19
19vpabsw            (%rax), %xmm19
20vpabsw            %xmm16, %xmm19 {k1}
21vpabsw            (%rax), %xmm19 {k1}
22vpabsw            %xmm16, %xmm19 {z}{k1}
23vpabsw            (%rax), %xmm19 {z}{k1}
24
25vpabsw            %ymm16, %ymm19
26vpabsw            (%rax), %ymm19
27vpabsw            %ymm16, %ymm19 {k1}
28vpabsw            (%rax), %ymm19 {k1}
29vpabsw            %ymm16, %ymm19 {z}{k1}
30vpabsw            (%rax), %ymm19 {z}{k1}
31
32vpaddb            %xmm16, %xmm17, %xmm19
33vpaddb            (%rax), %xmm17, %xmm19
34vpaddb            %xmm16, %xmm17, %xmm19 {k1}
35vpaddb            (%rax), %xmm17, %xmm19 {k1}
36vpaddb            %xmm16, %xmm17, %xmm19 {z}{k1}
37vpaddb            (%rax), %xmm17, %xmm19 {z}{k1}
38
39vpaddb            %ymm16, %ymm17, %ymm19
40vpaddb            (%rax), %ymm17, %ymm19
41vpaddb            %ymm16, %ymm17, %ymm19 {k1}
42vpaddb            (%rax), %ymm17, %ymm19 {k1}
43vpaddb            %ymm16, %ymm17, %ymm19 {z}{k1}
44vpaddb            (%rax), %ymm17, %ymm19 {z}{k1}
45
46vpaddw            %xmm16, %xmm17, %xmm19
47vpaddw            (%rax), %xmm17, %xmm19
48vpaddw            %xmm16, %xmm17, %xmm19 {k1}
49vpaddw            (%rax), %xmm17, %xmm19 {k1}
50vpaddw            %xmm16, %xmm17, %xmm19 {z}{k1}
51vpaddw            (%rax), %xmm17, %xmm19 {z}{k1}
52
53vpaddw            %ymm16, %ymm17, %ymm19
54vpaddw            (%rax), %ymm17, %ymm19
55vpaddw            %ymm16, %ymm17, %ymm19 {k1}
56vpaddw            (%rax), %ymm17, %ymm19 {k1}
57vpaddw            %ymm16, %ymm17, %ymm19 {z}{k1}
58vpaddw            (%rax), %ymm17, %ymm19 {z}{k1}
59
60vpermw            %xmm16, %xmm17, %xmm19
61vpermw            (%rax), %xmm17, %xmm19
62vpermw            %xmm16, %xmm17, %xmm19 {k1}
63vpermw            (%rax), %xmm17, %xmm19 {k1}
64vpermw            %xmm16, %xmm17, %xmm19 {z}{k1}
65vpermw            (%rax), %xmm17, %xmm19 {z}{k1}
66
67vpermw            %ymm16, %ymm17, %ymm19
68vpermw            (%rax), %ymm17, %ymm19
69vpermw            %ymm16, %ymm17, %ymm19 {k1}
70vpermw            (%rax), %ymm17, %ymm19 {k1}
71vpermw            %ymm16, %ymm17, %ymm19 {z}{k1}
72vpermw            (%rax), %ymm17, %ymm19 {z}{k1}
73
74vpshufb           %xmm16, %xmm17, %xmm19
75vpshufb           (%rax), %xmm17, %xmm19
76vpshufb           %xmm16, %xmm17, %xmm19 {k1}
77vpshufb           (%rax), %xmm17, %xmm19 {k1}
78vpshufb           %xmm16, %xmm17, %xmm19 {z}{k1}
79vpshufb           (%rax), %xmm17, %xmm19 {z}{k1}
80
81vpshufb           %ymm16, %ymm17, %ymm19
82vpshufb           (%rax), %ymm17, %ymm19
83vpshufb           %ymm16, %ymm17, %ymm19 {k1}
84vpshufb           (%rax), %ymm17, %ymm19 {k1}
85vpshufb           %ymm16, %ymm17, %ymm19 {z}{k1}
86vpshufb           (%rax), %ymm17, %ymm19 {z}{k1}
87
88vpshufhw          $0, %xmm16, %xmm19
89vpshufhw          $0, (%rax), %xmm19
90vpshufhw          $0, %xmm16, %xmm19 {k1}
91vpshufhw          $0, (%rax), %xmm19 {k1}
92vpshufhw          $0, %xmm16, %xmm19 {z}{k1}
93vpshufhw          $0, (%rax), %xmm19 {z}{k1}
94
95vpshufhw          $0, %ymm16, %ymm19
96vpshufhw          $0, (%rax), %ymm19
97vpshufhw          $0, %ymm16, %ymm19 {k1}
98vpshufhw          $0, (%rax), %ymm19 {k1}
99vpshufhw          $0, %ymm16, %ymm19 {z}{k1}
100vpshufhw          $0, (%rax), %ymm19 {z}{k1}
101
102vpsubb            %xmm16, %xmm17, %xmm19
103vpsubb            (%rax), %xmm17, %xmm19
104vpsubb            %xmm16, %xmm17, %xmm19 {k1}
105vpsubb            (%rax), %xmm17, %xmm19 {k1}
106vpsubb            %xmm16, %xmm17, %xmm19 {z}{k1}
107vpsubb            (%rax), %xmm17, %xmm19 {z}{k1}
108
109vpsubb            %ymm16, %ymm17, %ymm19
110vpsubb            (%rax), %ymm17, %ymm19
111vpsubb            %ymm16, %ymm17, %ymm19 {k1}
112vpsubb            (%rax), %ymm17, %ymm19 {k1}
113vpsubb            %ymm16, %ymm17, %ymm19 {z}{k1}
114vpsubb            (%rax), %ymm17, %ymm19 {z}{k1}
115
116vpsubw            %xmm16, %xmm17, %xmm19
117vpsubw            (%rax), %xmm17, %xmm19
118vpsubw            %xmm16, %xmm17, %xmm19 {k1}
119vpsubw            (%rax), %xmm17, %xmm19 {k1}
120vpsubw            %xmm16, %xmm17, %xmm19 {z}{k1}
121vpsubw            (%rax), %xmm17, %xmm19 {z}{k1}
122
123vpsubw            %ymm16, %ymm17, %ymm19
124vpsubw            (%rax), %ymm17, %ymm19
125vpsubw            %ymm16, %ymm17, %ymm19 {k1}
126vpsubw            (%rax), %ymm17, %ymm19 {k1}
127vpsubw            %ymm16, %ymm17, %ymm19 {z}{k1}
128vpsubw            (%rax), %ymm17, %ymm19 {z}{k1}
129
130vpunpckhbw         %xmm16, %xmm17, %xmm19
131vpunpckhbw         (%rax), %xmm17, %xmm19
132vpunpckhbw         %xmm16, %xmm17, %xmm19 {k1}
133vpunpckhbw         (%rax), %xmm17, %xmm19 {k1}
134vpunpckhbw         %xmm16, %xmm17, %xmm19 {z}{k1}
135vpunpckhbw         (%rax), %xmm17, %xmm19 {z}{k1}
136
137vpunpckhbw         %ymm16, %ymm17, %ymm19
138vpunpckhbw         (%rax), %ymm17, %ymm19
139vpunpckhbw         %ymm16, %ymm17, %ymm19 {k1}
140vpunpckhbw         (%rax), %ymm17, %ymm19 {k1}
141vpunpckhbw         %ymm16, %ymm17, %ymm19 {z}{k1}
142vpunpckhbw         (%rax), %ymm17, %ymm19 {z}{k1}
143
144vpunpckhwd         %xmm16, %xmm17, %xmm19
145vpunpckhwd         (%rax), %xmm17, %xmm19
146vpunpckhwd         %xmm16, %xmm17, %xmm19 {k1}
147vpunpckhwd         (%rax), %xmm17, %xmm19 {k1}
148vpunpckhwd         %xmm16, %xmm17, %xmm19 {z}{k1}
149vpunpckhwd         (%rax), %xmm17, %xmm19 {z}{k1}
150
151vpunpckhwd         %ymm16, %ymm17, %ymm19
152vpunpckhwd         (%rax), %ymm17, %ymm19
153vpunpckhwd         %ymm16, %ymm17, %ymm19 {k1}
154vpunpckhwd         (%rax), %ymm17, %ymm19 {k1}
155vpunpckhwd         %ymm16, %ymm17, %ymm19 {z}{k1}
156vpunpckhwd         (%rax), %ymm17, %ymm19 {z}{k1}
157
158vpunpcklbw         %xmm16, %xmm17, %xmm19
159vpunpcklbw         (%rax), %xmm17, %xmm19
160vpunpcklbw         %xmm16, %xmm17, %xmm19 {k1}
161vpunpcklbw         (%rax), %xmm17, %xmm19 {k1}
162vpunpcklbw         %xmm16, %xmm17, %xmm19 {z}{k1}
163vpunpcklbw         (%rax), %xmm17, %xmm19 {z}{k1}
164
165vpunpcklbw         %ymm16, %ymm17, %ymm19
166vpunpcklbw         (%rax), %ymm17, %ymm19
167vpunpcklbw         %ymm16, %ymm17, %ymm19 {k1}
168vpunpcklbw         (%rax), %ymm17, %ymm19 {k1}
169vpunpcklbw         %ymm16, %ymm17, %ymm19 {z}{k1}
170vpunpcklbw         (%rax), %ymm17, %ymm19 {z}{k1}
171
172vpunpcklwd         %xmm16, %xmm17, %xmm19
173vpunpcklwd         (%rax), %xmm17, %xmm19
174vpunpcklwd         %xmm16, %xmm17, %xmm19 {k1}
175vpunpcklwd         (%rax), %xmm17, %xmm19 {k1}
176vpunpcklwd         %xmm16, %xmm17, %xmm19 {z}{k1}
177vpunpcklwd         (%rax), %xmm17, %xmm19 {z}{k1}
178
179vpunpcklwd         %ymm16, %ymm17, %ymm19
180vpunpcklwd         (%rax), %ymm17, %ymm19
181vpunpcklwd         %ymm16, %ymm17, %ymm19 {k1}
182vpunpcklwd         (%rax), %ymm17, %ymm19 {k1}
183vpunpcklwd         %ymm16, %ymm17, %ymm19 {z}{k1}
184vpunpcklwd         (%rax), %ymm17, %ymm19 {z}{k1}
185
186# CHECK:      Instruction Info:
187# CHECK-NEXT: [1]: #uOps
188# CHECK-NEXT: [2]: Latency
189# CHECK-NEXT: [3]: RThroughput
190# CHECK-NEXT: [4]: MayLoad
191# CHECK-NEXT: [5]: MayStore
192# CHECK-NEXT: [6]: HasSideEffects (U)
193
194# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
195# CHECK-NEXT:  1      1     0.50                        vpabsb	%xmm16, %xmm19
196# CHECK-NEXT:  2      7     0.50    *                   vpabsb	(%rax), %xmm19
197# CHECK-NEXT:  1      1     0.50                        vpabsb	%xmm16, %xmm19 {%k1}
198# CHECK-NEXT:  2      7     0.50    *                   vpabsb	(%rax), %xmm19 {%k1}
199# CHECK-NEXT:  1      1     0.50                        vpabsb	%xmm16, %xmm19 {%k1} {z}
200# CHECK-NEXT:  2      7     0.50    *                   vpabsb	(%rax), %xmm19 {%k1} {z}
201# CHECK-NEXT:  1      1     0.50                        vpabsb	%ymm16, %ymm19
202# CHECK-NEXT:  2      8     0.50    *                   vpabsb	(%rax), %ymm19
203# CHECK-NEXT:  1      1     0.50                        vpabsb	%ymm16, %ymm19 {%k1}
204# CHECK-NEXT:  2      8     0.50    *                   vpabsb	(%rax), %ymm19 {%k1}
205# CHECK-NEXT:  1      1     0.50                        vpabsb	%ymm16, %ymm19 {%k1} {z}
206# CHECK-NEXT:  2      8     0.50    *                   vpabsb	(%rax), %ymm19 {%k1} {z}
207# CHECK-NEXT:  1      1     0.50                        vpabsw	%xmm16, %xmm19
208# CHECK-NEXT:  2      7     0.50    *                   vpabsw	(%rax), %xmm19
209# CHECK-NEXT:  1      1     0.50                        vpabsw	%xmm16, %xmm19 {%k1}
210# CHECK-NEXT:  2      7     0.50    *                   vpabsw	(%rax), %xmm19 {%k1}
211# CHECK-NEXT:  1      1     0.50                        vpabsw	%xmm16, %xmm19 {%k1} {z}
212# CHECK-NEXT:  2      7     0.50    *                   vpabsw	(%rax), %xmm19 {%k1} {z}
213# CHECK-NEXT:  1      1     0.50                        vpabsw	%ymm16, %ymm19
214# CHECK-NEXT:  2      8     0.50    *                   vpabsw	(%rax), %ymm19
215# CHECK-NEXT:  1      1     0.50                        vpabsw	%ymm16, %ymm19 {%k1}
216# CHECK-NEXT:  2      8     0.50    *                   vpabsw	(%rax), %ymm19 {%k1}
217# CHECK-NEXT:  1      1     0.50                        vpabsw	%ymm16, %ymm19 {%k1} {z}
218# CHECK-NEXT:  2      8     0.50    *                   vpabsw	(%rax), %ymm19 {%k1} {z}
219# CHECK-NEXT:  1      1     0.50                        vpaddb	%xmm16, %xmm17, %xmm19
220# CHECK-NEXT:  2      7     0.50    *                   vpaddb	(%rax), %xmm17, %xmm19
221# CHECK-NEXT:  1      1     0.50                        vpaddb	%xmm16, %xmm17, %xmm19 {%k1}
222# CHECK-NEXT:  2      7     0.50    *                   vpaddb	(%rax), %xmm17, %xmm19 {%k1}
223# CHECK-NEXT:  1      1     0.50                        vpaddb	%xmm16, %xmm17, %xmm19 {%k1} {z}
224# CHECK-NEXT:  2      7     0.50    *                   vpaddb	(%rax), %xmm17, %xmm19 {%k1} {z}
225# CHECK-NEXT:  1      1     0.50                        vpaddb	%ymm16, %ymm17, %ymm19
226# CHECK-NEXT:  2      8     0.50    *                   vpaddb	(%rax), %ymm17, %ymm19
227# CHECK-NEXT:  1      1     0.50                        vpaddb	%ymm16, %ymm17, %ymm19 {%k1}
228# CHECK-NEXT:  2      8     0.50    *                   vpaddb	(%rax), %ymm17, %ymm19 {%k1}
229# CHECK-NEXT:  1      1     0.50                        vpaddb	%ymm16, %ymm17, %ymm19 {%k1} {z}
230# CHECK-NEXT:  2      8     0.50    *                   vpaddb	(%rax), %ymm17, %ymm19 {%k1} {z}
231# CHECK-NEXT:  1      1     0.50                        vpaddw	%xmm16, %xmm17, %xmm19
232# CHECK-NEXT:  2      7     0.50    *                   vpaddw	(%rax), %xmm17, %xmm19
233# CHECK-NEXT:  1      1     0.50                        vpaddw	%xmm16, %xmm17, %xmm19 {%k1}
234# CHECK-NEXT:  2      7     0.50    *                   vpaddw	(%rax), %xmm17, %xmm19 {%k1}
235# CHECK-NEXT:  1      1     0.50                        vpaddw	%xmm16, %xmm17, %xmm19 {%k1} {z}
236# CHECK-NEXT:  2      7     0.50    *                   vpaddw	(%rax), %xmm17, %xmm19 {%k1} {z}
237# CHECK-NEXT:  1      1     0.50                        vpaddw	%ymm16, %ymm17, %ymm19
238# CHECK-NEXT:  2      8     0.50    *                   vpaddw	(%rax), %ymm17, %ymm19
239# CHECK-NEXT:  1      1     0.50                        vpaddw	%ymm16, %ymm17, %ymm19 {%k1}
240# CHECK-NEXT:  2      8     0.50    *                   vpaddw	(%rax), %ymm17, %ymm19 {%k1}
241# CHECK-NEXT:  1      1     0.50                        vpaddw	%ymm16, %ymm17, %ymm19 {%k1} {z}
242# CHECK-NEXT:  2      8     0.50    *                   vpaddw	(%rax), %ymm17, %ymm19 {%k1} {z}
243# CHECK-NEXT:  1      1     1.00                        vpermw	%xmm16, %xmm17, %xmm19
244# CHECK-NEXT:  2      8     1.00    *                   vpermw	(%rax), %xmm17, %xmm19
245# CHECK-NEXT:  1      1     1.00                        vpermw	%xmm16, %xmm17, %xmm19 {%k1}
246# CHECK-NEXT:  2      8     1.00    *                   vpermw	(%rax), %xmm17, %xmm19 {%k1}
247# CHECK-NEXT:  1      1     1.00                        vpermw	%xmm16, %xmm17, %xmm19 {%k1} {z}
248# CHECK-NEXT:  2      8     1.00    *                   vpermw	(%rax), %xmm17, %xmm19 {%k1} {z}
249# CHECK-NEXT:  1      1     1.00                        vpermw	%ymm16, %ymm17, %ymm19
250# CHECK-NEXT:  2      8     1.00    *                   vpermw	(%rax), %ymm17, %ymm19
251# CHECK-NEXT:  1      1     1.00                        vpermw	%ymm16, %ymm17, %ymm19 {%k1}
252# CHECK-NEXT:  2      8     1.00    *                   vpermw	(%rax), %ymm17, %ymm19 {%k1}
253# CHECK-NEXT:  1      1     1.00                        vpermw	%ymm16, %ymm17, %ymm19 {%k1} {z}
254# CHECK-NEXT:  2      8     1.00    *                   vpermw	(%rax), %ymm17, %ymm19 {%k1} {z}
255# CHECK-NEXT:  1      1     0.50                        vpshufb	%xmm16, %xmm17, %xmm19
256# CHECK-NEXT:  2      7     0.50    *                   vpshufb	(%rax), %xmm17, %xmm19
257# CHECK-NEXT:  1      1     0.50                        vpshufb	%xmm16, %xmm17, %xmm19 {%k1}
258# CHECK-NEXT:  2      7     0.50    *                   vpshufb	(%rax), %xmm17, %xmm19 {%k1}
259# CHECK-NEXT:  1      1     0.50                        vpshufb	%xmm16, %xmm17, %xmm19 {%k1} {z}
260# CHECK-NEXT:  2      7     0.50    *                   vpshufb	(%rax), %xmm17, %xmm19 {%k1} {z}
261# CHECK-NEXT:  1      1     0.50                        vpshufb	%ymm16, %ymm17, %ymm19
262# CHECK-NEXT:  2      8     0.50    *                   vpshufb	(%rax), %ymm17, %ymm19
263# CHECK-NEXT:  1      1     0.50                        vpshufb	%ymm16, %ymm17, %ymm19 {%k1}
264# CHECK-NEXT:  2      8     0.50    *                   vpshufb	(%rax), %ymm17, %ymm19 {%k1}
265# CHECK-NEXT:  1      1     0.50                        vpshufb	%ymm16, %ymm17, %ymm19 {%k1} {z}
266# CHECK-NEXT:  2      8     0.50    *                   vpshufb	(%rax), %ymm17, %ymm19 {%k1} {z}
267# CHECK-NEXT:  1      1     0.50                        vpshufhw	$0, %xmm16, %xmm19
268# CHECK-NEXT:  2      7     0.50    *                   vpshufhw	$0, (%rax), %xmm19
269# CHECK-NEXT:  1      1     0.50                        vpshufhw	$0, %xmm16, %xmm19 {%k1}
270# CHECK-NEXT:  2      7     0.50    *                   vpshufhw	$0, (%rax), %xmm19 {%k1}
271# CHECK-NEXT:  1      1     0.50                        vpshufhw	$0, %xmm16, %xmm19 {%k1} {z}
272# CHECK-NEXT:  2      7     0.50    *                   vpshufhw	$0, (%rax), %xmm19 {%k1} {z}
273# CHECK-NEXT:  1      1     1.00                        vpshufhw	$0, %ymm16, %ymm19
274# CHECK-NEXT:  2      8     1.00    *                   vpshufhw	$0, (%rax), %ymm19
275# CHECK-NEXT:  1      1     1.00                        vpshufhw	$0, %ymm16, %ymm19 {%k1}
276# CHECK-NEXT:  2      8     1.00    *                   vpshufhw	$0, (%rax), %ymm19 {%k1}
277# CHECK-NEXT:  1      1     1.00                        vpshufhw	$0, %ymm16, %ymm19 {%k1} {z}
278# CHECK-NEXT:  2      8     1.00    *                   vpshufhw	$0, (%rax), %ymm19 {%k1} {z}
279# CHECK-NEXT:  1      1     0.50                        vpsubb	%xmm16, %xmm17, %xmm19
280# CHECK-NEXT:  2      7     0.50    *                   vpsubb	(%rax), %xmm17, %xmm19
281# CHECK-NEXT:  1      1     0.50                        vpsubb	%xmm16, %xmm17, %xmm19 {%k1}
282# CHECK-NEXT:  2      7     0.50    *                   vpsubb	(%rax), %xmm17, %xmm19 {%k1}
283# CHECK-NEXT:  1      1     0.50                        vpsubb	%xmm16, %xmm17, %xmm19 {%k1} {z}
284# CHECK-NEXT:  2      7     0.50    *                   vpsubb	(%rax), %xmm17, %xmm19 {%k1} {z}
285# CHECK-NEXT:  1      1     0.50                        vpsubb	%ymm16, %ymm17, %ymm19
286# CHECK-NEXT:  2      8     0.50    *                   vpsubb	(%rax), %ymm17, %ymm19
287# CHECK-NEXT:  1      1     0.50                        vpsubb	%ymm16, %ymm17, %ymm19 {%k1}
288# CHECK-NEXT:  2      8     0.50    *                   vpsubb	(%rax), %ymm17, %ymm19 {%k1}
289# CHECK-NEXT:  1      1     0.50                        vpsubb	%ymm16, %ymm17, %ymm19 {%k1} {z}
290# CHECK-NEXT:  2      8     0.50    *                   vpsubb	(%rax), %ymm17, %ymm19 {%k1} {z}
291# CHECK-NEXT:  1      1     0.50                        vpsubw	%xmm16, %xmm17, %xmm19
292# CHECK-NEXT:  2      7     0.50    *                   vpsubw	(%rax), %xmm17, %xmm19
293# CHECK-NEXT:  1      1     0.50                        vpsubw	%xmm16, %xmm17, %xmm19 {%k1}
294# CHECK-NEXT:  2      7     0.50    *                   vpsubw	(%rax), %xmm17, %xmm19 {%k1}
295# CHECK-NEXT:  1      1     0.50                        vpsubw	%xmm16, %xmm17, %xmm19 {%k1} {z}
296# CHECK-NEXT:  2      7     0.50    *                   vpsubw	(%rax), %xmm17, %xmm19 {%k1} {z}
297# CHECK-NEXT:  1      1     0.50                        vpsubw	%ymm16, %ymm17, %ymm19
298# CHECK-NEXT:  2      8     0.50    *                   vpsubw	(%rax), %ymm17, %ymm19
299# CHECK-NEXT:  1      1     0.50                        vpsubw	%ymm16, %ymm17, %ymm19 {%k1}
300# CHECK-NEXT:  2      8     0.50    *                   vpsubw	(%rax), %ymm17, %ymm19 {%k1}
301# CHECK-NEXT:  1      1     0.50                        vpsubw	%ymm16, %ymm17, %ymm19 {%k1} {z}
302# CHECK-NEXT:  2      8     0.50    *                   vpsubw	(%rax), %ymm17, %ymm19 {%k1} {z}
303# CHECK-NEXT:  1      1     0.50                        vpunpckhbw	%xmm16, %xmm17, %xmm19
304# CHECK-NEXT:  2      7     0.50    *                   vpunpckhbw	(%rax), %xmm17, %xmm19
305# CHECK-NEXT:  1      1     0.50                        vpunpckhbw	%xmm16, %xmm17, %xmm19 {%k1}
306# CHECK-NEXT:  2      7     0.50    *                   vpunpckhbw	(%rax), %xmm17, %xmm19 {%k1}
307# CHECK-NEXT:  1      1     0.50                        vpunpckhbw	%xmm16, %xmm17, %xmm19 {%k1} {z}
308# CHECK-NEXT:  2      7     0.50    *                   vpunpckhbw	(%rax), %xmm17, %xmm19 {%k1} {z}
309# CHECK-NEXT:  1      1     1.00                        vpunpckhbw	%ymm16, %ymm17, %ymm19
310# CHECK-NEXT:  2      8     1.00    *                   vpunpckhbw	(%rax), %ymm17, %ymm19
311# CHECK-NEXT:  1      1     1.00                        vpunpckhbw	%ymm16, %ymm17, %ymm19 {%k1}
312# CHECK-NEXT:  2      8     1.00    *                   vpunpckhbw	(%rax), %ymm17, %ymm19 {%k1}
313# CHECK-NEXT:  1      1     1.00                        vpunpckhbw	%ymm16, %ymm17, %ymm19 {%k1} {z}
314# CHECK-NEXT:  2      8     1.00    *                   vpunpckhbw	(%rax), %ymm17, %ymm19 {%k1} {z}
315# CHECK-NEXT:  1      1     0.50                        vpunpckhwd	%xmm16, %xmm17, %xmm19
316# CHECK-NEXT:  2      7     0.50    *                   vpunpckhwd	(%rax), %xmm17, %xmm19
317# CHECK-NEXT:  1      1     0.50                        vpunpckhwd	%xmm16, %xmm17, %xmm19 {%k1}
318# CHECK-NEXT:  2      7     0.50    *                   vpunpckhwd	(%rax), %xmm17, %xmm19 {%k1}
319# CHECK-NEXT:  1      1     0.50                        vpunpckhwd	%xmm16, %xmm17, %xmm19 {%k1} {z}
320# CHECK-NEXT:  2      7     0.50    *                   vpunpckhwd	(%rax), %xmm17, %xmm19 {%k1} {z}
321# CHECK-NEXT:  1      1     1.00                        vpunpckhwd	%ymm16, %ymm17, %ymm19
322# CHECK-NEXT:  2      8     1.00    *                   vpunpckhwd	(%rax), %ymm17, %ymm19
323# CHECK-NEXT:  1      1     1.00                        vpunpckhwd	%ymm16, %ymm17, %ymm19 {%k1}
324# CHECK-NEXT:  2      8     1.00    *                   vpunpckhwd	(%rax), %ymm17, %ymm19 {%k1}
325# CHECK-NEXT:  1      1     1.00                        vpunpckhwd	%ymm16, %ymm17, %ymm19 {%k1} {z}
326# CHECK-NEXT:  2      8     1.00    *                   vpunpckhwd	(%rax), %ymm17, %ymm19 {%k1} {z}
327# CHECK-NEXT:  1      1     0.50                        vpunpcklbw	%xmm16, %xmm17, %xmm19
328# CHECK-NEXT:  2      7     0.50    *                   vpunpcklbw	(%rax), %xmm17, %xmm19
329# CHECK-NEXT:  1      1     0.50                        vpunpcklbw	%xmm16, %xmm17, %xmm19 {%k1}
330# CHECK-NEXT:  2      7     0.50    *                   vpunpcklbw	(%rax), %xmm17, %xmm19 {%k1}
331# CHECK-NEXT:  1      1     0.50                        vpunpcklbw	%xmm16, %xmm17, %xmm19 {%k1} {z}
332# CHECK-NEXT:  2      7     0.50    *                   vpunpcklbw	(%rax), %xmm17, %xmm19 {%k1} {z}
333# CHECK-NEXT:  1      1     1.00                        vpunpcklbw	%ymm16, %ymm17, %ymm19
334# CHECK-NEXT:  2      8     1.00    *                   vpunpcklbw	(%rax), %ymm17, %ymm19
335# CHECK-NEXT:  1      1     1.00                        vpunpcklbw	%ymm16, %ymm17, %ymm19 {%k1}
336# CHECK-NEXT:  2      8     1.00    *                   vpunpcklbw	(%rax), %ymm17, %ymm19 {%k1}
337# CHECK-NEXT:  1      1     1.00                        vpunpcklbw	%ymm16, %ymm17, %ymm19 {%k1} {z}
338# CHECK-NEXT:  2      8     1.00    *                   vpunpcklbw	(%rax), %ymm17, %ymm19 {%k1} {z}
339# CHECK-NEXT:  1      1     0.50                        vpunpcklwd	%xmm16, %xmm17, %xmm19
340# CHECK-NEXT:  2      7     0.50    *                   vpunpcklwd	(%rax), %xmm17, %xmm19
341# CHECK-NEXT:  1      1     0.50                        vpunpcklwd	%xmm16, %xmm17, %xmm19 {%k1}
342# CHECK-NEXT:  2      7     0.50    *                   vpunpcklwd	(%rax), %xmm17, %xmm19 {%k1}
343# CHECK-NEXT:  1      1     0.50                        vpunpcklwd	%xmm16, %xmm17, %xmm19 {%k1} {z}
344# CHECK-NEXT:  2      7     0.50    *                   vpunpcklwd	(%rax), %xmm17, %xmm19 {%k1} {z}
345# CHECK-NEXT:  1      1     1.00                        vpunpcklwd	%ymm16, %ymm17, %ymm19
346# CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd	(%rax), %ymm17, %ymm19
347# CHECK-NEXT:  1      1     1.00                        vpunpcklwd	%ymm16, %ymm17, %ymm19 {%k1}
348# CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd	(%rax), %ymm17, %ymm19 {%k1}
349# CHECK-NEXT:  1      1     1.00                        vpunpcklwd	%ymm16, %ymm17, %ymm19 {%k1} {z}
350# CHECK-NEXT:  2      8     1.00    *                   vpunpcklwd	(%rax), %ymm17, %ymm19 {%k1} {z}
351
352# CHECK:      Resources:
353# CHECK-NEXT: [0]   - SBDivider
354# CHECK-NEXT: [1]   - SBFPDivider
355# CHECK-NEXT: [2]   - SBPort0
356# CHECK-NEXT: [3]   - SBPort1
357# CHECK-NEXT: [4]   - SBPort4
358# CHECK-NEXT: [5]   - SBPort5
359# CHECK-NEXT: [6.0] - SBPort23
360# CHECK-NEXT: [6.1] - SBPort23
361
362# CHECK:      Resource pressure per iteration:
363# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
364# CHECK-NEXT:  -      -      -     57.00   -     99.00  39.00  39.00
365
366# CHECK:      Resource pressure by instruction:
367# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
368# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%xmm16, %xmm19
369# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %xmm19
370# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%xmm16, %xmm19 {%k1}
371# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %xmm19 {%k1}
372# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%xmm16, %xmm19 {%k1} {z}
373# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %xmm19 {%k1} {z}
374# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%ymm16, %ymm19
375# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %ymm19
376# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%ymm16, %ymm19 {%k1}
377# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %ymm19 {%k1}
378# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsb	%ymm16, %ymm19 {%k1} {z}
379# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsb	(%rax), %ymm19 {%k1} {z}
380# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%xmm16, %xmm19
381# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %xmm19
382# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%xmm16, %xmm19 {%k1}
383# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %xmm19 {%k1}
384# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%xmm16, %xmm19 {%k1} {z}
385# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %xmm19 {%k1} {z}
386# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%ymm16, %ymm19
387# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %ymm19
388# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%ymm16, %ymm19 {%k1}
389# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %ymm19 {%k1}
390# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpabsw	%ymm16, %ymm19 {%k1} {z}
391# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpabsw	(%rax), %ymm19 {%k1} {z}
392# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%xmm16, %xmm17, %xmm19
393# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %xmm17, %xmm19
394# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%xmm16, %xmm17, %xmm19 {%k1}
395# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %xmm17, %xmm19 {%k1}
396# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%xmm16, %xmm17, %xmm19 {%k1} {z}
397# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %xmm17, %xmm19 {%k1} {z}
398# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%ymm16, %ymm17, %ymm19
399# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %ymm17, %ymm19
400# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%ymm16, %ymm17, %ymm19 {%k1}
401# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %ymm17, %ymm19 {%k1}
402# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddb	%ymm16, %ymm17, %ymm19 {%k1} {z}
403# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddb	(%rax), %ymm17, %ymm19 {%k1} {z}
404# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%xmm16, %xmm17, %xmm19
405# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %xmm17, %xmm19
406# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%xmm16, %xmm17, %xmm19 {%k1}
407# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %xmm17, %xmm19 {%k1}
408# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%xmm16, %xmm17, %xmm19 {%k1} {z}
409# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %xmm17, %xmm19 {%k1} {z}
410# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%ymm16, %ymm17, %ymm19
411# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %ymm17, %ymm19
412# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%ymm16, %ymm17, %ymm19 {%k1}
413# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %ymm17, %ymm19 {%k1}
414# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpaddw	%ymm16, %ymm17, %ymm19 {%k1} {z}
415# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpaddw	(%rax), %ymm17, %ymm19 {%k1} {z}
416# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw	%xmm16, %xmm17, %xmm19
417# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw	(%rax), %xmm17, %xmm19
418# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw	%xmm16, %xmm17, %xmm19 {%k1}
419# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw	(%rax), %xmm17, %xmm19 {%k1}
420# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw	%xmm16, %xmm17, %xmm19 {%k1} {z}
421# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw	(%rax), %xmm17, %xmm19 {%k1} {z}
422# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw	%ymm16, %ymm17, %ymm19
423# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw	(%rax), %ymm17, %ymm19
424# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw	%ymm16, %ymm17, %ymm19 {%k1}
425# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw	(%rax), %ymm17, %ymm19 {%k1}
426# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpermw	%ymm16, %ymm17, %ymm19 {%k1} {z}
427# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpermw	(%rax), %ymm17, %ymm19 {%k1} {z}
428# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%xmm16, %xmm17, %xmm19
429# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %xmm17, %xmm19
430# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%xmm16, %xmm17, %xmm19 {%k1}
431# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %xmm17, %xmm19 {%k1}
432# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%xmm16, %xmm17, %xmm19 {%k1} {z}
433# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %xmm17, %xmm19 {%k1} {z}
434# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%ymm16, %ymm17, %ymm19
435# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %ymm17, %ymm19
436# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%ymm16, %ymm17, %ymm19 {%k1}
437# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %ymm17, %ymm19 {%k1}
438# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufb	%ymm16, %ymm17, %ymm19 {%k1} {z}
439# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufb	(%rax), %ymm17, %ymm19 {%k1} {z}
440# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufhw	$0, %xmm16, %xmm19
441# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufhw	$0, (%rax), %xmm19
442# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufhw	$0, %xmm16, %xmm19 {%k1}
443# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufhw	$0, (%rax), %xmm19 {%k1}
444# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpshufhw	$0, %xmm16, %xmm19 {%k1} {z}
445# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpshufhw	$0, (%rax), %xmm19 {%k1} {z}
446# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpshufhw	$0, %ymm16, %ymm19
447# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpshufhw	$0, (%rax), %ymm19
448# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpshufhw	$0, %ymm16, %ymm19 {%k1}
449# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpshufhw	$0, (%rax), %ymm19 {%k1}
450# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpshufhw	$0, %ymm16, %ymm19 {%k1} {z}
451# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpshufhw	$0, (%rax), %ymm19 {%k1} {z}
452# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%xmm16, %xmm17, %xmm19
453# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %xmm17, %xmm19
454# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%xmm16, %xmm17, %xmm19 {%k1}
455# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %xmm17, %xmm19 {%k1}
456# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%xmm16, %xmm17, %xmm19 {%k1} {z}
457# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %xmm17, %xmm19 {%k1} {z}
458# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%ymm16, %ymm17, %ymm19
459# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %ymm17, %ymm19
460# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%ymm16, %ymm17, %ymm19 {%k1}
461# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %ymm17, %ymm19 {%k1}
462# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubb	%ymm16, %ymm17, %ymm19 {%k1} {z}
463# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubb	(%rax), %ymm17, %ymm19 {%k1} {z}
464# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%xmm16, %xmm17, %xmm19
465# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %xmm17, %xmm19
466# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%xmm16, %xmm17, %xmm19 {%k1}
467# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %xmm17, %xmm19 {%k1}
468# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%xmm16, %xmm17, %xmm19 {%k1} {z}
469# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %xmm17, %xmm19 {%k1} {z}
470# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%ymm16, %ymm17, %ymm19
471# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %ymm17, %ymm19
472# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%ymm16, %ymm17, %ymm19 {%k1}
473# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %ymm17, %ymm19 {%k1}
474# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpsubw	%ymm16, %ymm17, %ymm19 {%k1} {z}
475# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpsubw	(%rax), %ymm17, %ymm19 {%k1} {z}
476# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhbw	%xmm16, %xmm17, %xmm19
477# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhbw	(%rax), %xmm17, %xmm19
478# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhbw	%xmm16, %xmm17, %xmm19 {%k1}
479# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhbw	(%rax), %xmm17, %xmm19 {%k1}
480# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhbw	%xmm16, %xmm17, %xmm19 {%k1} {z}
481# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhbw	(%rax), %xmm17, %xmm19 {%k1} {z}
482# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpckhbw	%ymm16, %ymm17, %ymm19
483# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpckhbw	(%rax), %ymm17, %ymm19
484# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpckhbw	%ymm16, %ymm17, %ymm19 {%k1}
485# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpckhbw	(%rax), %ymm17, %ymm19 {%k1}
486# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpckhbw	%ymm16, %ymm17, %ymm19 {%k1} {z}
487# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpckhbw	(%rax), %ymm17, %ymm19 {%k1} {z}
488# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhwd	%xmm16, %xmm17, %xmm19
489# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhwd	(%rax), %xmm17, %xmm19
490# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhwd	%xmm16, %xmm17, %xmm19 {%k1}
491# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhwd	(%rax), %xmm17, %xmm19 {%k1}
492# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpckhwd	%xmm16, %xmm17, %xmm19 {%k1} {z}
493# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpckhwd	(%rax), %xmm17, %xmm19 {%k1} {z}
494# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpckhwd	%ymm16, %ymm17, %ymm19
495# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpckhwd	(%rax), %ymm17, %ymm19
496# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpckhwd	%ymm16, %ymm17, %ymm19 {%k1}
497# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpckhwd	(%rax), %ymm17, %ymm19 {%k1}
498# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpckhwd	%ymm16, %ymm17, %ymm19 {%k1} {z}
499# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpckhwd	(%rax), %ymm17, %ymm19 {%k1} {z}
500# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklbw	%xmm16, %xmm17, %xmm19
501# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklbw	(%rax), %xmm17, %xmm19
502# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklbw	%xmm16, %xmm17, %xmm19 {%k1}
503# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklbw	(%rax), %xmm17, %xmm19 {%k1}
504# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklbw	%xmm16, %xmm17, %xmm19 {%k1} {z}
505# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklbw	(%rax), %xmm17, %xmm19 {%k1} {z}
506# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklbw	%ymm16, %ymm17, %ymm19
507# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklbw	(%rax), %ymm17, %ymm19
508# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklbw	%ymm16, %ymm17, %ymm19 {%k1}
509# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklbw	(%rax), %ymm17, %ymm19 {%k1}
510# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklbw	%ymm16, %ymm17, %ymm19 {%k1} {z}
511# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklbw	(%rax), %ymm17, %ymm19 {%k1} {z}
512# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklwd	%xmm16, %xmm17, %xmm19
513# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklwd	(%rax), %xmm17, %xmm19
514# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklwd	%xmm16, %xmm17, %xmm19 {%k1}
515# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklwd	(%rax), %xmm17, %xmm19 {%k1}
516# CHECK-NEXT:  -      -      -     0.50    -     0.50    -      -     vpunpcklwd	%xmm16, %xmm17, %xmm19 {%k1} {z}
517# CHECK-NEXT:  -      -      -     0.50    -     0.50   0.50   0.50   vpunpcklwd	(%rax), %xmm17, %xmm19 {%k1} {z}
518# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklwd	%ymm16, %ymm17, %ymm19
519# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd	(%rax), %ymm17, %ymm19
520# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklwd	%ymm16, %ymm17, %ymm19 {%k1}
521# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd	(%rax), %ymm17, %ymm19 {%k1}
522# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpunpcklwd	%ymm16, %ymm17, %ymm19 {%k1} {z}
523# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpunpcklwd	(%rax), %ymm17, %ymm19 {%k1} {z}
524