[LLVM][IR] Use splat syntax when printing ConstantExpr based splats. (#116856)
[llvm-project.git] / llvm / test / Analysis / CostModel / AArch64 / arith.ll
blob65337ca8f196d52bd5ad049f6ad1e0edd0ffa991
1 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2 ; RUN: opt -passes="print<cost-model>" -cost-kind=throughput 2>&1 -disable-output -mtriple=aarch64-linux-gnu < %s | FileCheck %s
4 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
6 define void @i1() {
7 ; CHECK-LABEL: 'i1'
8 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c = add i1 undef, undef
9 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d = sub i1 undef, undef
10 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e = mul i1 undef, undef
11 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i1 undef, undef
12 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i1 undef, undef
13 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h = shl i1 undef, undef
14 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i = and i1 undef, undef
15 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j = or i1 undef, undef
16 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k = xor i1 undef, undef
17 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
19   %c = add i1 undef, undef
20   %d = sub i1 undef, undef
21   %e = mul i1 undef, undef
22   %f = ashr i1 undef, undef
23   %g = lshr i1 undef, undef
24   %h = shl i1 undef, undef
25   %i = and i1 undef, undef
26   %j = or i1 undef, undef
27   %k = xor i1 undef, undef
28   ret void
31 define void @i8() {
32 ; CHECK-LABEL: 'i8'
33 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c = add i8 undef, undef
34 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d = sub i8 undef, undef
35 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e = mul i8 undef, undef
36 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i8 undef, undef
37 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i8 undef, undef
38 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h = shl i8 undef, undef
39 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i = and i8 undef, undef
40 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j = or i8 undef, undef
41 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k = xor i8 undef, undef
42 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
44   %c = add i8 undef, undef
45   %d = sub i8 undef, undef
46   %e = mul i8 undef, undef
47   %f = ashr i8 undef, undef
48   %g = lshr i8 undef, undef
49   %h = shl i8 undef, undef
50   %i = and i8 undef, undef
51   %j = or i8 undef, undef
52   %k = xor i8 undef, undef
53   ret void
56 define void @i16() {
57 ; CHECK-LABEL: 'i16'
58 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c = add i16 undef, undef
59 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d = sub i16 undef, undef
60 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e = mul i16 undef, undef
61 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i16 undef, undef
62 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i16 undef, undef
63 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h = shl i16 undef, undef
64 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i = and i16 undef, undef
65 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j = or i16 undef, undef
66 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k = xor i16 undef, undef
67 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
69   %c = add i16 undef, undef
70   %d = sub i16 undef, undef
71   %e = mul i16 undef, undef
72   %f = ashr i16 undef, undef
73   %g = lshr i16 undef, undef
74   %h = shl i16 undef, undef
75   %i = and i16 undef, undef
76   %j = or i16 undef, undef
77   %k = xor i16 undef, undef
78   ret void
81 define void @i32() {
82 ; CHECK-LABEL: 'i32'
83 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c = add i32 undef, undef
84 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d = sub i32 undef, undef
85 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e = mul i32 undef, undef
86 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i32 undef, undef
87 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i32 undef, undef
88 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h = shl i32 undef, undef
89 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i = and i32 undef, undef
90 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j = or i32 undef, undef
91 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k = xor i32 undef, undef
92 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
94   %c = add i32 undef, undef
95   %d = sub i32 undef, undef
96   %e = mul i32 undef, undef
97   %f = ashr i32 undef, undef
98   %g = lshr i32 undef, undef
99   %h = shl i32 undef, undef
100   %i = and i32 undef, undef
101   %j = or i32 undef, undef
102   %k = xor i32 undef, undef
103   ret void
106 define void @i64() {
107 ; CHECK-LABEL: 'i64'
108 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c = add i64 undef, undef
109 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d = sub i64 undef, undef
110 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e = mul i64 undef, undef
111 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f = ashr i64 undef, undef
112 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g = lshr i64 undef, undef
113 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h = shl i64 undef, undef
114 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i = and i64 undef, undef
115 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j = or i64 undef, undef
116 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k = xor i64 undef, undef
117 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
119   %c = add i64 undef, undef
120   %d = sub i64 undef, undef
121   %e = mul i64 undef, undef
122   %f = ashr i64 undef, undef
123   %g = lshr i64 undef, undef
124   %h = shl i64 undef, undef
125   %i = and i64 undef, undef
126   %j = or i64 undef, undef
127   %k = xor i64 undef, undef
128   ret void
132 define void @vi8() {
133 ; CHECK-LABEL: 'vi8'
134 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i8> undef, undef
135 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i8> undef, undef
136 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e2 = mul <2 x i8> undef, undef
137 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i8> undef, undef
138 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i8> undef, undef
139 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i8> undef, undef
140 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i8> undef, undef
141 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i8> undef, undef
142 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i8> undef, undef
143 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i8> undef, undef
144 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i8> undef, undef
145 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i8> undef, undef
146 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f4 = ashr <4 x i8> undef, undef
147 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g4 = lshr <4 x i8> undef, undef
148 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h4 = shl <4 x i8> undef, undef
149 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i8> undef, undef
150 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i8> undef, undef
151 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i8> undef, undef
152 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c8 = add <8 x i8> undef, undef
153 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d8 = sub <8 x i8> undef, undef
154 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e8 = mul <8 x i8> undef, undef
155 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f8 = ashr <8 x i8> undef, undef
156 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g8 = lshr <8 x i8> undef, undef
157 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h8 = shl <8 x i8> undef, undef
158 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i8 = and <8 x i8> undef, undef
159 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j8 = or <8 x i8> undef, undef
160 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k8 = xor <8 x i8> undef, undef
161 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c16 = add <16 x i8> undef, undef
162 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d16 = sub <16 x i8> undef, undef
163 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e16 = mul <16 x i8> undef, undef
164 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f16 = ashr <16 x i8> undef, undef
165 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g16 = lshr <16 x i8> undef, undef
166 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h16 = shl <16 x i8> undef, undef
167 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i16 = and <16 x i8> undef, undef
168 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j16 = or <16 x i8> undef, undef
169 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k16 = xor <16 x i8> undef, undef
170 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
172   %c2 = add <2 x i8> undef, undef
173   %d2 = sub <2 x i8> undef, undef
174   %e2 = mul <2 x i8> undef, undef
175   %f2 = ashr <2 x i8> undef, undef
176   %g2 = lshr <2 x i8> undef, undef
177   %h2 = shl <2 x i8> undef, undef
178   %i2 = and <2 x i8> undef, undef
179   %j2 = or <2 x i8> undef, undef
180   %k2 = xor <2 x i8> undef, undef
181   %c4 = add <4 x i8> undef, undef
182   %d4 = sub <4 x i8> undef, undef
183   %e4 = mul <4 x i8> undef, undef
184   %f4 = ashr <4 x i8> undef, undef
185   %g4 = lshr <4 x i8> undef, undef
186   %h4 = shl <4 x i8> undef, undef
187   %i4 = and <4 x i8> undef, undef
188   %j4 = or <4 x i8> undef, undef
189   %k4 = xor <4 x i8> undef, undef
190   %c8 = add <8 x i8> undef, undef
191   %d8 = sub <8 x i8> undef, undef
192   %e8 = mul <8 x i8> undef, undef
193   %f8 = ashr <8 x i8> undef, undef
194   %g8 = lshr <8 x i8> undef, undef
195   %h8 = shl <8 x i8> undef, undef
196   %i8 = and <8 x i8> undef, undef
197   %j8 = or <8 x i8> undef, undef
198   %k8 = xor <8 x i8> undef, undef
199   %c16 = add <16 x i8> undef, undef
200   %d16 = sub <16 x i8> undef, undef
201   %e16 = mul <16 x i8> undef, undef
202   %f16 = ashr <16 x i8> undef, undef
203   %g16 = lshr <16 x i8> undef, undef
204   %h16 = shl <16 x i8> undef, undef
205   %i16 = and <16 x i8> undef, undef
206   %j16 = or <16 x i8> undef, undef
207   %k16 = xor <16 x i8> undef, undef
208   ret void
211 define void @vi16() {
212 ; CHECK-LABEL: 'vi16'
213 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i16> undef, undef
214 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i16> undef, undef
215 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e2 = mul <2 x i16> undef, undef
216 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i16> undef, undef
217 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i16> undef, undef
218 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i16> undef, undef
219 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i16> undef, undef
220 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i16> undef, undef
221 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i16> undef, undef
222 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i16> undef, undef
223 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i16> undef, undef
224 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i16> undef, undef
225 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f4 = ashr <4 x i16> undef, undef
226 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g4 = lshr <4 x i16> undef, undef
227 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h4 = shl <4 x i16> undef, undef
228 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i16> undef, undef
229 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i16> undef, undef
230 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i16> undef, undef
231 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c8 = add <8 x i16> undef, undef
232 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d8 = sub <8 x i16> undef, undef
233 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e8 = mul <8 x i16> undef, undef
234 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f8 = ashr <8 x i16> undef, undef
235 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g8 = lshr <8 x i16> undef, undef
236 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h8 = shl <8 x i16> undef, undef
237 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i8 = and <8 x i16> undef, undef
238 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j8 = or <8 x i16> undef, undef
239 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k8 = xor <8 x i16> undef, undef
240 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %c16 = add <16 x i16> undef, undef
241 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %d16 = sub <16 x i16> undef, undef
242 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %e16 = mul <16 x i16> undef, undef
243 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %f16 = ashr <16 x i16> undef, undef
244 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %g16 = lshr <16 x i16> undef, undef
245 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %h16 = shl <16 x i16> undef, undef
246 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %i16 = and <16 x i16> undef, undef
247 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %j16 = or <16 x i16> undef, undef
248 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %k16 = xor <16 x i16> undef, undef
249 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
251   %c2 = add <2 x i16> undef, undef
252   %d2 = sub <2 x i16> undef, undef
253   %e2 = mul <2 x i16> undef, undef
254   %f2 = ashr <2 x i16> undef, undef
255   %g2 = lshr <2 x i16> undef, undef
256   %h2 = shl <2 x i16> undef, undef
257   %i2 = and <2 x i16> undef, undef
258   %j2 = or <2 x i16> undef, undef
259   %k2 = xor <2 x i16> undef, undef
260   %c4 = add <4 x i16> undef, undef
261   %d4 = sub <4 x i16> undef, undef
262   %e4 = mul <4 x i16> undef, undef
263   %f4 = ashr <4 x i16> undef, undef
264   %g4 = lshr <4 x i16> undef, undef
265   %h4 = shl <4 x i16> undef, undef
266   %i4 = and <4 x i16> undef, undef
267   %j4 = or <4 x i16> undef, undef
268   %k4 = xor <4 x i16> undef, undef
269   %c8 = add <8 x i16> undef, undef
270   %d8 = sub <8 x i16> undef, undef
271   %e8 = mul <8 x i16> undef, undef
272   %f8 = ashr <8 x i16> undef, undef
273   %g8 = lshr <8 x i16> undef, undef
274   %h8 = shl <8 x i16> undef, undef
275   %i8 = and <8 x i16> undef, undef
276   %j8 = or <8 x i16> undef, undef
277   %k8 = xor <8 x i16> undef, undef
278   %c16 = add <16 x i16> undef, undef
279   %d16 = sub <16 x i16> undef, undef
280   %e16 = mul <16 x i16> undef, undef
281   %f16 = ashr <16 x i16> undef, undef
282   %g16 = lshr <16 x i16> undef, undef
283   %h16 = shl <16 x i16> undef, undef
284   %i16 = and <16 x i16> undef, undef
285   %j16 = or <16 x i16> undef, undef
286   %k16 = xor <16 x i16> undef, undef
287   ret void
290 define void @vi32() {
291 ; CHECK-LABEL: 'vi32'
292 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i32> undef, undef
293 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i32> undef, undef
294 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e2 = mul <2 x i32> undef, undef
295 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i32> undef, undef
296 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i32> undef, undef
297 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i32> undef, undef
298 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i32> undef, undef
299 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i32> undef, undef
300 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i32> undef, undef
301 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c4 = add <4 x i32> undef, undef
302 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d4 = sub <4 x i32> undef, undef
303 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %e4 = mul <4 x i32> undef, undef
304 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f4 = ashr <4 x i32> undef, undef
305 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g4 = lshr <4 x i32> undef, undef
306 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h4 = shl <4 x i32> undef, undef
307 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i4 = and <4 x i32> undef, undef
308 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j4 = or <4 x i32> undef, undef
309 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k4 = xor <4 x i32> undef, undef
310 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %c8 = add <8 x i32> undef, undef
311 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %d8 = sub <8 x i32> undef, undef
312 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %e8 = mul <8 x i32> undef, undef
313 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %f8 = ashr <8 x i32> undef, undef
314 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %g8 = lshr <8 x i32> undef, undef
315 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %h8 = shl <8 x i32> undef, undef
316 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %i8 = and <8 x i32> undef, undef
317 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %j8 = or <8 x i32> undef, undef
318 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %k8 = xor <8 x i32> undef, undef
319 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %c16 = add <16 x i32> undef, undef
320 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %d16 = sub <16 x i32> undef, undef
321 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %e16 = mul <16 x i32> undef, undef
322 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %f16 = ashr <16 x i32> undef, undef
323 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %g16 = lshr <16 x i32> undef, undef
324 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %h16 = shl <16 x i32> undef, undef
325 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %i16 = and <16 x i32> undef, undef
326 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %j16 = or <16 x i32> undef, undef
327 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %k16 = xor <16 x i32> undef, undef
328 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
330   %c2 = add <2 x i32> undef, undef
331   %d2 = sub <2 x i32> undef, undef
332   %e2 = mul <2 x i32> undef, undef
333   %f2 = ashr <2 x i32> undef, undef
334   %g2 = lshr <2 x i32> undef, undef
335   %h2 = shl <2 x i32> undef, undef
336   %i2 = and <2 x i32> undef, undef
337   %j2 = or <2 x i32> undef, undef
338   %k2 = xor <2 x i32> undef, undef
339   %c4 = add <4 x i32> undef, undef
340   %d4 = sub <4 x i32> undef, undef
341   %e4 = mul <4 x i32> undef, undef
342   %f4 = ashr <4 x i32> undef, undef
343   %g4 = lshr <4 x i32> undef, undef
344   %h4 = shl <4 x i32> undef, undef
345   %i4 = and <4 x i32> undef, undef
346   %j4 = or <4 x i32> undef, undef
347   %k4 = xor <4 x i32> undef, undef
348   %c8 = add <8 x i32> undef, undef
349   %d8 = sub <8 x i32> undef, undef
350   %e8 = mul <8 x i32> undef, undef
351   %f8 = ashr <8 x i32> undef, undef
352   %g8 = lshr <8 x i32> undef, undef
353   %h8 = shl <8 x i32> undef, undef
354   %i8 = and <8 x i32> undef, undef
355   %j8 = or <8 x i32> undef, undef
356   %k8 = xor <8 x i32> undef, undef
357   %c16 = add <16 x i32> undef, undef
358   %d16 = sub <16 x i32> undef, undef
359   %e16 = mul <16 x i32> undef, undef
360   %f16 = ashr <16 x i32> undef, undef
361   %g16 = lshr <16 x i32> undef, undef
362   %h16 = shl <16 x i32> undef, undef
363   %i16 = and <16 x i32> undef, undef
364   %j16 = or <16 x i32> undef, undef
365   %k16 = xor <16 x i32> undef, undef
366   ret void
369 define void @vi64() {
370 ; CHECK-LABEL: 'vi64'
371 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %c2 = add <2 x i64> undef, undef
372 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %d2 = sub <2 x i64> undef, undef
373 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 14 for instruction: %e2 = mul <2 x i64> undef, undef
374 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %f2 = ashr <2 x i64> undef, undef
375 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %g2 = lshr <2 x i64> undef, undef
376 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %h2 = shl <2 x i64> undef, undef
377 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %i2 = and <2 x i64> undef, undef
378 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %j2 = or <2 x i64> undef, undef
379 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %k2 = xor <2 x i64> undef, undef
380 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %c4 = add <4 x i64> undef, undef
381 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %d4 = sub <4 x i64> undef, undef
382 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 28 for instruction: %e4 = mul <4 x i64> undef, undef
383 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %f4 = ashr <4 x i64> undef, undef
384 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %g4 = lshr <4 x i64> undef, undef
385 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %h4 = shl <4 x i64> undef, undef
386 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %i4 = and <4 x i64> undef, undef
387 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %j4 = or <4 x i64> undef, undef
388 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %k4 = xor <4 x i64> undef, undef
389 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %c8 = add <8 x i64> undef, undef
390 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %d8 = sub <8 x i64> undef, undef
391 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 56 for instruction: %e8 = mul <8 x i64> undef, undef
392 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %f8 = ashr <8 x i64> undef, undef
393 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %g8 = lshr <8 x i64> undef, undef
394 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %h8 = shl <8 x i64> undef, undef
395 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %i8 = and <8 x i64> undef, undef
396 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %j8 = or <8 x i64> undef, undef
397 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %k8 = xor <8 x i64> undef, undef
398 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %c16 = add <16 x i64> undef, undef
399 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %d16 = sub <16 x i64> undef, undef
400 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 112 for instruction: %e16 = mul <16 x i64> undef, undef
401 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %f16 = ashr <16 x i64> undef, undef
402 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %g16 = lshr <16 x i64> undef, undef
403 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %h16 = shl <16 x i64> undef, undef
404 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %i16 = and <16 x i64> undef, undef
405 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %j16 = or <16 x i64> undef, undef
406 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %k16 = xor <16 x i64> undef, undef
407 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
409   %c2 = add <2 x i64> undef, undef
410   %d2 = sub <2 x i64> undef, undef
411   %e2 = mul <2 x i64> undef, undef
412   %f2 = ashr <2 x i64> undef, undef
413   %g2 = lshr <2 x i64> undef, undef
414   %h2 = shl <2 x i64> undef, undef
415   %i2 = and <2 x i64> undef, undef
416   %j2 = or <2 x i64> undef, undef
417   %k2 = xor <2 x i64> undef, undef
418   %c4 = add <4 x i64> undef, undef
419   %d4 = sub <4 x i64> undef, undef
420   %e4 = mul <4 x i64> undef, undef
421   %f4 = ashr <4 x i64> undef, undef
422   %g4 = lshr <4 x i64> undef, undef
423   %h4 = shl <4 x i64> undef, undef
424   %i4 = and <4 x i64> undef, undef
425   %j4 = or <4 x i64> undef, undef
426   %k4 = xor <4 x i64> undef, undef
427   %c8 = add <8 x i64> undef, undef
428   %d8 = sub <8 x i64> undef, undef
429   %e8 = mul <8 x i64> undef, undef
430   %f8 = ashr <8 x i64> undef, undef
431   %g8 = lshr <8 x i64> undef, undef
432   %h8 = shl <8 x i64> undef, undef
433   %i8 = and <8 x i64> undef, undef
434   %j8 = or <8 x i64> undef, undef
435   %k8 = xor <8 x i64> undef, undef
436   %c16 = add <16 x i64> undef, undef
437   %d16 = sub <16 x i64> undef, undef
438   %e16 = mul <16 x i64> undef, undef
439   %f16 = ashr <16 x i64> undef, undef
440   %g16 = lshr <16 x i64> undef, undef
441   %h16 = shl <16 x i64> undef, undef
442   %i16 = and <16 x i64> undef, undef
443   %j16 = or <16 x i64> undef, undef
444   %k16 = xor <16 x i64> undef, undef
445   ret void