Lines Matching full:cost
1 ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+sse2,-ssse3 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=SSE2
2 ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+sse2,+sse3,+ssse3 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=SSSE3
3 ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=corei7 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=SSE41
4 ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=corei7-avx -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=AVX
5 ; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -mcpu=core-avx2 -cost-model -analyze | FileCheck %s -check-prefix=CHECK -check-prefix=AVX2
8 ; Verify the cost model for alternate shuffles.
18 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2i32':
19 ; SSE2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
20 ; SSSE3: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
21 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
22 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
23 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
29 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2f32':
30 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
31 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
32 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
33 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
34 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
40 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2i32_2':
41 ; SSE2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
42 ; SSSE3: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
43 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
44 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
45 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
51 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2f32_2':
52 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
53 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
54 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
55 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
56 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
65 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2i64':
66 ; SSE2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
67 ; SSSE3: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
68 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
69 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
70 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
76 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2f64':
77 ; SSE2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
78 ; SSSE3: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
79 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
80 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
81 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
88 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2i64_2':
89 ; SSE2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
90 ; SSSE3: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
91 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
92 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
93 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
100 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v2f64_2':
101 ; SSE2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
102 ; SSSE3: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
103 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
104 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
105 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
113 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4i32':
114 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
115 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
116 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
117 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
118 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
125 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4i32_2':
126 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
127 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
128 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
129 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
130 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
137 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4f32':
138 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
139 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
140 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
141 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
142 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
149 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4f32_2':
150 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
151 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
152 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
153 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
154 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
160 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4i64':
161 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
162 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
163 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
164 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
165 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
172 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4i64_2':
173 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
174 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
175 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
176 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
177 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
184 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4f64':
185 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
186 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
187 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
188 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
189 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
196 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v4f64_2':
197 ; SSE2: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
198 ; SSSE3: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
199 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
200 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
201 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
209 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v8i16':
210 ; SSE2: Cost Model: {{.*}} 8 for instruction: %1 = shufflevector
211 ; SSSE3: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
212 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
213 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
214 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
221 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v8i16_2':
222 ; SSE2: Cost Model: {{.*}} 8 for instruction: %1 = shufflevector
223 ; SSSE3: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
224 ; SSE41: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
225 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
226 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
233 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v8i32':
234 ; SSE2: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
235 ; SSSE3: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
236 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
237 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
238 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
245 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v8i32_2':
246 ; SSE2: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
247 ; SSSE3: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
248 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
249 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
250 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
257 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v8f32':
258 ; SSE2: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
259 ; SSSE3: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
260 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
261 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
262 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
269 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v8f32_2':
270 ; SSE2: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
271 ; SSSE3: Cost Model: {{.*}} 4 for instruction: %1 = shufflevector
272 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
273 ; AVX: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
274 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
282 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v16i8':
283 ; SSE2: Cost Model: {{.*}} 48 for instruction: %1 = shufflevector
284 ; SSSE3: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
285 ; SSE41: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
286 ; AVX: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
287 ; AVX2: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
294 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v16i8_2':
295 ; SSE2: Cost Model: {{.*}} 48 for instruction: %1 = shufflevector
296 ; SSSE3: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
297 ; SSE41: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
298 ; AVX: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
299 ; AVX2: Cost Model: {{.*}} 3 for instruction: %1 = shufflevector
306 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v16i16':
307 ; SSE2: Cost Model: {{.*}} 16 for instruction: %1 = shufflevector
308 ; SSSE3: Cost Model: {{.*}} 6 for instruction: %1 = shufflevector
309 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
310 ; AVX: Cost Model: {{.*}} 5 for instruction: %1 = shufflevector
311 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
318 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v16i16_2':
319 ; SSE2: Cost Model: {{.*}} 16 for instruction: %1 = shufflevector
320 ; SSSE3: Cost Model: {{.*}} 6 for instruction: %1 = shufflevector
321 ; SSE41: Cost Model: {{.*}} 2 for instruction: %1 = shufflevector
322 ; AVX: Cost Model: {{.*}} 5 for instruction: %1 = shufflevector
323 ; AVX2: Cost Model: {{.*}} 1 for instruction: %1 = shufflevector
329 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v32i8':
330 ; SSE2: Cost Model: {{.*}} 96 for instruction: %1 = shufflevector
331 ; SSSE3: Cost Model: {{.*}} 6 for instruction: %1 = shufflevector
332 ; SSE41: Cost Model: {{.*}} 6 for instruction: %1 = shufflevector
333 ; AVX: Cost Model: {{.*}} 9 for instruction: %1 = shufflevector
334 ; AVX2: Cost Model: {{.*}} 9 for instruction: %1 = shufflevector
341 ; CHECK: Printing analysis 'Cost Model Analysis' for function 'test_v32i8_2':
342 ; SSE2: Cost Model: {{.*}} 96 for instruction: %1 = shufflevector
343 ; SSSE3: Cost Model: {{.*}} 6 for instruction: %1 = shufflevector
344 ; SSE41: Cost Model: {{.*}} 6 for instruction: %1 = shufflevector
345 ; AVX: Cost Model: {{.*}} 9 for instruction: %1 = shufflevector
346 ; AVX2: Cost Model: {{.*}} 9 for instruction: %1 = shufflevector