1 ; RUN: opt < %s -passes="print<cost-model>" 2>&1 -disable-output -mtriple=systemz-unknown -mcpu=z13 | FileCheck %s
3 ; Note: The scalarized vector instructions costs are not including any
4 ; extracts, due to the undef operands.
7 %res0 = add i8 undef, undef
8 %res1 = add i16 undef, undef
9 %res2 = add i32 undef, undef
10 %res3 = add i64 undef, undef
11 %res4 = add <2 x i8> undef, undef
12 %res5 = add <2 x i16> undef, undef
13 %res6 = add <2 x i32> undef, undef
14 %res7 = add <2 x i64> undef, undef
15 %res8 = add <4 x i8> undef, undef
16 %res9 = add <4 x i16> undef, undef
17 %res10 = add <4 x i32> undef, undef
18 %res11 = add <4 x i64> undef, undef
19 %res12 = add <8 x i8> undef, undef
20 %res13 = add <8 x i16> undef, undef
21 %res14 = add <8 x i32> undef, undef
22 %res15 = add <8 x i64> undef, undef
23 %res16 = add <16 x i8> undef, undef
24 %res17 = add <16 x i16> undef, undef
25 %res18 = add <16 x i32> undef, undef
26 %res19 = add <16 x i64> undef, undef
28 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = add i8 undef, undef
29 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = add i16 undef, undef
30 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = add i32 undef, undef
31 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = add i64 undef, undef
32 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = add <2 x i8> undef, undef
33 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = add <2 x i16> undef, undef
34 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = add <2 x i32> undef, undef
35 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = add <2 x i64> undef, undef
36 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = add <4 x i8> undef, undef
37 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = add <4 x i16> undef, undef
38 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = add <4 x i32> undef, undef
39 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = add <4 x i64> undef, undef
40 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = add <8 x i8> undef, undef
41 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = add <8 x i16> undef, undef
42 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = add <8 x i32> undef, undef
43 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = add <8 x i64> undef, undef
44 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = add <16 x i8> undef, undef
45 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = add <16 x i16> undef, undef
46 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = add <16 x i32> undef, undef
47 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = add <16 x i64> undef, undef
53 %res0 = sub i8 undef, undef
54 %res1 = sub i16 undef, undef
55 %res2 = sub i32 undef, undef
56 %res3 = sub i64 undef, undef
57 %res4 = sub <2 x i8> undef, undef
58 %res5 = sub <2 x i16> undef, undef
59 %res6 = sub <2 x i32> undef, undef
60 %res7 = sub <2 x i64> undef, undef
61 %res8 = sub <4 x i8> undef, undef
62 %res9 = sub <4 x i16> undef, undef
63 %res10 = sub <4 x i32> undef, undef
64 %res11 = sub <4 x i64> undef, undef
65 %res12 = sub <8 x i8> undef, undef
66 %res13 = sub <8 x i16> undef, undef
67 %res14 = sub <8 x i32> undef, undef
68 %res15 = sub <8 x i64> undef, undef
69 %res16 = sub <16 x i8> undef, undef
70 %res17 = sub <16 x i16> undef, undef
71 %res18 = sub <16 x i32> undef, undef
72 %res19 = sub <16 x i64> undef, undef
74 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = sub i8 undef, undef
75 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = sub i16 undef, undef
76 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = sub i32 undef, undef
77 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = sub i64 undef, undef
78 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = sub <2 x i8> undef, undef
79 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = sub <2 x i16> undef, undef
80 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = sub <2 x i32> undef, undef
81 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res7 = sub <2 x i64> undef, undef
82 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = sub <4 x i8> undef, undef
83 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = sub <4 x i16> undef, undef
84 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = sub <4 x i32> undef, undef
85 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res11 = sub <4 x i64> undef, undef
86 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = sub <8 x i8> undef, undef
87 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = sub <8 x i16> undef, undef
88 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = sub <8 x i32> undef, undef
89 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res15 = sub <8 x i64> undef, undef
90 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = sub <16 x i8> undef, undef
91 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = sub <16 x i16> undef, undef
92 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = sub <16 x i32> undef, undef
93 ; CHECK: Cost Model: Found an estimated cost of 8 for instruction: %res19 = sub <16 x i64> undef, undef
99 %res0 = mul i8 undef, undef
100 %res1 = mul i16 undef, undef
101 %res2 = mul i32 undef, undef
102 %res3 = mul i64 undef, undef
103 %res4 = mul <2 x i8> undef, undef
104 %res5 = mul <2 x i16> undef, undef
105 %res6 = mul <2 x i32> undef, undef
106 %res7 = mul <2 x i64> undef, undef
107 %res8 = mul <4 x i8> undef, undef
108 %res9 = mul <4 x i16> undef, undef
109 %res10 = mul <4 x i32> undef, undef
110 %res11 = mul <4 x i64> undef, undef
111 %res12 = mul <8 x i8> undef, undef
112 %res13 = mul <8 x i16> undef, undef
113 %res14 = mul <8 x i32> undef, undef
114 %res15 = mul <8 x i64> undef, undef
115 %res16 = mul <16 x i8> undef, undef
116 %res17 = mul <16 x i16> undef, undef
117 %res18 = mul <16 x i32> undef, undef
118 %res19 = mul <16 x i64> undef, undef
120 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res0 = mul i8 undef, undef
121 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res1 = mul i16 undef, undef
122 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res2 = mul i32 undef, undef
123 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res3 = mul i64 undef, undef
124 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res4 = mul <2 x i8> undef, undef
125 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res5 = mul <2 x i16> undef, undef
126 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res6 = mul <2 x i32> undef, undef
127 ; CHECK: Cost Model: Found an estimated cost of 3 for instruction: %res7 = mul <2 x i64> undef, undef
128 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res8 = mul <4 x i8> undef, undef
129 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res9 = mul <4 x i16> undef, undef
130 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res10 = mul <4 x i32> undef, undef
131 ; CHECK: Cost Model: Found an estimated cost of 6 for instruction: %res11 = mul <4 x i64> undef, undef
132 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res12 = mul <8 x i8> undef, undef
133 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res13 = mul <8 x i16> undef, undef
134 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res14 = mul <8 x i32> undef, undef
135 ; CHECK: Cost Model: Found an estimated cost of 12 for instruction: %res15 = mul <8 x i64> undef, undef
136 ; CHECK: Cost Model: Found an estimated cost of 1 for instruction: %res16 = mul <16 x i8> undef, undef
137 ; CHECK: Cost Model: Found an estimated cost of 2 for instruction: %res17 = mul <16 x i16> undef, undef
138 ; CHECK: Cost Model: Found an estimated cost of 4 for instruction: %res18 = mul <16 x i32> undef, undef
139 ; CHECK: Cost Model: Found an estimated cost of 24 for instruction: %res19 = mul <16 x i64> undef, undef