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
4 vpcompressb
%zmm16
, %zmm19
5 vpcompressb
%zmm16
, (%rax
)
6 vpcompressb
%zmm16
, %zmm19
{k1
}
7 vpcompressb
%zmm16
, (%rax
) {k1
}
8 vpcompressb
%zmm16
, %zmm19
{k1
}{z
}
10 vpcompressw
%zmm16
, %zmm19
11 vpcompressw
%zmm16
, (%rax
)
12 vpcompressw
%zmm16
, %zmm19
{k1
}
13 vpcompressw
%zmm16
, (%rax
) {k1
}
14 vpcompressw
%zmm16
, %zmm19
{k1
}{z
}
16 vpexpandb
%zmm16
, %zmm19
17 vpexpandb
(%rax
), %zmm19
18 vpexpandb
%zmm16
, %zmm19
{k1
}
19 vpexpandb
(%rax
), %zmm19
{k1
}
20 vpexpandb
%zmm16
, %zmm19
{k1
}{z
}
22 vpexpandw
%zmm16
, %zmm19
23 vpexpandw
(%rax
), %zmm19
24 vpexpandw
%zmm16
, %zmm19
{k1
}
25 vpexpandw
(%rax
), %zmm19
{k1
}
26 vpexpandw
%zmm16
, %zmm19
{k1
}{z
}
28 vpshldd $
1, %zmm16
, %zmm17
, %zmm19
29 vpshldd $
1, (%rax
), %zmm17
, %zmm19
30 vpshldd $
1, (%rax
){1to16
}, %zmm17
, %zmm19
31 vpshldd $
1, %zmm16
, %zmm17
, %zmm19
{k1
}
32 vpshldd $
1, (%rax
), %zmm17
, %zmm19
{k1
}
33 vpshldd $
1, (%rax
){1to16
}, %zmm17
, %zmm19
{k1
}
34 vpshldd $
1, %zmm16
, %zmm17
, %zmm19
{k1
}{z
}
35 vpshldd $
1, (%rax
), %zmm17
, %zmm19
{k1
}{z
}
36 vpshldd $
1, (%rax
){1to16
}, %zmm17
, %zmm19
{k1
}{z
}
38 vpshldq $
1, %zmm16
, %zmm17
, %zmm19
39 vpshldq $
1, (%rax
), %zmm17
, %zmm19
40 vpshldq $
1, (%rax
){1to8
}, %zmm17
, %zmm19
41 vpshldq $
1, %zmm16
, %zmm17
, %zmm19
{k1
}
42 vpshldq $
1, (%rax
), %zmm17
, %zmm19
{k1
}
43 vpshldq $
1, (%rax
){1to8
}, %zmm17
, %zmm19
{k1
}
44 vpshldq $
1, %zmm16
, %zmm17
, %zmm19
{k1
}{z
}
45 vpshldq $
1, (%rax
), %zmm17
, %zmm19
{k1
}{z
}
46 vpshldq $
1, (%rax
){1to8
}, %zmm17
, %zmm19
{k1
}{z
}
48 vpshldvd
%zmm16
, %zmm17
, %zmm19
49 vpshldvd
(%rax
), %zmm17
, %zmm19
50 vpshldvd
(%rax
){1to16
}, %zmm17
, %zmm19
51 vpshldvd
%zmm16
, %zmm17
, %zmm19
{k1
}
52 vpshldvd
(%rax
), %zmm17
, %zmm19
{k1
}
53 vpshldvd
(%rax
){1to16
}, %zmm17
, %zmm19
{k1
}
54 vpshldvd
%zmm16
, %zmm17
, %zmm19
{k1
}{z
}
55 vpshldvd
(%rax
), %zmm17
, %zmm19
{k1
}{z
}
56 vpshldvd
(%rax
){1to16
}, %zmm17
, %zmm19
{k1
}{z
}
58 vpshldvq
%zmm16
, %zmm17
, %zmm19
59 vpshldvq
(%rax
), %zmm17
, %zmm19
60 vpshldvq
(%rax
){1to8
}, %zmm17
, %zmm19
61 vpshldvq
%zmm16
, %zmm17
, %zmm19
{k1
}
62 vpshldvq
(%rax
), %zmm17
, %zmm19
{k1
}
63 vpshldvq
(%rax
){1to8
}, %zmm17
, %zmm19
{k1
}
64 vpshldvq
%zmm16
, %zmm17
, %zmm19
{k1
}{z
}
65 vpshldvq
(%rax
), %zmm17
, %zmm19
{k1
}{z
}
66 vpshldvq
(%rax
){1to8
}, %zmm17
, %zmm19
{k1
}{z
}
68 vpshldvw
%zmm16
, %zmm17
, %zmm19
69 vpshldvw
(%rax
), %zmm17
, %zmm19
70 vpshldvw
%zmm16
, %zmm17
, %zmm19
{k1
}
71 vpshldvw
(%rax
), %zmm17
, %zmm19
{k1
}
72 vpshldvw
%zmm16
, %zmm17
, %zmm19
{k1
}{z
}
73 vpshldvw
(%rax
), %zmm17
, %zmm19
{k1
}{z
}
75 vpshldw $
1, %zmm16
, %zmm17
, %zmm19
76 vpshldw $
1, (%rax
), %zmm17
, %zmm19
77 vpshldw $
1, %zmm16
, %zmm17
, %zmm19
{k1
}
78 vpshldw $
1, (%rax
), %zmm17
, %zmm19
{k1
}
79 vpshldw $
1, %zmm16
, %zmm17
, %zmm19
{k1
}{z
}
80 vpshldw $
1, (%rax
), %zmm17
, %zmm19
{k1
}{z
}
82 vpshrdd $
1, %zmm16
, %zmm17
, %zmm19
83 vpshrdd $
1, (%rax
), %zmm17
, %zmm19
84 vpshrdd $
1, (%rax
){1to16
}, %zmm17
, %zmm19
85 vpshrdd $
1, %zmm16
, %zmm17
, %zmm19
{k1
}
86 vpshrdd $
1, (%rax
), %zmm17
, %zmm19
{k1
}
87 vpshrdd $
1, (%rax
){1to16
}, %zmm17
, %zmm19
{k1
}
88 vpshrdd $
1, %zmm16
, %zmm17
, %zmm19
{k1
}{z
}
89 vpshrdd $
1, (%rax
), %zmm17
, %zmm19
{k1
}{z
}
90 vpshrdd $
1, (%rax
){1to16
}, %zmm17
, %zmm19
{k1
}{z
}
92 vpshrdq $
1, %zmm16
, %zmm17
, %zmm19
93 vpshrdq $
1, (%rax
), %zmm17
, %zmm19
94 vpshrdq $
1, (%rax
){1to8
}, %zmm17
, %zmm19
95 vpshrdq $
1, %zmm16
, %zmm17
, %zmm19
{k1
}
96 vpshrdq $
1, (%rax
), %zmm17
, %zmm19
{k1
}
97 vpshrdq $
1, (%rax
){1to8
}, %zmm17
, %zmm19
{k1
}
98 vpshrdq $
1, %zmm16
, %zmm17
, %zmm19
{k1
}{z
}
99 vpshrdq $
1, (%rax
), %zmm17
, %zmm19
{k1
}{z
}
100 vpshrdq $
1, (%rax
){1to8
}, %zmm17
, %zmm19
{k1
}{z
}
102 vpshrdvd
%zmm16
, %zmm17
, %zmm19
103 vpshrdvd
(%rax
), %zmm17
, %zmm19
104 vpshrdvd
(%rax
){1to16
}, %zmm17
, %zmm19
105 vpshrdvd
%zmm16
, %zmm17
, %zmm19
{k1
}
106 vpshrdvd
(%rax
), %zmm17
, %zmm19
{k1
}
107 vpshrdvd
(%rax
){1to16
}, %zmm17
, %zmm19
{k1
}
108 vpshrdvd
%zmm16
, %zmm17
, %zmm19
{k1
}{z
}
109 vpshrdvd
(%rax
), %zmm17
, %zmm19
{k1
}{z
}
110 vpshrdvd
(%rax
){1to16
}, %zmm17
, %zmm19
{k1
}{z
}
112 vpshrdvq
%zmm16
, %zmm17
, %zmm19
113 vpshrdvq
(%rax
), %zmm17
, %zmm19
114 vpshrdvq
(%rax
){1to8
}, %zmm17
, %zmm19
115 vpshrdvq
%zmm16
, %zmm17
, %zmm19
{k1
}
116 vpshrdvq
(%rax
), %zmm17
, %zmm19
{k1
}
117 vpshrdvq
(%rax
){1to8
}, %zmm17
, %zmm19
{k1
}
118 vpshrdvq
%zmm16
, %zmm17
, %zmm19
{k1
}{z
}
119 vpshrdvq
(%rax
), %zmm17
, %zmm19
{k1
}{z
}
120 vpshrdvq
(%rax
){1to8
}, %zmm17
, %zmm19
{k1
}{z
}
122 vpshrdvw
%zmm16
, %zmm17
, %zmm19
123 vpshrdvw
(%rax
), %zmm17
, %zmm19
124 vpshrdvw
%zmm16
, %zmm17
, %zmm19
{k1
}
125 vpshrdvw
(%rax
), %zmm17
, %zmm19
{k1
}
126 vpshrdvw
%zmm16
, %zmm17
, %zmm19
{k1
}{z
}
127 vpshrdvw
(%rax
), %zmm17
, %zmm19
{k1
}{z
}
129 vpshrdw $
1, %zmm16
, %zmm17
, %zmm19
130 vpshrdw $
1, (%rax
), %zmm17
, %zmm19
131 vpshrdw $
1, %zmm16
, %zmm17
, %zmm19
{k1
}
132 vpshrdw $
1, (%rax
), %zmm17
, %zmm19
{k1
}
133 vpshrdw $
1, %zmm16
, %zmm17
, %zmm19
{k1
}{z
}
134 vpshrdw $
1, (%rax
), %zmm17
, %zmm19
{k1
}{z
}
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)
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}
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
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 - - - -
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}