xref: /llvm-project/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vbmi2.s (revision d7208b04045b86fc5e214a5881d507858cb30352)
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
3
4vpcompressb       %zmm16, %zmm19
5vpcompressb       %zmm16, (%rax)
6vpcompressb       %zmm16, %zmm19 {k1}
7vpcompressb       %zmm16, (%rax) {k1}
8vpcompressb       %zmm16, %zmm19 {k1}{z}
9
10vpcompressw       %zmm16, %zmm19
11vpcompressw       %zmm16, (%rax)
12vpcompressw       %zmm16, %zmm19 {k1}
13vpcompressw       %zmm16, (%rax) {k1}
14vpcompressw       %zmm16, %zmm19 {k1}{z}
15
16vpexpandb         %zmm16, %zmm19
17vpexpandb         (%rax), %zmm19
18vpexpandb         %zmm16, %zmm19 {k1}
19vpexpandb         (%rax), %zmm19 {k1}
20vpexpandb         %zmm16, %zmm19 {k1}{z}
21
22vpexpandw         %zmm16, %zmm19
23vpexpandw         (%rax), %zmm19
24vpexpandw         %zmm16, %zmm19 {k1}
25vpexpandw         (%rax), %zmm19 {k1}
26vpexpandw         %zmm16, %zmm19 {k1}{z}
27
28vpshldd           $1, %zmm16, %zmm17, %zmm19
29vpshldd           $1, (%rax), %zmm17, %zmm19
30vpshldd           $1, (%rax){1to16}, %zmm17, %zmm19
31vpshldd           $1, %zmm16, %zmm17, %zmm19 {k1}
32vpshldd           $1, (%rax), %zmm17, %zmm19 {k1}
33vpshldd           $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
34vpshldd           $1, %zmm16, %zmm17, %zmm19 {k1}{z}
35vpshldd           $1, (%rax), %zmm17, %zmm19 {k1}{z}
36vpshldd           $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
37
38vpshldq           $1, %zmm16, %zmm17, %zmm19
39vpshldq           $1, (%rax), %zmm17, %zmm19
40vpshldq           $1, (%rax){1to8}, %zmm17, %zmm19
41vpshldq           $1, %zmm16, %zmm17, %zmm19 {k1}
42vpshldq           $1, (%rax), %zmm17, %zmm19 {k1}
43vpshldq           $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
44vpshldq           $1, %zmm16, %zmm17, %zmm19 {k1}{z}
45vpshldq           $1, (%rax), %zmm17, %zmm19 {k1}{z}
46vpshldq           $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
47
48vpshldvd          %zmm16, %zmm17, %zmm19
49vpshldvd          (%rax), %zmm17, %zmm19
50vpshldvd          (%rax){1to16}, %zmm17, %zmm19
51vpshldvd          %zmm16, %zmm17, %zmm19 {k1}
52vpshldvd          (%rax), %zmm17, %zmm19 {k1}
53vpshldvd          (%rax){1to16}, %zmm17, %zmm19 {k1}
54vpshldvd          %zmm16, %zmm17, %zmm19 {k1}{z}
55vpshldvd          (%rax), %zmm17, %zmm19 {k1}{z}
56vpshldvd          (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
57
58vpshldvq          %zmm16, %zmm17, %zmm19
59vpshldvq          (%rax), %zmm17, %zmm19
60vpshldvq          (%rax){1to8}, %zmm17, %zmm19
61vpshldvq          %zmm16, %zmm17, %zmm19 {k1}
62vpshldvq          (%rax), %zmm17, %zmm19 {k1}
63vpshldvq          (%rax){1to8}, %zmm17, %zmm19 {k1}
64vpshldvq          %zmm16, %zmm17, %zmm19 {k1}{z}
65vpshldvq          (%rax), %zmm17, %zmm19 {k1}{z}
66vpshldvq          (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
67
68vpshldvw          %zmm16, %zmm17, %zmm19
69vpshldvw          (%rax), %zmm17, %zmm19
70vpshldvw          %zmm16, %zmm17, %zmm19 {k1}
71vpshldvw          (%rax), %zmm17, %zmm19 {k1}
72vpshldvw          %zmm16, %zmm17, %zmm19 {k1}{z}
73vpshldvw          (%rax), %zmm17, %zmm19 {k1}{z}
74
75vpshldw           $1, %zmm16, %zmm17, %zmm19
76vpshldw           $1, (%rax), %zmm17, %zmm19
77vpshldw           $1, %zmm16, %zmm17, %zmm19 {k1}
78vpshldw           $1, (%rax), %zmm17, %zmm19 {k1}
79vpshldw           $1, %zmm16, %zmm17, %zmm19 {k1}{z}
80vpshldw           $1, (%rax), %zmm17, %zmm19 {k1}{z}
81
82vpshrdd           $1, %zmm16, %zmm17, %zmm19
83vpshrdd           $1, (%rax), %zmm17, %zmm19
84vpshrdd           $1, (%rax){1to16}, %zmm17, %zmm19
85vpshrdd           $1, %zmm16, %zmm17, %zmm19 {k1}
86vpshrdd           $1, (%rax), %zmm17, %zmm19 {k1}
87vpshrdd           $1, (%rax){1to16}, %zmm17, %zmm19 {k1}
88vpshrdd           $1, %zmm16, %zmm17, %zmm19 {k1}{z}
89vpshrdd           $1, (%rax), %zmm17, %zmm19 {k1}{z}
90vpshrdd           $1, (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
91
92vpshrdq           $1, %zmm16, %zmm17, %zmm19
93vpshrdq           $1, (%rax), %zmm17, %zmm19
94vpshrdq           $1, (%rax){1to8}, %zmm17, %zmm19
95vpshrdq           $1, %zmm16, %zmm17, %zmm19 {k1}
96vpshrdq           $1, (%rax), %zmm17, %zmm19 {k1}
97vpshrdq           $1, (%rax){1to8}, %zmm17, %zmm19 {k1}
98vpshrdq           $1, %zmm16, %zmm17, %zmm19 {k1}{z}
99vpshrdq           $1, (%rax), %zmm17, %zmm19 {k1}{z}
100vpshrdq           $1, (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
101
102vpshrdvd          %zmm16, %zmm17, %zmm19
103vpshrdvd          (%rax), %zmm17, %zmm19
104vpshrdvd          (%rax){1to16}, %zmm17, %zmm19
105vpshrdvd          %zmm16, %zmm17, %zmm19 {k1}
106vpshrdvd          (%rax), %zmm17, %zmm19 {k1}
107vpshrdvd          (%rax){1to16}, %zmm17, %zmm19 {k1}
108vpshrdvd          %zmm16, %zmm17, %zmm19 {k1}{z}
109vpshrdvd          (%rax), %zmm17, %zmm19 {k1}{z}
110vpshrdvd          (%rax){1to16}, %zmm17, %zmm19 {k1}{z}
111
112vpshrdvq          %zmm16, %zmm17, %zmm19
113vpshrdvq          (%rax), %zmm17, %zmm19
114vpshrdvq          (%rax){1to8}, %zmm17, %zmm19
115vpshrdvq          %zmm16, %zmm17, %zmm19 {k1}
116vpshrdvq          (%rax), %zmm17, %zmm19 {k1}
117vpshrdvq          (%rax){1to8}, %zmm17, %zmm19 {k1}
118vpshrdvq          %zmm16, %zmm17, %zmm19 {k1}{z}
119vpshrdvq          (%rax), %zmm17, %zmm19 {k1}{z}
120vpshrdvq          (%rax){1to8}, %zmm17, %zmm19 {k1}{z}
121
122vpshrdvw          %zmm16, %zmm17, %zmm19
123vpshrdvw          (%rax), %zmm17, %zmm19
124vpshrdvw          %zmm16, %zmm17, %zmm19 {k1}
125vpshrdvw          (%rax), %zmm17, %zmm19 {k1}
126vpshrdvw          %zmm16, %zmm17, %zmm19 {k1}{z}
127vpshrdvw          (%rax), %zmm17, %zmm19 {k1}{z}
128
129vpshrdw           $1, %zmm16, %zmm17, %zmm19
130vpshrdw           $1, (%rax), %zmm17, %zmm19
131vpshrdw           $1, %zmm16, %zmm17, %zmm19 {k1}
132vpshrdw           $1, (%rax), %zmm17, %zmm19 {k1}
133vpshrdw           $1, %zmm16, %zmm17, %zmm19 {k1}{z}
134vpshrdw           $1, (%rax), %zmm17, %zmm19 {k1}{z}
135
136# CHECK:      Instruction Info:
137# CHECK-NEXT: [1]: #uOps
138# CHECK-NEXT: [2]: Latency
139# CHECK-NEXT: [3]: RThroughput
140# CHECK-NEXT: [4]: MayLoad
141# CHECK-NEXT: [5]: MayStore
142# CHECK-NEXT: [6]: HasSideEffects (U)
143
144# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
145# CHECK-NEXT:  1      3     1.00                  U     vpcompressb	%zmm16, %zmm19
146# CHECK-NEXT:  2      10    1.00           *            vpcompressb	%zmm16, (%rax)
147# CHECK-NEXT:  1      3     1.00                        vpcompressb	%zmm16, %zmm19 {%k1}
148# CHECK-NEXT:  2      10    1.00           *            vpcompressb	%zmm16, (%rax) {%k1}
149# CHECK-NEXT:  1      3     1.00                        vpcompressb	%zmm16, %zmm19 {%k1} {z}
150# CHECK-NEXT:  1      3     1.00                  U     vpcompressw	%zmm16, %zmm19
151# CHECK-NEXT:  2      10    1.00           *            vpcompressw	%zmm16, (%rax)
152# CHECK-NEXT:  1      3     1.00                        vpcompressw	%zmm16, %zmm19 {%k1}
153# CHECK-NEXT:  2      10    1.00           *            vpcompressw	%zmm16, (%rax) {%k1}
154# CHECK-NEXT:  1      3     1.00                        vpcompressw	%zmm16, %zmm19 {%k1} {z}
155# CHECK-NEXT:  1      3     1.00                  U     vpexpandb	%zmm16, %zmm19
156# CHECK-NEXT:  2      10    1.00                  U     vpexpandb	(%rax), %zmm19
157# CHECK-NEXT:  1      3     1.00                        vpexpandb	%zmm16, %zmm19 {%k1}
158# CHECK-NEXT:  2      10    1.00    *                   vpexpandb	(%rax), %zmm19 {%k1}
159# CHECK-NEXT:  1      3     1.00                        vpexpandb	%zmm16, %zmm19 {%k1} {z}
160# CHECK-NEXT:  1      3     1.00                  U     vpexpandw	%zmm16, %zmm19
161# CHECK-NEXT:  2      10    1.00                  U     vpexpandw	(%rax), %zmm19
162# CHECK-NEXT:  1      3     1.00                        vpexpandw	%zmm16, %zmm19 {%k1}
163# CHECK-NEXT:  2      10    1.00    *                   vpexpandw	(%rax), %zmm19 {%k1}
164# CHECK-NEXT:  1      3     1.00                        vpexpandw	%zmm16, %zmm19 {%k1} {z}
165# CHECK-NEXT:  1      5     0.50                        vpshldd	$1, %zmm16, %zmm17, %zmm19
166# CHECK-NEXT:  2      12    0.50    *                   vpshldd	$1, (%rax), %zmm17, %zmm19
167# CHECK-NEXT:  2      12    0.50    *                   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19
168# CHECK-NEXT:  1      5     0.50                        vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1}
169# CHECK-NEXT:  2      12    0.50    *                   vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1}
170# CHECK-NEXT:  2      12    0.50    *                   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
171# CHECK-NEXT:  1      5     0.50                        vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
172# CHECK-NEXT:  2      12    0.50    *                   vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
173# CHECK-NEXT:  2      12    0.50    *                   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
174# CHECK-NEXT:  1      5     0.50                        vpshldq	$1, %zmm16, %zmm17, %zmm19
175# CHECK-NEXT:  2      12    0.50    *                   vpshldq	$1, (%rax), %zmm17, %zmm19
176# CHECK-NEXT:  2      12    0.50    *                   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19
177# CHECK-NEXT:  1      5     0.50                        vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1}
178# CHECK-NEXT:  2      12    0.50    *                   vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1}
179# CHECK-NEXT:  2      12    0.50    *                   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
180# CHECK-NEXT:  1      5     0.50                        vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
181# CHECK-NEXT:  2      12    0.50    *                   vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
182# CHECK-NEXT:  2      12    0.50    *                   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
183# CHECK-NEXT:  1      5     0.50                        vpshldvd	%zmm16, %zmm17, %zmm19
184# CHECK-NEXT:  2      12    0.50    *                   vpshldvd	(%rax), %zmm17, %zmm19
185# CHECK-NEXT:  2      12    0.50    *                   vpshldvd	(%rax){1to16}, %zmm17, %zmm19
186# CHECK-NEXT:  1      5     0.50                        vpshldvd	%zmm16, %zmm17, %zmm19 {%k1}
187# CHECK-NEXT:  2      12    0.50    *                   vpshldvd	(%rax), %zmm17, %zmm19 {%k1}
188# CHECK-NEXT:  2      12    0.50    *                   vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
189# CHECK-NEXT:  1      5     0.50                        vpshldvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
190# CHECK-NEXT:  2      12    0.50    *                   vpshldvd	(%rax), %zmm17, %zmm19 {%k1} {z}
191# CHECK-NEXT:  2      12    0.50    *                   vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
192# CHECK-NEXT:  1      5     0.50                        vpshldvq	%zmm16, %zmm17, %zmm19
193# CHECK-NEXT:  2      12    0.50    *                   vpshldvq	(%rax), %zmm17, %zmm19
194# CHECK-NEXT:  2      12    0.50    *                   vpshldvq	(%rax){1to8}, %zmm17, %zmm19
195# CHECK-NEXT:  1      5     0.50                        vpshldvq	%zmm16, %zmm17, %zmm19 {%k1}
196# CHECK-NEXT:  2      12    0.50    *                   vpshldvq	(%rax), %zmm17, %zmm19 {%k1}
197# CHECK-NEXT:  2      12    0.50    *                   vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
198# CHECK-NEXT:  1      5     0.50                        vpshldvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
199# CHECK-NEXT:  2      12    0.50    *                   vpshldvq	(%rax), %zmm17, %zmm19 {%k1} {z}
200# CHECK-NEXT:  2      12    0.50    *                   vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
201# CHECK-NEXT:  1      5     0.50                        vpshldvw	%zmm16, %zmm17, %zmm19
202# CHECK-NEXT:  2      12    0.50    *                   vpshldvw	(%rax), %zmm17, %zmm19
203# CHECK-NEXT:  1      5     0.50                        vpshldvw	%zmm16, %zmm17, %zmm19 {%k1}
204# CHECK-NEXT:  2      12    0.50    *                   vpshldvw	(%rax), %zmm17, %zmm19 {%k1}
205# CHECK-NEXT:  1      5     0.50                        vpshldvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
206# CHECK-NEXT:  2      12    0.50    *                   vpshldvw	(%rax), %zmm17, %zmm19 {%k1} {z}
207# CHECK-NEXT:  1      5     0.50                        vpshldw	$1, %zmm16, %zmm17, %zmm19
208# CHECK-NEXT:  2      12    0.50    *                   vpshldw	$1, (%rax), %zmm17, %zmm19
209# CHECK-NEXT:  1      5     0.50                        vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1}
210# CHECK-NEXT:  2      12    0.50    *                   vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1}
211# CHECK-NEXT:  1      5     0.50                        vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
212# CHECK-NEXT:  2      12    0.50    *                   vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
213# CHECK-NEXT:  1      5     0.50                        vpshrdd	$1, %zmm16, %zmm17, %zmm19
214# CHECK-NEXT:  2      12    0.50    *                   vpshrdd	$1, (%rax), %zmm17, %zmm19
215# CHECK-NEXT:  2      12    0.50    *                   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19
216# CHECK-NEXT:  1      5     0.50                        vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1}
217# CHECK-NEXT:  2      12    0.50    *                   vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1}
218# CHECK-NEXT:  2      12    0.50    *                   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
219# CHECK-NEXT:  1      5     0.50                        vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
220# CHECK-NEXT:  2      12    0.50    *                   vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
221# CHECK-NEXT:  2      12    0.50    *                   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
222# CHECK-NEXT:  1      5     0.50                        vpshrdq	$1, %zmm16, %zmm17, %zmm19
223# CHECK-NEXT:  2      12    0.50    *                   vpshrdq	$1, (%rax), %zmm17, %zmm19
224# CHECK-NEXT:  2      12    0.50    *                   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19
225# CHECK-NEXT:  1      5     0.50                        vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1}
226# CHECK-NEXT:  2      12    0.50    *                   vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1}
227# CHECK-NEXT:  2      12    0.50    *                   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
228# CHECK-NEXT:  1      5     0.50                        vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
229# CHECK-NEXT:  2      12    0.50    *                   vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
230# CHECK-NEXT:  2      12    0.50    *                   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
231# CHECK-NEXT:  1      5     0.50                        vpshrdvd	%zmm16, %zmm17, %zmm19
232# CHECK-NEXT:  2      12    0.50    *                   vpshrdvd	(%rax), %zmm17, %zmm19
233# CHECK-NEXT:  2      12    0.50    *                   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19
234# CHECK-NEXT:  1      5     0.50                        vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1}
235# CHECK-NEXT:  2      12    0.50    *                   vpshrdvd	(%rax), %zmm17, %zmm19 {%k1}
236# CHECK-NEXT:  2      12    0.50    *                   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
237# CHECK-NEXT:  1      5     0.50                        vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
238# CHECK-NEXT:  2      12    0.50    *                   vpshrdvd	(%rax), %zmm17, %zmm19 {%k1} {z}
239# CHECK-NEXT:  2      12    0.50    *                   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
240# CHECK-NEXT:  1      5     0.50                        vpshrdvq	%zmm16, %zmm17, %zmm19
241# CHECK-NEXT:  2      12    0.50    *                   vpshrdvq	(%rax), %zmm17, %zmm19
242# CHECK-NEXT:  2      12    0.50    *                   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19
243# CHECK-NEXT:  1      5     0.50                        vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1}
244# CHECK-NEXT:  2      12    0.50    *                   vpshrdvq	(%rax), %zmm17, %zmm19 {%k1}
245# CHECK-NEXT:  2      12    0.50    *                   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
246# CHECK-NEXT:  1      5     0.50                        vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
247# CHECK-NEXT:  2      12    0.50    *                   vpshrdvq	(%rax), %zmm17, %zmm19 {%k1} {z}
248# CHECK-NEXT:  2      12    0.50    *                   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
249# CHECK-NEXT:  1      5     0.50                        vpshrdvw	%zmm16, %zmm17, %zmm19
250# CHECK-NEXT:  2      12    0.50    *                   vpshrdvw	(%rax), %zmm17, %zmm19
251# CHECK-NEXT:  1      5     0.50                        vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1}
252# CHECK-NEXT:  2      12    0.50    *                   vpshrdvw	(%rax), %zmm17, %zmm19 {%k1}
253# CHECK-NEXT:  1      5     0.50                        vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
254# CHECK-NEXT:  2      12    0.50    *                   vpshrdvw	(%rax), %zmm17, %zmm19 {%k1} {z}
255# CHECK-NEXT:  1      5     0.50                        vpshrdw	$1, %zmm16, %zmm17, %zmm19
256# CHECK-NEXT:  2      12    0.50    *                   vpshrdw	$1, (%rax), %zmm17, %zmm19
257# CHECK-NEXT:  1      5     0.50                        vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1}
258# CHECK-NEXT:  2      12    0.50    *                   vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1}
259# CHECK-NEXT:  1      5     0.50                        vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
260# CHECK-NEXT:  2      12    0.50    *                   vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
261
262# CHECK:      Resources:
263# CHECK-NEXT: [0]   - ICXDivider
264# CHECK-NEXT: [1]   - ICXFPDivider
265# CHECK-NEXT: [2]   - ICXPort0
266# CHECK-NEXT: [3]   - ICXPort1
267# CHECK-NEXT: [4]   - ICXPort2
268# CHECK-NEXT: [5]   - ICXPort3
269# CHECK-NEXT: [6]   - ICXPort4
270# CHECK-NEXT: [7]   - ICXPort5
271# CHECK-NEXT: [8]   - ICXPort6
272# CHECK-NEXT: [9]   - ICXPort7
273# CHECK-NEXT: [10]  - ICXPort8
274# CHECK-NEXT: [11]  - ICXPort9
275
276# CHECK:      Resource pressure per iteration:
277# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]
278# CHECK-NEXT:  -      -     48.00   -     34.00  34.00   -     68.00   -      -      -      -
279
280# CHECK:      Resource pressure by instruction:
281# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   Instructions:
282# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcompressb	%zmm16, %zmm19
283# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcompressb	%zmm16, (%rax)
284# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcompressb	%zmm16, %zmm19 {%k1}
285# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcompressb	%zmm16, (%rax) {%k1}
286# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcompressb	%zmm16, %zmm19 {%k1} {z}
287# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcompressw	%zmm16, %zmm19
288# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcompressw	%zmm16, (%rax)
289# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcompressw	%zmm16, %zmm19 {%k1}
290# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpcompressw	%zmm16, (%rax) {%k1}
291# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpcompressw	%zmm16, %zmm19 {%k1} {z}
292# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpexpandb	%zmm16, %zmm19
293# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpexpandb	(%rax), %zmm19
294# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpexpandb	%zmm16, %zmm19 {%k1}
295# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpexpandb	(%rax), %zmm19 {%k1}
296# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpexpandb	%zmm16, %zmm19 {%k1} {z}
297# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpexpandw	%zmm16, %zmm19
298# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpexpandw	(%rax), %zmm19
299# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpexpandw	%zmm16, %zmm19 {%k1}
300# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -      -      -     vpexpandw	(%rax), %zmm19 {%k1}
301# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -     vpexpandw	%zmm16, %zmm19 {%k1} {z}
302# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldd	$1, %zmm16, %zmm17, %zmm19
303# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldd	$1, (%rax), %zmm17, %zmm19
304# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19
305# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1}
306# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1}
307# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
308# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
309# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
310# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
311# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldq	$1, %zmm16, %zmm17, %zmm19
312# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldq	$1, (%rax), %zmm17, %zmm19
313# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19
314# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1}
315# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1}
316# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
317# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
318# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
319# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
320# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvd	%zmm16, %zmm17, %zmm19
321# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvd	(%rax), %zmm17, %zmm19
322# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvd	(%rax){1to16}, %zmm17, %zmm19
323# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvd	%zmm16, %zmm17, %zmm19 {%k1}
324# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvd	(%rax), %zmm17, %zmm19 {%k1}
325# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
326# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
327# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvd	(%rax), %zmm17, %zmm19 {%k1} {z}
328# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
329# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvq	%zmm16, %zmm17, %zmm19
330# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvq	(%rax), %zmm17, %zmm19
331# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvq	(%rax){1to8}, %zmm17, %zmm19
332# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvq	%zmm16, %zmm17, %zmm19 {%k1}
333# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvq	(%rax), %zmm17, %zmm19 {%k1}
334# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
335# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
336# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvq	(%rax), %zmm17, %zmm19 {%k1} {z}
337# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
338# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvw	%zmm16, %zmm17, %zmm19
339# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvw	(%rax), %zmm17, %zmm19
340# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvw	%zmm16, %zmm17, %zmm19 {%k1}
341# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvw	(%rax), %zmm17, %zmm19 {%k1}
342# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
343# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldvw	(%rax), %zmm17, %zmm19 {%k1} {z}
344# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldw	$1, %zmm16, %zmm17, %zmm19
345# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldw	$1, (%rax), %zmm17, %zmm19
346# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1}
347# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1}
348# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
349# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
350# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdd	$1, %zmm16, %zmm17, %zmm19
351# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdd	$1, (%rax), %zmm17, %zmm19
352# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19
353# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1}
354# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1}
355# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
356# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
357# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
358# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
359# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdq	$1, %zmm16, %zmm17, %zmm19
360# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdq	$1, (%rax), %zmm17, %zmm19
361# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19
362# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1}
363# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1}
364# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
365# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
366# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
367# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
368# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvd	%zmm16, %zmm17, %zmm19
369# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvd	(%rax), %zmm17, %zmm19
370# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvd	(%rax){1to16}, %zmm17, %zmm19
371# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1}
372# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvd	(%rax), %zmm17, %zmm19 {%k1}
373# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
374# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
375# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvd	(%rax), %zmm17, %zmm19 {%k1} {z}
376# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
377# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvq	%zmm16, %zmm17, %zmm19
378# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvq	(%rax), %zmm17, %zmm19
379# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvq	(%rax){1to8}, %zmm17, %zmm19
380# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1}
381# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvq	(%rax), %zmm17, %zmm19 {%k1}
382# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
383# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
384# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvq	(%rax), %zmm17, %zmm19 {%k1} {z}
385# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
386# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvw	%zmm16, %zmm17, %zmm19
387# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvw	(%rax), %zmm17, %zmm19
388# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1}
389# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvw	(%rax), %zmm17, %zmm19 {%k1}
390# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
391# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdvw	(%rax), %zmm17, %zmm19 {%k1} {z}
392# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdw	$1, %zmm16, %zmm17, %zmm19
393# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdw	$1, (%rax), %zmm17, %zmm19
394# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1}
395# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1}
396# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
397# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
398