xref: /llvm-project/llvm/test/tools/llvm-mca/X86/Generic/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=x86-64 -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      1     1.00                  U     vpcompressb	%zmm16, %zmm19
146# CHECK-NEXT:  2      8     1.00           *            vpcompressb	%zmm16, (%rax)
147# CHECK-NEXT:  1      1     1.00                        vpcompressb	%zmm16, %zmm19 {%k1}
148# CHECK-NEXT:  2      8     1.00           *            vpcompressb	%zmm16, (%rax) {%k1}
149# CHECK-NEXT:  1      1     1.00                        vpcompressb	%zmm16, %zmm19 {%k1} {z}
150# CHECK-NEXT:  1      1     1.00                  U     vpcompressw	%zmm16, %zmm19
151# CHECK-NEXT:  2      8     1.00           *            vpcompressw	%zmm16, (%rax)
152# CHECK-NEXT:  1      1     1.00                        vpcompressw	%zmm16, %zmm19 {%k1}
153# CHECK-NEXT:  2      8     1.00           *            vpcompressw	%zmm16, (%rax) {%k1}
154# CHECK-NEXT:  1      1     1.00                        vpcompressw	%zmm16, %zmm19 {%k1} {z}
155# CHECK-NEXT:  1      1     1.00                  U     vpexpandb	%zmm16, %zmm19
156# CHECK-NEXT:  2      8     1.00                  U     vpexpandb	(%rax), %zmm19
157# CHECK-NEXT:  1      1     1.00                        vpexpandb	%zmm16, %zmm19 {%k1}
158# CHECK-NEXT:  2      8     1.00    *                   vpexpandb	(%rax), %zmm19 {%k1}
159# CHECK-NEXT:  1      1     1.00                        vpexpandb	%zmm16, %zmm19 {%k1} {z}
160# CHECK-NEXT:  1      1     1.00                  U     vpexpandw	%zmm16, %zmm19
161# CHECK-NEXT:  2      8     1.00                  U     vpexpandw	(%rax), %zmm19
162# CHECK-NEXT:  1      1     1.00                        vpexpandw	%zmm16, %zmm19 {%k1}
163# CHECK-NEXT:  2      8     1.00    *                   vpexpandw	(%rax), %zmm19 {%k1}
164# CHECK-NEXT:  1      1     1.00                        vpexpandw	%zmm16, %zmm19 {%k1} {z}
165# CHECK-NEXT:  1      5     1.00                        vpshldd	$1, %zmm16, %zmm17, %zmm19
166# CHECK-NEXT:  2      12    1.00    *                   vpshldd	$1, (%rax), %zmm17, %zmm19
167# CHECK-NEXT:  2      12    1.00    *                   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19
168# CHECK-NEXT:  1      5     1.00                        vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1}
169# CHECK-NEXT:  2      12    1.00    *                   vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1}
170# CHECK-NEXT:  2      12    1.00    *                   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
171# CHECK-NEXT:  1      5     1.00                        vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
172# CHECK-NEXT:  2      12    1.00    *                   vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
173# CHECK-NEXT:  2      12    1.00    *                   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
174# CHECK-NEXT:  1      5     1.00                        vpshldq	$1, %zmm16, %zmm17, %zmm19
175# CHECK-NEXT:  2      12    1.00    *                   vpshldq	$1, (%rax), %zmm17, %zmm19
176# CHECK-NEXT:  2      12    1.00    *                   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19
177# CHECK-NEXT:  1      5     1.00                        vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1}
178# CHECK-NEXT:  2      12    1.00    *                   vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1}
179# CHECK-NEXT:  2      12    1.00    *                   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
180# CHECK-NEXT:  1      5     1.00                        vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
181# CHECK-NEXT:  2      12    1.00    *                   vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
182# CHECK-NEXT:  2      12    1.00    *                   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
183# CHECK-NEXT:  1      5     1.00                        vpshldvd	%zmm16, %zmm17, %zmm19
184# CHECK-NEXT:  2      12    1.00    *                   vpshldvd	(%rax), %zmm17, %zmm19
185# CHECK-NEXT:  2      12    1.00    *                   vpshldvd	(%rax){1to16}, %zmm17, %zmm19
186# CHECK-NEXT:  1      5     1.00                        vpshldvd	%zmm16, %zmm17, %zmm19 {%k1}
187# CHECK-NEXT:  2      12    1.00    *                   vpshldvd	(%rax), %zmm17, %zmm19 {%k1}
188# CHECK-NEXT:  2      12    1.00    *                   vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
189# CHECK-NEXT:  1      5     1.00                        vpshldvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
190# CHECK-NEXT:  2      12    1.00    *                   vpshldvd	(%rax), %zmm17, %zmm19 {%k1} {z}
191# CHECK-NEXT:  2      12    1.00    *                   vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
192# CHECK-NEXT:  1      5     1.00                        vpshldvq	%zmm16, %zmm17, %zmm19
193# CHECK-NEXT:  2      12    1.00    *                   vpshldvq	(%rax), %zmm17, %zmm19
194# CHECK-NEXT:  2      12    1.00    *                   vpshldvq	(%rax){1to8}, %zmm17, %zmm19
195# CHECK-NEXT:  1      5     1.00                        vpshldvq	%zmm16, %zmm17, %zmm19 {%k1}
196# CHECK-NEXT:  2      12    1.00    *                   vpshldvq	(%rax), %zmm17, %zmm19 {%k1}
197# CHECK-NEXT:  2      12    1.00    *                   vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
198# CHECK-NEXT:  1      5     1.00                        vpshldvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
199# CHECK-NEXT:  2      12    1.00    *                   vpshldvq	(%rax), %zmm17, %zmm19 {%k1} {z}
200# CHECK-NEXT:  2      12    1.00    *                   vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
201# CHECK-NEXT:  1      5     1.00                        vpshldvw	%zmm16, %zmm17, %zmm19
202# CHECK-NEXT:  2      12    1.00    *                   vpshldvw	(%rax), %zmm17, %zmm19
203# CHECK-NEXT:  1      5     1.00                        vpshldvw	%zmm16, %zmm17, %zmm19 {%k1}
204# CHECK-NEXT:  2      12    1.00    *                   vpshldvw	(%rax), %zmm17, %zmm19 {%k1}
205# CHECK-NEXT:  1      5     1.00                        vpshldvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
206# CHECK-NEXT:  2      12    1.00    *                   vpshldvw	(%rax), %zmm17, %zmm19 {%k1} {z}
207# CHECK-NEXT:  1      5     1.00                        vpshldw	$1, %zmm16, %zmm17, %zmm19
208# CHECK-NEXT:  2      12    1.00    *                   vpshldw	$1, (%rax), %zmm17, %zmm19
209# CHECK-NEXT:  1      5     1.00                        vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1}
210# CHECK-NEXT:  2      12    1.00    *                   vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1}
211# CHECK-NEXT:  1      5     1.00                        vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
212# CHECK-NEXT:  2      12    1.00    *                   vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
213# CHECK-NEXT:  1      5     1.00                        vpshrdd	$1, %zmm16, %zmm17, %zmm19
214# CHECK-NEXT:  2      12    1.00    *                   vpshrdd	$1, (%rax), %zmm17, %zmm19
215# CHECK-NEXT:  2      12    1.00    *                   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19
216# CHECK-NEXT:  1      5     1.00                        vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1}
217# CHECK-NEXT:  2      12    1.00    *                   vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1}
218# CHECK-NEXT:  2      12    1.00    *                   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
219# CHECK-NEXT:  1      5     1.00                        vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
220# CHECK-NEXT:  2      12    1.00    *                   vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
221# CHECK-NEXT:  2      12    1.00    *                   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
222# CHECK-NEXT:  1      5     1.00                        vpshrdq	$1, %zmm16, %zmm17, %zmm19
223# CHECK-NEXT:  2      12    1.00    *                   vpshrdq	$1, (%rax), %zmm17, %zmm19
224# CHECK-NEXT:  2      12    1.00    *                   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19
225# CHECK-NEXT:  1      5     1.00                        vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1}
226# CHECK-NEXT:  2      12    1.00    *                   vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1}
227# CHECK-NEXT:  2      12    1.00    *                   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
228# CHECK-NEXT:  1      5     1.00                        vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
229# CHECK-NEXT:  2      12    1.00    *                   vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
230# CHECK-NEXT:  2      12    1.00    *                   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
231# CHECK-NEXT:  1      5     1.00                        vpshrdvd	%zmm16, %zmm17, %zmm19
232# CHECK-NEXT:  2      12    1.00    *                   vpshrdvd	(%rax), %zmm17, %zmm19
233# CHECK-NEXT:  2      12    1.00    *                   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19
234# CHECK-NEXT:  1      5     1.00                        vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1}
235# CHECK-NEXT:  2      12    1.00    *                   vpshrdvd	(%rax), %zmm17, %zmm19 {%k1}
236# CHECK-NEXT:  2      12    1.00    *                   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
237# CHECK-NEXT:  1      5     1.00                        vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
238# CHECK-NEXT:  2      12    1.00    *                   vpshrdvd	(%rax), %zmm17, %zmm19 {%k1} {z}
239# CHECK-NEXT:  2      12    1.00    *                   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
240# CHECK-NEXT:  1      5     1.00                        vpshrdvq	%zmm16, %zmm17, %zmm19
241# CHECK-NEXT:  2      12    1.00    *                   vpshrdvq	(%rax), %zmm17, %zmm19
242# CHECK-NEXT:  2      12    1.00    *                   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19
243# CHECK-NEXT:  1      5     1.00                        vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1}
244# CHECK-NEXT:  2      12    1.00    *                   vpshrdvq	(%rax), %zmm17, %zmm19 {%k1}
245# CHECK-NEXT:  2      12    1.00    *                   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
246# CHECK-NEXT:  1      5     1.00                        vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
247# CHECK-NEXT:  2      12    1.00    *                   vpshrdvq	(%rax), %zmm17, %zmm19 {%k1} {z}
248# CHECK-NEXT:  2      12    1.00    *                   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
249# CHECK-NEXT:  1      5     1.00                        vpshrdvw	%zmm16, %zmm17, %zmm19
250# CHECK-NEXT:  2      12    1.00    *                   vpshrdvw	(%rax), %zmm17, %zmm19
251# CHECK-NEXT:  1      5     1.00                        vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1}
252# CHECK-NEXT:  2      12    1.00    *                   vpshrdvw	(%rax), %zmm17, %zmm19 {%k1}
253# CHECK-NEXT:  1      5     1.00                        vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
254# CHECK-NEXT:  2      12    1.00    *                   vpshrdvw	(%rax), %zmm17, %zmm19 {%k1} {z}
255# CHECK-NEXT:  1      5     1.00                        vpshrdw	$1, %zmm16, %zmm17, %zmm19
256# CHECK-NEXT:  2      12    1.00    *                   vpshrdw	$1, (%rax), %zmm17, %zmm19
257# CHECK-NEXT:  1      5     1.00                        vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1}
258# CHECK-NEXT:  2      12    1.00    *                   vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1}
259# CHECK-NEXT:  1      5     1.00                        vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
260# CHECK-NEXT:  2      12    1.00    *                   vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
261
262# CHECK:      Resources:
263# CHECK-NEXT: [0]   - SBDivider
264# CHECK-NEXT: [1]   - SBFPDivider
265# CHECK-NEXT: [2]   - SBPort0
266# CHECK-NEXT: [3]   - SBPort1
267# CHECK-NEXT: [4]   - SBPort4
268# CHECK-NEXT: [5]   - SBPort5
269# CHECK-NEXT: [6.0] - SBPort23
270# CHECK-NEXT: [6.1] - SBPort23
271
272# CHECK:      Resource pressure per iteration:
273# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
274# CHECK-NEXT:  -      -     96.00   -      -     20.00  34.00  34.00
275
276# CHECK:      Resource pressure by instruction:
277# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
278# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcompressb	%zmm16, %zmm19
279# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpcompressb	%zmm16, (%rax)
280# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcompressb	%zmm16, %zmm19 {%k1}
281# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpcompressb	%zmm16, (%rax) {%k1}
282# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcompressb	%zmm16, %zmm19 {%k1} {z}
283# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcompressw	%zmm16, %zmm19
284# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpcompressw	%zmm16, (%rax)
285# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcompressw	%zmm16, %zmm19 {%k1}
286# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpcompressw	%zmm16, (%rax) {%k1}
287# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpcompressw	%zmm16, %zmm19 {%k1} {z}
288# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpexpandb	%zmm16, %zmm19
289# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpexpandb	(%rax), %zmm19
290# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpexpandb	%zmm16, %zmm19 {%k1}
291# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpexpandb	(%rax), %zmm19 {%k1}
292# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpexpandb	%zmm16, %zmm19 {%k1} {z}
293# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpexpandw	%zmm16, %zmm19
294# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpexpandw	(%rax), %zmm19
295# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpexpandw	%zmm16, %zmm19 {%k1}
296# CHECK-NEXT:  -      -      -      -      -     1.00   0.50   0.50   vpexpandw	(%rax), %zmm19 {%k1}
297# CHECK-NEXT:  -      -      -      -      -     1.00    -      -     vpexpandw	%zmm16, %zmm19 {%k1} {z}
298# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldd	$1, %zmm16, %zmm17, %zmm19
299# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldd	$1, (%rax), %zmm17, %zmm19
300# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19
301# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1}
302# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1}
303# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
304# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
305# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
306# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
307# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldq	$1, %zmm16, %zmm17, %zmm19
308# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldq	$1, (%rax), %zmm17, %zmm19
309# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19
310# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1}
311# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1}
312# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
313# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
314# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
315# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
316# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvd	%zmm16, %zmm17, %zmm19
317# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvd	(%rax), %zmm17, %zmm19
318# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvd	(%rax){1to16}, %zmm17, %zmm19
319# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvd	%zmm16, %zmm17, %zmm19 {%k1}
320# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvd	(%rax), %zmm17, %zmm19 {%k1}
321# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
322# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
323# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvd	(%rax), %zmm17, %zmm19 {%k1} {z}
324# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
325# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvq	%zmm16, %zmm17, %zmm19
326# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvq	(%rax), %zmm17, %zmm19
327# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvq	(%rax){1to8}, %zmm17, %zmm19
328# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvq	%zmm16, %zmm17, %zmm19 {%k1}
329# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvq	(%rax), %zmm17, %zmm19 {%k1}
330# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
331# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
332# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvq	(%rax), %zmm17, %zmm19 {%k1} {z}
333# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
334# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvw	%zmm16, %zmm17, %zmm19
335# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvw	(%rax), %zmm17, %zmm19
336# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvw	%zmm16, %zmm17, %zmm19 {%k1}
337# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvw	(%rax), %zmm17, %zmm19 {%k1}
338# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
339# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldvw	(%rax), %zmm17, %zmm19 {%k1} {z}
340# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldw	$1, %zmm16, %zmm17, %zmm19
341# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldw	$1, (%rax), %zmm17, %zmm19
342# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1}
343# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1}
344# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshldw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
345# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshldw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
346# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdd	$1, %zmm16, %zmm17, %zmm19
347# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdd	$1, (%rax), %zmm17, %zmm19
348# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19
349# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1}
350# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1}
351# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1}
352# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdd	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
353# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdd	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
354# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdd	$1, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
355# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdq	$1, %zmm16, %zmm17, %zmm19
356# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdq	$1, (%rax), %zmm17, %zmm19
357# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19
358# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1}
359# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1}
360# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1}
361# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdq	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
362# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdq	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
363# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdq	$1, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
364# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvd	%zmm16, %zmm17, %zmm19
365# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvd	(%rax), %zmm17, %zmm19
366# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19
367# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1}
368# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvd	(%rax), %zmm17, %zmm19 {%k1}
369# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1}
370# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvd	%zmm16, %zmm17, %zmm19 {%k1} {z}
371# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvd	(%rax), %zmm17, %zmm19 {%k1} {z}
372# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvd	(%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
373# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvq	%zmm16, %zmm17, %zmm19
374# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvq	(%rax), %zmm17, %zmm19
375# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19
376# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1}
377# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvq	(%rax), %zmm17, %zmm19 {%k1}
378# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1}
379# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvq	%zmm16, %zmm17, %zmm19 {%k1} {z}
380# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvq	(%rax), %zmm17, %zmm19 {%k1} {z}
381# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvq	(%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
382# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvw	%zmm16, %zmm17, %zmm19
383# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvw	(%rax), %zmm17, %zmm19
384# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1}
385# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvw	(%rax), %zmm17, %zmm19 {%k1}
386# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdvw	%zmm16, %zmm17, %zmm19 {%k1} {z}
387# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdvw	(%rax), %zmm17, %zmm19 {%k1} {z}
388# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdw	$1, %zmm16, %zmm17, %zmm19
389# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdw	$1, (%rax), %zmm17, %zmm19
390# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1}
391# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1}
392# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpshrdw	$1, %zmm16, %zmm17, %zmm19 {%k1} {z}
393# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpshrdw	$1, (%rax), %zmm17, %zmm19 {%k1} {z}
394