1 ; RUN: opt < %s -cost-model -analyze -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s
4 %res0 = and i8 undef, undef
5 %res1 = and i16 undef, undef
6 %res2 = and i32 undef, undef
7 %res3 = and i64 undef, undef
8 %res4 = and <2 x i8> undef, undef
9 %res5 = and <2 x i16> undef, undef
10 %res6 = and <2 x i32> undef, undef
11 %res7 = and <2 x i64> undef, undef
12 %res8 = and <4 x i8> undef, undef
13 %res9 = and <4 x i16> undef, undef
14 %res10 = and <4 x i32> undef, undef
15 %res11 = and <4 x i64> undef, undef
16 %res12 = and <8 x i8> undef, undef
17 %res13 = and <8 x i16> undef, undef
18 %res14 = and <8 x i32> undef, undef
19 %res15 = and <8 x i64> undef, undef
20 %res16 = and <16 x i8> undef, undef
21 %res17 = and <16 x i16> undef, undef
22 %res18 = and <16 x i32> undef, undef
23 %res19 = and <16 x i64> undef, undef
25 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = and i8 undef, undef
26 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = and i16 undef, undef
27 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = and i32 undef, undef
28 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = and i64 undef, undef
29 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = and <2 x i8> undef, undef
30 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = and <2 x i16> undef, undef
31 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = and <2 x i32> undef, undef
32 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = and <2 x i64> undef, undef
33 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = and <4 x i8> undef, undef
34 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = and <4 x i16> undef, undef
35 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = and <4 x i32> undef, undef
36 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = and <4 x i64> undef, undef
37 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = and <8 x i8> undef, undef
38 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = and <8 x i16> undef, undef
39 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = and <8 x i32> undef, undef
40 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = and <8 x i64> undef, undef
41 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = and <16 x i8> undef, undef
42 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = and <16 x i16> undef, undef
43 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = and <16 x i32> undef, undef
44 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = and <16 x i64> undef, undef
50 %res0 = ashr i8 undef, undef
51 %res1 = ashr i16 undef, undef
52 %res2 = ashr i32 undef, undef
53 %res3 = ashr i64 undef, undef
54 %res4 = ashr <2 x i8> undef, undef
55 %res5 = ashr <2 x i16> undef, undef
56 %res6 = ashr <2 x i32> undef, undef
57 %res7 = ashr <2 x i64> undef, undef
58 %res8 = ashr <4 x i8> undef, undef
59 %res9 = ashr <4 x i16> undef, undef
60 %res10 = ashr <4 x i32> undef, undef
61 %res11 = ashr <4 x i64> undef, undef
62 %res12 = ashr <8 x i8> undef, undef
63 %res13 = ashr <8 x i16> undef, undef
64 %res14 = ashr <8 x i32> undef, undef
65 %res15 = ashr <8 x i64> undef, undef
66 %res16 = ashr <16 x i8> undef, undef
67 %res17 = ashr <16 x i16> undef, undef
68 %res18 = ashr <16 x i32> undef, undef
69 %res19 = ashr <16 x i64> undef, undef
71 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = ashr i8 undef, undef
72 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = ashr i16 undef, undef
73 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = ashr i32 undef, undef
74 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = ashr i64 undef, undef
75 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = ashr <2 x i8> undef, undef
76 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = ashr <2 x i16> undef, undef
77 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = ashr <2 x i32> undef, undef
78 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = ashr <2 x i64> undef, undef
79 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = ashr <4 x i8> undef, undef
80 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = ashr <4 x i16> undef, undef
81 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = ashr <4 x i32> undef, undef
82 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = ashr <4 x i64> undef, undef
83 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = ashr <8 x i8> undef, undef
84 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = ashr <8 x i16> undef, undef
85 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = ashr <8 x i32> undef, undef
86 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = ashr <8 x i64> undef, undef
87 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = ashr <16 x i8> undef, undef
88 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = ashr <16 x i16> undef, undef
89 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = ashr <16 x i32> undef, undef
90 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = ashr <16 x i64> undef, undef
96 %res0 = lshr i8 undef, undef
97 %res1 = lshr i16 undef, undef
98 %res2 = lshr i32 undef, undef
99 %res3 = lshr i64 undef, undef
100 %res4 = lshr <2 x i8> undef, undef
101 %res5 = lshr <2 x i16> undef, undef
102 %res6 = lshr <2 x i32> undef, undef
103 %res7 = lshr <2 x i64> undef, undef
104 %res8 = lshr <4 x i8> undef, undef
105 %res9 = lshr <4 x i16> undef, undef
106 %res10 = lshr <4 x i32> undef, undef
107 %res11 = lshr <4 x i64> undef, undef
108 %res12 = lshr <8 x i8> undef, undef
109 %res13 = lshr <8 x i16> undef, undef
110 %res14 = lshr <8 x i32> undef, undef
111 %res15 = lshr <8 x i64> undef, undef
112 %res16 = lshr <16 x i8> undef, undef
113 %res17 = lshr <16 x i16> undef, undef
114 %res18 = lshr <16 x i32> undef, undef
115 %res19 = lshr <16 x i64> undef, undef
117 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = lshr i8 undef, undef
118 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = lshr i16 undef, undef
119 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = lshr i32 undef, undef
120 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = lshr i64 undef, undef
121 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = lshr <2 x i8> undef, undef
122 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = lshr <2 x i16> undef, undef
123 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = lshr <2 x i32> undef, undef
124 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = lshr <2 x i64> undef, undef
125 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = lshr <4 x i8> undef, undef
126 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = lshr <4 x i16> undef, undef
127 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = lshr <4 x i32> undef, undef
128 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = lshr <4 x i64> undef, undef
129 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = lshr <8 x i8> undef, undef
130 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = lshr <8 x i16> undef, undef
131 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = lshr <8 x i32> undef, undef
132 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = lshr <8 x i64> undef, undef
133 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = lshr <16 x i8> undef, undef
134 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = lshr <16 x i16> undef, undef
135 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = lshr <16 x i32> undef, undef
136 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = lshr <16 x i64> undef, undef
142 %res0 = or i8 undef, undef
143 %res1 = or i16 undef, undef
144 %res2 = or i32 undef, undef
145 %res3 = or i64 undef, undef
146 %res4 = or <2 x i8> undef, undef
147 %res5 = or <2 x i16> undef, undef
148 %res6 = or <2 x i32> undef, undef
149 %res7 = or <2 x i64> undef, undef
150 %res8 = or <4 x i8> undef, undef
151 %res9 = or <4 x i16> undef, undef
152 %res10 = or <4 x i32> undef, undef
153 %res11 = or <4 x i64> undef, undef
154 %res12 = or <8 x i8> undef, undef
155 %res13 = or <8 x i16> undef, undef
156 %res14 = or <8 x i32> undef, undef
157 %res15 = or <8 x i64> undef, undef
158 %res16 = or <16 x i8> undef, undef
159 %res17 = or <16 x i16> undef, undef
160 %res18 = or <16 x i32> undef, undef
161 %res19 = or <16 x i64> undef, undef
163 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = or i8 undef, undef
164 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = or i16 undef, undef
165 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = or i32 undef, undef
166 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = or i64 undef, undef
167 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = or <2 x i8> undef, undef
168 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = or <2 x i16> undef, undef
169 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = or <2 x i32> undef, undef
170 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = or <2 x i64> undef, undef
171 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = or <4 x i8> undef, undef
172 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = or <4 x i16> undef, undef
173 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = or <4 x i32> undef, undef
174 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = or <4 x i64> undef, undef
175 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = or <8 x i8> undef, undef
176 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = or <8 x i16> undef, undef
177 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = or <8 x i32> undef, undef
178 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = or <8 x i64> undef, undef
179 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = or <16 x i8> undef, undef
180 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = or <16 x i16> undef, undef
181 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = or <16 x i32> undef, undef
182 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = or <16 x i64> undef, undef
188 %res0 = shl i8 undef, undef
189 %res1 = shl i16 undef, undef
190 %res2 = shl i32 undef, undef
191 %res3 = shl i64 undef, undef
192 %res4 = shl <2 x i8> undef, undef
193 %res5 = shl <2 x i16> undef, undef
194 %res6 = shl <2 x i32> undef, undef
195 %res7 = shl <2 x i64> undef, undef
196 %res8 = shl <4 x i8> undef, undef
197 %res9 = shl <4 x i16> undef, undef
198 %res10 = shl <4 x i32> undef, undef
199 %res11 = shl <4 x i64> undef, undef
200 %res12 = shl <8 x i8> undef, undef
201 %res13 = shl <8 x i16> undef, undef
202 %res14 = shl <8 x i32> undef, undef
203 %res15 = shl <8 x i64> undef, undef
204 %res16 = shl <16 x i8> undef, undef
205 %res17 = shl <16 x i16> undef, undef
206 %res18 = shl <16 x i32> undef, undef
207 %res19 = shl <16 x i64> undef, undef
209 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = shl i8 undef, undef
210 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = shl i16 undef, undef
211 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = shl i32 undef, undef
212 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = shl i64 undef, undef
213 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = shl <2 x i8> undef, undef
214 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = shl <2 x i16> undef, undef
215 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = shl <2 x i32> undef, undef
216 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = shl <2 x i64> undef, undef
217 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = shl <4 x i8> undef, undef
218 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = shl <4 x i16> undef, undef
219 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = shl <4 x i32> undef, undef
220 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = shl <4 x i64> undef, undef
221 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = shl <8 x i8> undef, undef
222 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = shl <8 x i16> undef, undef
223 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = shl <8 x i32> undef, undef
224 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = shl <8 x i64> undef, undef
225 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = shl <16 x i8> undef, undef
226 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = shl <16 x i16> undef, undef
227 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = shl <16 x i32> undef, undef
228 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = shl <16 x i64> undef, undef
234 %res0 = xor i8 undef, undef
235 %res1 = xor i16 undef, undef
236 %res2 = xor i32 undef, undef
237 %res3 = xor i64 undef, undef
238 %res4 = xor <2 x i8> undef, undef
239 %res5 = xor <2 x i16> undef, undef
240 %res6 = xor <2 x i32> undef, undef
241 %res7 = xor <2 x i64> undef, undef
242 %res8 = xor <4 x i8> undef, undef
243 %res9 = xor <4 x i16> undef, undef
244 %res10 = xor <4 x i32> undef, undef
245 %res11 = xor <4 x i64> undef, undef
246 %res12 = xor <8 x i8> undef, undef
247 %res13 = xor <8 x i16> undef, undef
248 %res14 = xor <8 x i32> undef, undef
249 %res15 = xor <8 x i64> undef, undef
250 %res16 = xor <16 x i8> undef, undef
251 %res17 = xor <16 x i16> undef, undef
252 %res18 = xor <16 x i32> undef, undef
253 %res19 = xor <16 x i64> undef, undef
255 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = xor i8 undef, undef
256 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = xor i16 undef, undef
257 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = xor i32 undef, undef
258 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = xor i64 undef, undef
259 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = xor <2 x i8> undef, undef
260 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = xor <2 x i16> undef, undef
261 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = xor <2 x i32> undef, undef
262 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = xor <2 x i64> undef, undef
263 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = xor <4 x i8> undef, undef
264 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = xor <4 x i16> undef, undef
265 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = xor <4 x i32> undef, undef
266 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = xor <4 x i64> undef, undef
267 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = xor <8 x i8> undef, undef
268 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = xor <8 x i16> undef, undef
269 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = xor <8 x i32> undef, undef
270 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = xor <8 x i64> undef, undef
271 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = xor <16 x i8> undef, undef
272 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = xor <16 x i16> undef, undef
273 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = xor <16 x i32> undef, undef
274 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = xor <16 x i64> undef, undef