1 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2 ; RUN: opt -cost-model -analyze -mtriple=aarch64-none-linux-gnueabi %s -o - | FileCheck %s
4 define i32 @casts_no_users() {
5 ; CHECK-LABEL: 'casts_no_users'
6 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i1 undef to i8
7 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i1 undef to i8
8 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i1 undef to i16
9 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i1 undef to i16
10 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = sext i1 undef to i32
11 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = zext i1 undef to i32
12 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i1 undef to i64
13 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i1 undef to i64
14 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = trunc i8 undef to i1
15 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r9 = sext i8 undef to i16
16 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = zext i8 undef to i16
17 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = sext i8 undef to i32
18 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r12 = zext i8 undef to i32
19 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r13 = sext i8 undef to i64
20 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r14 = zext i8 undef to i64
21 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i16 undef to i1
22 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i16 undef to i8
23 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r17 = sext i16 undef to i32
24 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r18 = zext i16 undef to i32
25 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r19 = sext i16 undef to i64
26 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r20 = zext i16 undef to i64
27 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r21 = trunc i32 undef to i1
28 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r22 = trunc i32 undef to i8
29 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r23 = trunc i32 undef to i16
30 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r24 = sext i32 undef to i64
31 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i32 undef to i64
32 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r26 = trunc i64 undef to i1
33 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r27 = trunc i64 undef to i8
34 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r28 = trunc i64 undef to i16
35 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r29 = trunc i64 undef to i32
36 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui float undef to i1
37 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi float undef to i1
38 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui float undef to i8
39 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi float undef to i8
40 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui float undef to i16
41 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi float undef to i16
42 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui float undef to i32
43 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi float undef to i32
44 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui float undef to i64
45 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi float undef to i64
46 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r40 = fptoui double undef to i1
47 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r41 = fptosi double undef to i1
48 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r42 = fptoui double undef to i8
49 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r43 = fptosi double undef to i8
50 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r44 = fptoui double undef to i16
51 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r45 = fptosi double undef to i16
52 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r46 = fptoui double undef to i32
53 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r47 = fptosi double undef to i32
54 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r48 = fptoui double undef to i64
55 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r49 = fptosi double undef to i64
56 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r50 = sitofp i1 undef to float
57 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r51 = uitofp i1 undef to float
58 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r52 = sitofp i1 undef to double
59 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r53 = uitofp i1 undef to double
60 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r54 = sitofp i8 undef to float
61 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r55 = uitofp i8 undef to float
62 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r56 = sitofp i8 undef to double
63 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r57 = uitofp i8 undef to double
64 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r58 = sitofp i16 undef to float
65 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r59 = uitofp i16 undef to float
66 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r60 = sitofp i16 undef to double
67 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r61 = uitofp i16 undef to double
68 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r62 = sitofp i32 undef to float
69 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r63 = uitofp i32 undef to float
70 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r64 = sitofp i32 undef to double
71 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r65 = uitofp i32 undef to double
72 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r66 = sitofp i64 undef to float
73 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r67 = uitofp i64 undef to float
74 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r68 = sitofp i64 undef to double
75 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r69 = uitofp i64 undef to double
76 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q70 = sext <4 x i8> undef to <4 x i32>
77 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q71 = sext <8 x i8> undef to <8 x i16>
78 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %s70 = sext <4 x i8> undef to <4 x i32>
79 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r70 = sext <8 x i8> undef to <8 x i32>
80 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r71 = sext <16 x i8> undef to <16 x i32>
81 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q72 = zext <4 x i8> undef to <4 x i32>
82 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %q73 = zext <8 x i8> undef to <8 x i16>
83 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %s72 = zext <4 x i8> undef to <4 x i32>
84 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r72 = zext <8 x i8> undef to <8 x i32>
85 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r73 = zext <16 x i8> undef to <16 x i32>
86 ; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %rext_0 = sext <8 x i8> undef to <8 x i64>
87 ; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %rext_1 = zext <8 x i8> undef to <8 x i64>
88 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %rext_2 = sext <8 x i16> undef to <8 x i64>
89 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %rext_3 = zext <8 x i16> undef to <8 x i64>
90 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %rext_4 = sext <4 x i16> undef to <4 x i64>
91 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %rext_5 = zext <4 x i16> undef to <4 x i64>
92 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_6 = sext <2 x i8> undef to <2 x i64>
93 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_7 = zext <2 x i8> undef to <2 x i64>
94 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_8 = sext <2 x i16> undef to <2 x i64>
95 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_9 = zext <2 x i16> undef to <2 x i64>
96 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_a = sext <2 x i32> undef to <2 x i64>
97 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %rext_b = zext <2 x i32> undef to <2 x i64>
98 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r74 = trunc <8 x i32> undef to <8 x i8>
99 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r75 = trunc <16 x i32> undef to <16 x i8>
100 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r80 = fptrunc double undef to float
101 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r81 = fptrunc <2 x double> undef to <2 x float>
102 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r82 = fptrunc <4 x double> undef to <4 x float>
103 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r83 = fptrunc <8 x double> undef to <8 x float>
104 ; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %r84 = fptrunc <16 x double> undef to <16 x float>
105 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r85 = fpext float undef to double
106 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r86 = fpext <2 x float> undef to <2 x double>
107 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r87 = fpext <4 x float> undef to <4 x double>
108 ; CHECK-NEXT: Cost Model: Found an estimated cost of 6 for instruction: %r88 = fpext <8 x float> undef to <8 x double>
109 ; CHECK-NEXT: Cost Model: Found an estimated cost of 12 for instruction: %r89 = fpext <16 x float> undef to <16 x double>
110 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x float> undef to <2 x i1>
111 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x float> undef to <2 x i1>
112 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x float> undef to <2 x i8>
113 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x float> undef to <2 x i8>
114 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x float> undef to <2 x i16>
115 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x float> undef to <2 x i16>
116 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x float> undef to <2 x i32>
117 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x float> undef to <2 x i32>
118 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r98 = fptoui <2 x float> undef to <2 x i64>
119 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r99 = fptosi <2 x float> undef to <2 x i64>
120 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r100 = fptoui <2 x double> undef to <2 x i1>
121 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r101 = fptosi <2 x double> undef to <2 x i1>
122 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r102 = fptoui <2 x double> undef to <2 x i8>
123 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r103 = fptosi <2 x double> undef to <2 x i8>
124 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r104 = fptoui <2 x double> undef to <2 x i16>
125 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r105 = fptosi <2 x double> undef to <2 x i16>
126 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r106 = fptoui <2 x double> undef to <2 x i32>
127 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r107 = fptosi <2 x double> undef to <2 x i32>
128 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r108 = fptoui <2 x double> undef to <2 x i64>
129 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r109 = fptosi <2 x double> undef to <2 x i64>
130 ; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r110 = fptoui <4 x float> undef to <4 x i1>
131 ; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r111 = fptosi <4 x float> undef to <4 x i1>
132 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r112 = fptoui <4 x float> undef to <4 x i8>
133 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r113 = fptosi <4 x float> undef to <4 x i8>
134 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r114 = fptoui <4 x float> undef to <4 x i16>
135 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r115 = fptosi <4 x float> undef to <4 x i16>
136 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r116 = fptoui <4 x float> undef to <4 x i32>
137 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r117 = fptosi <4 x float> undef to <4 x i32>
138 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r118 = fptoui <4 x float> undef to <4 x i64>
139 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r119 = fptosi <4 x float> undef to <4 x i64>
140 ; CHECK-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %r120 = fptoui <4 x double> undef to <4 x i1>
141 ; CHECK-NEXT: Cost Model: Found an estimated cost of 17 for instruction: %r121 = fptosi <4 x double> undef to <4 x i1>
142 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r122 = fptoui <4 x double> undef to <4 x i8>
143 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r123 = fptosi <4 x double> undef to <4 x i8>
144 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r124 = fptoui <4 x double> undef to <4 x i16>
145 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r125 = fptosi <4 x double> undef to <4 x i16>
146 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r126 = fptoui <4 x double> undef to <4 x i32>
147 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r127 = fptosi <4 x double> undef to <4 x i32>
148 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r128 = fptoui <4 x double> undef to <4 x i64>
149 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r129 = fptosi <4 x double> undef to <4 x i64>
150 ; CHECK-NEXT: Cost Model: Found an estimated cost of 45 for instruction: %r130 = fptoui <8 x float> undef to <8 x i1>
151 ; CHECK-NEXT: Cost Model: Found an estimated cost of 45 for instruction: %r131 = fptosi <8 x float> undef to <8 x i1>
152 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r132 = fptoui <8 x float> undef to <8 x i8>
153 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r133 = fptosi <8 x float> undef to <8 x i8>
154 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r134 = fptoui <8 x float> undef to <8 x i16>
155 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r135 = fptosi <8 x float> undef to <8 x i16>
156 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r136 = fptoui <8 x float> undef to <8 x i32>
157 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r137 = fptosi <8 x float> undef to <8 x i32>
158 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r138 = fptoui <8 x float> undef to <8 x i64>
159 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r139 = fptosi <8 x float> undef to <8 x i64>
160 ; CHECK-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %r140 = fptoui <8 x double> undef to <8 x i1>
161 ; CHECK-NEXT: Cost Model: Found an estimated cost of 35 for instruction: %r141 = fptosi <8 x double> undef to <8 x i1>
162 ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r142 = fptoui <8 x double> undef to <8 x i8>
163 ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r143 = fptosi <8 x double> undef to <8 x i8>
164 ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r144 = fptoui <8 x double> undef to <8 x i16>
165 ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r145 = fptosi <8 x double> undef to <8 x i16>
166 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r146 = fptoui <8 x double> undef to <8 x i32>
167 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r147 = fptosi <8 x double> undef to <8 x i32>
168 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r148 = fptoui <8 x double> undef to <8 x i64>
169 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r149 = fptosi <8 x double> undef to <8 x i64>
170 ; CHECK-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %r150 = fptoui <16 x float> undef to <16 x i1>
171 ; CHECK-NEXT: Cost Model: Found an estimated cost of 91 for instruction: %r151 = fptosi <16 x float> undef to <16 x i1>
172 ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r152 = fptoui <16 x float> undef to <16 x i8>
173 ; CHECK-NEXT: Cost Model: Found an estimated cost of 11 for instruction: %r153 = fptosi <16 x float> undef to <16 x i8>
174 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r154 = fptoui <16 x float> undef to <16 x i16>
175 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r155 = fptosi <16 x float> undef to <16 x i16>
176 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r156 = fptoui <16 x float> undef to <16 x i32>
177 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r157 = fptosi <16 x float> undef to <16 x i32>
178 ; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r158 = fptoui <16 x float> undef to <16 x i64>
179 ; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r159 = fptosi <16 x float> undef to <16 x i64>
180 ; CHECK-NEXT: Cost Model: Found an estimated cost of 71 for instruction: %r160 = fptoui <16 x double> undef to <16 x i1>
181 ; CHECK-NEXT: Cost Model: Found an estimated cost of 71 for instruction: %r161 = fptosi <16 x double> undef to <16 x i1>
182 ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %r162 = fptoui <16 x double> undef to <16 x i8>
183 ; CHECK-NEXT: Cost Model: Found an estimated cost of 23 for instruction: %r163 = fptosi <16 x double> undef to <16 x i8>
184 ; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r164 = fptoui <16 x double> undef to <16 x i16>
185 ; CHECK-NEXT: Cost Model: Found an estimated cost of 22 for instruction: %r165 = fptosi <16 x double> undef to <16 x i16>
186 ; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r166 = fptoui <16 x double> undef to <16 x i32>
187 ; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r167 = fptosi <16 x double> undef to <16 x i32>
188 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r168 = fptoui <16 x double> undef to <16 x i64>
189 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r169 = fptosi <16 x double> undef to <16 x i64>
190 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r170 = uitofp <2 x i1> undef to <2 x float>
191 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r171 = sitofp <2 x i1> undef to <2 x float>
192 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r172 = uitofp <2 x i8> undef to <2 x float>
193 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r173 = sitofp <2 x i8> undef to <2 x float>
194 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r174 = uitofp <2 x i16> undef to <2 x float>
195 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r175 = sitofp <2 x i16> undef to <2 x float>
196 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r176 = uitofp <2 x i32> undef to <2 x float>
197 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r177 = sitofp <2 x i32> undef to <2 x float>
198 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r178 = uitofp <2 x i64> undef to <2 x float>
199 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r179 = sitofp <2 x i64> undef to <2 x float>
200 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r180 = uitofp <2 x i1> undef to <2 x double>
201 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r181 = sitofp <2 x i1> undef to <2 x double>
202 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r182 = uitofp <2 x i8> undef to <2 x double>
203 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r183 = sitofp <2 x i8> undef to <2 x double>
204 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r184 = uitofp <2 x i16> undef to <2 x double>
205 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r185 = sitofp <2 x i16> undef to <2 x double>
206 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r186 = uitofp <2 x i32> undef to <2 x double>
207 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r187 = sitofp <2 x i32> undef to <2 x double>
208 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r188 = uitofp <2 x i64> undef to <2 x double>
209 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r189 = sitofp <2 x i64> undef to <2 x double>
210 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r190 = uitofp <4 x i1> undef to <4 x float>
211 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r191 = sitofp <4 x i1> undef to <4 x float>
212 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r192 = uitofp <4 x i8> undef to <4 x float>
213 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r193 = sitofp <4 x i8> undef to <4 x float>
214 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r194 = uitofp <4 x i16> undef to <4 x float>
215 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r195 = sitofp <4 x i16> undef to <4 x float>
216 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r196 = uitofp <4 x i32> undef to <4 x float>
217 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r197 = sitofp <4 x i32> undef to <4 x float>
218 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r198 = uitofp <4 x i64> undef to <4 x float>
219 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r199 = sitofp <4 x i64> undef to <4 x float>
220 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r200 = uitofp <4 x i1> undef to <4 x double>
221 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r201 = sitofp <4 x i1> undef to <4 x double>
222 ; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r202 = uitofp <4 x i8> undef to <4 x double>
223 ; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r203 = sitofp <4 x i8> undef to <4 x double>
224 ; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r204 = uitofp <4 x i16> undef to <4 x double>
225 ; CHECK-NEXT: Cost Model: Found an estimated cost of 9 for instruction: %r205 = sitofp <4 x i16> undef to <4 x double>
226 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r206 = uitofp <4 x i32> undef to <4 x double>
227 ; CHECK-NEXT: Cost Model: Found an estimated cost of 5 for instruction: %r207 = sitofp <4 x i32> undef to <4 x double>
228 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r208 = uitofp <4 x i64> undef to <4 x double>
229 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r209 = sitofp <4 x i64> undef to <4 x double>
230 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r210 = uitofp <8 x i1> undef to <8 x float>
231 ; CHECK-NEXT: Cost Model: Found an estimated cost of 3 for instruction: %r211 = sitofp <8 x i1> undef to <8 x float>
232 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r212 = uitofp <8 x i8> undef to <8 x float>
233 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r213 = sitofp <8 x i8> undef to <8 x float>
234 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r214 = uitofp <8 x i16> undef to <8 x float>
235 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r215 = sitofp <8 x i16> undef to <8 x float>
236 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r216 = uitofp <8 x i32> undef to <8 x float>
237 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %r217 = sitofp <8 x i32> undef to <8 x float>
238 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r218 = uitofp <8 x i64> undef to <8 x float>
239 ; CHECK-NEXT: Cost Model: Found an estimated cost of 10 for instruction: %r219 = sitofp <8 x i64> undef to <8 x float>
240 ; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r220 = uitofp <8 x i1> undef to <8 x double>
241 ; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r221 = sitofp <8 x i1> undef to <8 x double>
242 ; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r222 = uitofp <8 x i8> undef to <8 x double>
243 ; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r223 = sitofp <8 x i8> undef to <8 x double>
244 ; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r224 = uitofp <8 x i16> undef to <8 x double>
245 ; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r225 = sitofp <8 x i16> undef to <8 x double>
246 ; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r226 = uitofp <8 x i16> undef to <8 x double>
247 ; CHECK-NEXT: Cost Model: Found an estimated cost of 19 for instruction: %r227 = sitofp <8 x i16> undef to <8 x double>
248 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r228 = uitofp <8 x i64> undef to <8 x double>
249 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r229 = sitofp <8 x i64> undef to <8 x double>
250 ; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r230 = uitofp <16 x i1> undef to <16 x float>
251 ; CHECK-NEXT: Cost Model: Found an estimated cost of 7 for instruction: %r231 = sitofp <16 x i1> undef to <16 x float>
252 ; CHECK-NEXT: Cost Model: Found an estimated cost of 21 for instruction: %r232 = uitofp <16 x i8> undef to <16 x float>
253 ; CHECK-NEXT: Cost Model: Found an estimated cost of 21 for instruction: %r233 = sitofp <16 x i8> undef to <16 x float>
254 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r234 = uitofp <16 x i16> undef to <16 x float>
255 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r235 = sitofp <16 x i16> undef to <16 x float>
256 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r236 = uitofp <16 x i32> undef to <16 x float>
257 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %r237 = sitofp <16 x i32> undef to <16 x float>
258 ; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r238 = uitofp <16 x i64> undef to <16 x float>
259 ; CHECK-NEXT: Cost Model: Found an estimated cost of 20 for instruction: %r239 = sitofp <16 x i64> undef to <16 x float>
260 ; CHECK-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %r240 = uitofp <16 x i1> undef to <16 x double>
261 ; CHECK-NEXT: Cost Model: Found an estimated cost of 15 for instruction: %r241 = sitofp <16 x i1> undef to <16 x double>
262 ; CHECK-NEXT: Cost Model: Found an estimated cost of 39 for instruction: %r242 = uitofp <16 x i8> undef to <16 x double>
263 ; CHECK-NEXT: Cost Model: Found an estimated cost of 39 for instruction: %r243 = sitofp <16 x i8> undef to <16 x double>
264 ; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r244 = uitofp <16 x i16> undef to <16 x double>
265 ; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r245 = sitofp <16 x i16> undef to <16 x double>
266 ; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r246 = uitofp <16 x i16> undef to <16 x double>
267 ; CHECK-NEXT: Cost Model: Found an estimated cost of 38 for instruction: %r247 = sitofp <16 x i16> undef to <16 x double>
268 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r248 = uitofp <16 x i64> undef to <16 x double>
269 ; CHECK-NEXT: Cost Model: Found an estimated cost of 8 for instruction: %r249 = sitofp <16 x i64> undef to <16 x double>
270 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
272 %r0 = sext i1 undef to i8
273 %r1 = zext i1 undef to i8
274 %r2 = sext i1 undef to i16
275 %r3 = zext i1 undef to i16
276 %r4 = sext i1 undef to i32
277 %r5 = zext i1 undef to i32
278 %r6 = sext i1 undef to i64
279 %r7 = zext i1 undef to i64
280 %r8 = trunc i8 undef to i1
281 %r9 = sext i8 undef to i16
282 %r10 = zext i8 undef to i16
283 %r11 = sext i8 undef to i32
284 %r12 = zext i8 undef to i32
285 %r13 = sext i8 undef to i64
286 %r14 = zext i8 undef to i64
287 %r15 = trunc i16 undef to i1
288 %r16 = trunc i16 undef to i8
289 %r17 = sext i16 undef to i32
290 %r18 = zext i16 undef to i32
291 %r19 = sext i16 undef to i64
292 %r20 = zext i16 undef to i64
293 %r21 = trunc i32 undef to i1
294 %r22 = trunc i32 undef to i8
295 %r23 = trunc i32 undef to i16
296 %r24 = sext i32 undef to i64
297 %r25 = zext i32 undef to i64
298 %r26 = trunc i64 undef to i1
299 %r27 = trunc i64 undef to i8
300 %r28 = trunc i64 undef to i16
301 %r29 = trunc i64 undef to i32
302 %r30 = fptoui float undef to i1
303 %r31 = fptosi float undef to i1
304 %r32 = fptoui float undef to i8
305 %r33 = fptosi float undef to i8
306 %r34 = fptoui float undef to i16
307 %r35 = fptosi float undef to i16
308 %r36 = fptoui float undef to i32
309 %r37 = fptosi float undef to i32
310 %r38 = fptoui float undef to i64
311 %r39 = fptosi float undef to i64
312 %r40 = fptoui double undef to i1
313 %r41 = fptosi double undef to i1
314 %r42 = fptoui double undef to i8
315 %r43 = fptosi double undef to i8
316 %r44 = fptoui double undef to i16
317 %r45 = fptosi double undef to i16
318 %r46 = fptoui double undef to i32
319 %r47 = fptosi double undef to i32
320 %r48 = fptoui double undef to i64
321 %r49 = fptosi double undef to i64
322 %r50 = sitofp i1 undef to float
323 %r51 = uitofp i1 undef to float
324 %r52 = sitofp i1 undef to double
325 %r53 = uitofp i1 undef to double
326 %r54 = sitofp i8 undef to float
327 %r55 = uitofp i8 undef to float
328 %r56 = sitofp i8 undef to double
329 %r57 = uitofp i8 undef to double
330 %r58 = sitofp i16 undef to float
331 %r59 = uitofp i16 undef to float
332 %r60 = sitofp i16 undef to double
333 %r61 = uitofp i16 undef to double
334 %r62 = sitofp i32 undef to float
335 %r63 = uitofp i32 undef to float
336 %r64 = sitofp i32 undef to double
337 %r65 = uitofp i32 undef to double
338 %r66 = sitofp i64 undef to float
339 %r67 = uitofp i64 undef to float
340 %r68 = sitofp i64 undef to double
341 %r69 = uitofp i64 undef to double
342 %q70 = sext <4 x i8> undef to <4 x i32>
343 %q71 = sext <8 x i8> undef to <8 x i16>
344 %s70 = sext <4 x i8> undef to <4 x i32>
345 %r70 = sext <8 x i8> undef to <8 x i32>
346 %r71 = sext <16 x i8> undef to <16 x i32>
347 %q72 = zext <4 x i8> undef to <4 x i32>
348 %q73 = zext <8 x i8> undef to <8 x i16>
349 %s72 = zext <4 x i8> undef to <4 x i32>
350 %r72 = zext <8 x i8> undef to <8 x i32>
351 %r73 = zext <16 x i8> undef to <16 x i32>
352 %rext_0 = sext <8 x i8> undef to <8 x i64>
353 %rext_1 = zext <8 x i8> undef to <8 x i64>
354 %rext_2 = sext <8 x i16> undef to <8 x i64>
355 %rext_3 = zext <8 x i16> undef to <8 x i64>
356 %rext_4 = sext <4 x i16> undef to <4 x i64>
357 %rext_5 = zext <4 x i16> undef to <4 x i64>
358 %rext_6 = sext <2 x i8> undef to <2 x i64>
359 %rext_7 = zext <2 x i8> undef to <2 x i64>
360 %rext_8 = sext <2 x i16> undef to <2 x i64>
361 %rext_9 = zext <2 x i16> undef to <2 x i64>
362 %rext_a = sext <2 x i32> undef to <2 x i64>
363 %rext_b = zext <2 x i32> undef to <2 x i64>
364 %r74 = trunc <8 x i32> undef to <8 x i8>
365 %r75 = trunc <16 x i32> undef to <16 x i8>
366 %r80 = fptrunc double undef to float
367 %r81 = fptrunc <2 x double> undef to <2 x float>
368 %r82 = fptrunc <4 x double> undef to <4 x float>
369 %r83 = fptrunc <8 x double> undef to <8 x float>
370 %r84 = fptrunc <16 x double> undef to <16 x float>
371 %r85 = fpext float undef to double
372 %r86 = fpext <2 x float> undef to <2 x double>
373 %r87 = fpext <4 x float> undef to <4 x double>
374 %r88 = fpext <8 x float> undef to <8 x double>
375 %r89 = fpext <16 x float> undef to <16 x double>
376 %r90 = fptoui <2 x float> undef to <2 x i1>
377 %r91 = fptosi <2 x float> undef to <2 x i1>
378 %r92 = fptoui <2 x float> undef to <2 x i8>
379 %r93 = fptosi <2 x float> undef to <2 x i8>
380 %r94 = fptoui <2 x float> undef to <2 x i16>
381 %r95 = fptosi <2 x float> undef to <2 x i16>
382 %r96 = fptoui <2 x float> undef to <2 x i32>
383 %r97 = fptosi <2 x float> undef to <2 x i32>
384 %r98 = fptoui <2 x float> undef to <2 x i64>
385 %r99 = fptosi <2 x float> undef to <2 x i64>
386 %r100 = fptoui <2 x double> undef to <2 x i1>
387 %r101 = fptosi <2 x double> undef to <2 x i1>
388 %r102 = fptoui <2 x double> undef to <2 x i8>
389 %r103 = fptosi <2 x double> undef to <2 x i8>
390 %r104 = fptoui <2 x double> undef to <2 x i16>
391 %r105 = fptosi <2 x double> undef to <2 x i16>
392 %r106 = fptoui <2 x double> undef to <2 x i32>
393 %r107 = fptosi <2 x double> undef to <2 x i32>
394 %r108 = fptoui <2 x double> undef to <2 x i64>
395 %r109 = fptosi <2 x double> undef to <2 x i64>
397 %r110 = fptoui <4 x float> undef to <4 x i1>
398 %r111 = fptosi <4 x float> undef to <4 x i1>
399 %r112 = fptoui <4 x float> undef to <4 x i8>
400 %r113 = fptosi <4 x float> undef to <4 x i8>
402 %r114 = fptoui <4 x float> undef to <4 x i16>
403 %r115 = fptosi <4 x float> undef to <4 x i16>
404 %r116 = fptoui <4 x float> undef to <4 x i32>
405 %r117 = fptosi <4 x float> undef to <4 x i32>
406 %r118 = fptoui <4 x float> undef to <4 x i64>
407 %r119 = fptosi <4 x float> undef to <4 x i64>
409 %r120 = fptoui <4 x double> undef to <4 x i1>
410 %r121 = fptosi <4 x double> undef to <4 x i1>
411 %r122 = fptoui <4 x double> undef to <4 x i8>
412 %r123 = fptosi <4 x double> undef to <4 x i8>
413 %r124 = fptoui <4 x double> undef to <4 x i16>
414 %r125 = fptosi <4 x double> undef to <4 x i16>
415 %r126 = fptoui <4 x double> undef to <4 x i32>
416 %r127 = fptosi <4 x double> undef to <4 x i32>
417 %r128 = fptoui <4 x double> undef to <4 x i64>
418 %r129 = fptosi <4 x double> undef to <4 x i64>
420 %r130 = fptoui <8 x float> undef to <8 x i1>
421 %r131 = fptosi <8 x float> undef to <8 x i1>
422 %r132 = fptoui <8 x float> undef to <8 x i8>
423 %r133 = fptosi <8 x float> undef to <8 x i8>
424 %r134 = fptoui <8 x float> undef to <8 x i16>
425 %r135 = fptosi <8 x float> undef to <8 x i16>
426 %r136 = fptoui <8 x float> undef to <8 x i32>
427 %r137 = fptosi <8 x float> undef to <8 x i32>
428 %r138 = fptoui <8 x float> undef to <8 x i64>
429 %r139 = fptosi <8 x float> undef to <8 x i64>
431 %r140 = fptoui <8 x double> undef to <8 x i1>
432 %r141 = fptosi <8 x double> undef to <8 x i1>
433 %r142 = fptoui <8 x double> undef to <8 x i8>
434 %r143 = fptosi <8 x double> undef to <8 x i8>
435 %r144 = fptoui <8 x double> undef to <8 x i16>
436 %r145 = fptosi <8 x double> undef to <8 x i16>
437 %r146 = fptoui <8 x double> undef to <8 x i32>
438 %r147 = fptosi <8 x double> undef to <8 x i32>
439 %r148 = fptoui <8 x double> undef to <8 x i64>
440 %r149 = fptosi <8 x double> undef to <8 x i64>
442 %r150 = fptoui <16 x float> undef to <16 x i1>
443 %r151 = fptosi <16 x float> undef to <16 x i1>
444 %r152 = fptoui <16 x float> undef to <16 x i8>
445 %r153 = fptosi <16 x float> undef to <16 x i8>
446 %r154 = fptoui <16 x float> undef to <16 x i16>
447 %r155 = fptosi <16 x float> undef to <16 x i16>
448 %r156 = fptoui <16 x float> undef to <16 x i32>
449 %r157 = fptosi <16 x float> undef to <16 x i32>
450 %r158 = fptoui <16 x float> undef to <16 x i64>
451 %r159 = fptosi <16 x float> undef to <16 x i64>
453 %r160 = fptoui <16 x double> undef to <16 x i1>
454 %r161 = fptosi <16 x double> undef to <16 x i1>
455 %r162 = fptoui <16 x double> undef to <16 x i8>
456 %r163 = fptosi <16 x double> undef to <16 x i8>
457 %r164 = fptoui <16 x double> undef to <16 x i16>
458 %r165 = fptosi <16 x double> undef to <16 x i16>
459 %r166 = fptoui <16 x double> undef to <16 x i32>
460 %r167 = fptosi <16 x double> undef to <16 x i32>
461 %r168 = fptoui <16 x double> undef to <16 x i64>
462 %r169 = fptosi <16 x double> undef to <16 x i64>
464 %r170 = uitofp <2 x i1> undef to <2 x float>
465 %r171 = sitofp <2 x i1> undef to <2 x float>
466 %r172 = uitofp <2 x i8> undef to <2 x float>
467 %r173 = sitofp <2 x i8> undef to <2 x float>
468 %r174 = uitofp <2 x i16> undef to <2 x float>
469 %r175 = sitofp <2 x i16> undef to <2 x float>
470 %r176 = uitofp <2 x i32> undef to <2 x float>
471 %r177 = sitofp <2 x i32> undef to <2 x float>
472 %r178 = uitofp <2 x i64> undef to <2 x float>
473 %r179 = sitofp <2 x i64> undef to <2 x float>
475 %r180 = uitofp <2 x i1> undef to <2 x double>
476 %r181 = sitofp <2 x i1> undef to <2 x double>
477 %r182 = uitofp <2 x i8> undef to <2 x double>
478 %r183 = sitofp <2 x i8> undef to <2 x double>
479 %r184 = uitofp <2 x i16> undef to <2 x double>
480 %r185 = sitofp <2 x i16> undef to <2 x double>
481 %r186 = uitofp <2 x i32> undef to <2 x double>
482 %r187 = sitofp <2 x i32> undef to <2 x double>
483 %r188 = uitofp <2 x i64> undef to <2 x double>
484 %r189 = sitofp <2 x i64> undef to <2 x double>
486 %r190 = uitofp <4 x i1> undef to <4 x float>
487 %r191 = sitofp <4 x i1> undef to <4 x float>
488 %r192 = uitofp <4 x i8> undef to <4 x float>
489 %r193 = sitofp <4 x i8> undef to <4 x float>
490 %r194 = uitofp <4 x i16> undef to <4 x float>
491 %r195 = sitofp <4 x i16> undef to <4 x float>
492 %r196 = uitofp <4 x i32> undef to <4 x float>
493 %r197 = sitofp <4 x i32> undef to <4 x float>
494 %r198 = uitofp <4 x i64> undef to <4 x float>
495 %r199 = sitofp <4 x i64> undef to <4 x float>
497 %r200 = uitofp <4 x i1> undef to <4 x double>
498 %r201 = sitofp <4 x i1> undef to <4 x double>
499 %r202 = uitofp <4 x i8> undef to <4 x double>
500 %r203 = sitofp <4 x i8> undef to <4 x double>
501 %r204 = uitofp <4 x i16> undef to <4 x double>
502 %r205 = sitofp <4 x i16> undef to <4 x double>
503 %r206 = uitofp <4 x i32> undef to <4 x double>
504 %r207 = sitofp <4 x i32> undef to <4 x double>
505 %r208 = uitofp <4 x i64> undef to <4 x double>
506 %r209 = sitofp <4 x i64> undef to <4 x double>
508 %r210 = uitofp <8 x i1> undef to <8 x float>
509 %r211 = sitofp <8 x i1> undef to <8 x float>
510 %r212 = uitofp <8 x i8> undef to <8 x float>
511 %r213 = sitofp <8 x i8> undef to <8 x float>
512 %r214 = uitofp <8 x i16> undef to <8 x float>
513 %r215 = sitofp <8 x i16> undef to <8 x float>
514 %r216 = uitofp <8 x i32> undef to <8 x float>
515 %r217 = sitofp <8 x i32> undef to <8 x float>
516 %r218 = uitofp <8 x i64> undef to <8 x float>
517 %r219 = sitofp <8 x i64> undef to <8 x float>
519 %r220 = uitofp <8 x i1> undef to <8 x double>
520 %r221 = sitofp <8 x i1> undef to <8 x double>
521 %r222 = uitofp <8 x i8> undef to <8 x double>
522 %r223 = sitofp <8 x i8> undef to <8 x double>
523 %r224 = uitofp <8 x i16> undef to <8 x double>
524 %r225 = sitofp <8 x i16> undef to <8 x double>
525 %r226 = uitofp <8 x i16> undef to <8 x double>
526 %r227 = sitofp <8 x i16> undef to <8 x double>
527 %r228 = uitofp <8 x i64> undef to <8 x double>
528 %r229 = sitofp <8 x i64> undef to <8 x double>
530 %r230 = uitofp <16 x i1> undef to <16 x float>
531 %r231 = sitofp <16 x i1> undef to <16 x float>
532 %r232 = uitofp <16 x i8> undef to <16 x float>
533 %r233 = sitofp <16 x i8> undef to <16 x float>
534 %r234 = uitofp <16 x i16> undef to <16 x float>
535 %r235 = sitofp <16 x i16> undef to <16 x float>
536 %r236 = uitofp <16 x i32> undef to <16 x float>
537 %r237 = sitofp <16 x i32> undef to <16 x float>
538 %r238 = uitofp <16 x i64> undef to <16 x float>
539 %r239 = sitofp <16 x i64> undef to <16 x float>
541 %r240 = uitofp <16 x i1> undef to <16 x double>
542 %r241 = sitofp <16 x i1> undef to <16 x double>
543 %r242 = uitofp <16 x i8> undef to <16 x double>
544 %r243 = sitofp <16 x i8> undef to <16 x double>
545 %r244 = uitofp <16 x i16> undef to <16 x double>
546 %r245 = sitofp <16 x i16> undef to <16 x double>
547 %r246 = uitofp <16 x i16> undef to <16 x double>
548 %r247 = sitofp <16 x i16> undef to <16 x double>
549 %r248 = uitofp <16 x i64> undef to <16 x double>
550 %r249 = sitofp <16 x i64> undef to <16 x double>
555 define i32 @casts_with_users(i8 %a, i16 %b, i32 %c, i64 %d, i1 %e) {
556 ; CHECK-LABEL: 'casts_with_users'
557 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r0 = sext i8 %a to i16
558 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r1 = sext i8 %a to i32
559 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r2 = sext i8 %a to i64
560 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r3 = sext i16 %b to i32
561 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i16 %b to i64
562 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r5 = sext i32 %c to i64
563 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r0, i16* undef
564 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r1, i32* undef
565 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r2, i64* undef
566 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r3, i32* undef
567 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r4, i64* undef
568 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r5, i64* undef
569 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r6 = zext i8 %a to i16
570 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r7 = zext i8 %a to i32
571 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = zext i8 %a to i64
572 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r9 = zext i16 %b to i32
573 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = zext i16 %b to i64
574 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = zext i32 %c to i64
575 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r6, i16* undef
576 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r7, i32* undef
577 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r8, i64* undef
578 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r9, i32* undef
579 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r10, i64* undef
580 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r11, i64* undef
581 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r12 = trunc i64 %d to i32
582 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r13 = trunc i64 %d to i16
583 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r14 = trunc i64 %d to i8
584 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i32 %c to i16
585 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i32 %c to i8
586 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r17 = trunc i16 %b to i8
587 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %tie.trunc.8 = add i8 %r14, %r16
588 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %tie.trunc.8.1 = add i8 %tie.trunc.8, %r17
589 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %tie.trunc.16 = add i16 %r13, %r15
590 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.16.8 = trunc i16 %r6 to i8
591 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.32.8 = trunc i32 %r7 to i8
592 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.32.16 = trunc i32 %r9 to i16
593 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.64.8 = trunc i64 %r8 to i8
594 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.64.16 = trunc i64 %r10 to i16
595 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %free.trunc.64.32 = trunc i64 %r11 to i32
596 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r18 = sext i1 %e to i8
597 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r19 = sext i1 %e to i16
598 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r20 = sext i1 %e to i32
599 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r21 = sext i1 %e to i64
600 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r22 = zext i1 %e to i8
601 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r23 = zext i1 %e to i16
602 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %r24 = zext i1 %e to i32
603 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r25 = zext i1 %e to i64
604 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r18, i8* undef
605 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r19, i16* undef
606 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r20, i32* undef
607 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r21, i64* undef
608 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r22, i8* undef
609 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r23, i16* undef
610 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r24, i32* undef
611 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i64 %r25, i64* undef
612 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 %r12
614 %r0 = sext i8 %a to i16
615 %r1 = sext i8 %a to i32
616 %r2 = sext i8 %a to i64
617 %r3 = sext i16 %b to i32
618 %r4 = sext i16 %b to i64
619 %r5 = sext i32 %c to i64
620 store i16 %r0, i16* undef
621 store i32 %r1, i32* undef
622 store i64 %r2, i64* undef
623 store i32 %r3, i32* undef
624 store i64 %r4, i64* undef
625 store i64 %r5, i64* undef
627 %r6 = zext i8 %a to i16
628 %r7 = zext i8 %a to i32
629 %r8 = zext i8 %a to i64
630 %r9 = zext i16 %b to i32
631 %r10 = zext i16 %b to i64
632 %r11 = zext i32 %c to i64
633 store i16 %r6, i16* undef
634 store i32 %r7, i32* undef
635 store i64 %r8, i64* undef
636 store i32 %r9, i32* undef
637 store i64 %r10, i64* undef
638 store i64 %r11, i64* undef
640 %r12 = trunc i64 %d to i32
641 %r13 = trunc i64 %d to i16
642 %r14 = trunc i64 %d to i8
643 %r15 = trunc i32 %c to i16
644 %r16 = trunc i32 %c to i8
645 %r17 = trunc i16 %b to i8
646 %tie.trunc.8 = add i8 %r14, %r16
647 %tie.trunc.8.1 = add i8 %tie.trunc.8, %r17
648 %tie.trunc.16 = add i16 %r13, %r15
650 %free.trunc.16.8 = trunc i16 %r6 to i8
651 %free.trunc.32.8 = trunc i32 %r7 to i8
652 %free.trunc.32.16 = trunc i32 %r9 to i16
653 %free.trunc.64.8 = trunc i64 %r8 to i8
654 %free.trunc.64.16 = trunc i64 %r10 to i16
655 %free.trunc.64.32 = trunc i64 %r11 to i32
657 %r18 = sext i1 %e to i8
658 %r19 = sext i1 %e to i16
659 %r20 = sext i1 %e to i32
660 %r21 = sext i1 %e to i64
661 %r22 = zext i1 %e to i8
662 %r23 = zext i1 %e to i16
663 %r24 = zext i1 %e to i32
664 %r25 = zext i1 %e to i64
665 store i8 %r18, i8* undef
666 store i16 %r19, i16* undef
667 store i32 %r20, i32* undef
668 store i64 %r21, i64* undef
669 store i8 %r22, i8* undef
670 store i16 %r23, i16* undef
671 store i32 %r24, i32* undef
672 store i64 %r25, i64* undef
676 define i32 @bitcasts() {
677 ; CHECK-LABEL: 'bitcasts'
678 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %a = bitcast i32 undef to i32
679 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %b = bitcast float undef to float
680 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %c = bitcast i32 undef to float
681 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %d = bitcast float undef to i32
682 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %e = bitcast i64 undef to double
683 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %f = bitcast double undef to i64
684 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %g = bitcast half undef to i16
685 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %h = bitcast i16 undef to half
686 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
688 %a = bitcast i32 undef to i32
689 %b = bitcast float undef to float
690 %c = bitcast i32 undef to float
691 %d = bitcast float undef to i32
692 %e = bitcast i64 undef to double
693 %f = bitcast double undef to i64
694 %g = bitcast half undef to i16
695 %h = bitcast i16 undef to half
699 define i32 @load_extends() #0 {
700 ; CHECK-LABEL: 'load_extends'
701 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadi8 = load i8, i8* undef
702 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadi16 = load i16, i16* undef
703 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadi32 = load i32, i32* undef
704 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %loadv2i8 = load <2 x i8>, <2 x i8>* undef
705 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %loadv4i8 = load <4 x i8>, <4 x i8>* undef
706 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv8i8 = load <8 x i8>, <8 x i8>* undef
707 ; CHECK-NEXT: Cost Model: Found an estimated cost of 4 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef
708 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef
709 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef
710 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadv4i32 = load <4 x i32>, <4 x i32>* undef
711 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadnxv2i32 = load <vscale x 2 x i32>, <vscale x 2 x i32>* undef
712 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %loadnxv4i32 = load <vscale x 4 x i32>, <vscale x 4 x i32>* undef
713 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i8 %loadi8 to i16
714 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i8 %loadi8 to i16
715 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i8 %loadi8 to i32
716 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i8 %loadi8 to i32
717 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = sext i8 %loadi8 to i64
718 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = zext i8 %loadi8 to i64
719 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i16 %loadi16 to i32
720 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i16 %loadi16 to i32
721 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r8 = sext i16 %loadi16 to i64
722 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r9 = zext i16 %loadi16 to i64
723 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r10 = sext i32 %loadi32 to i64
724 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r11 = zext i32 %loadi32 to i64
725 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>
726 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>
727 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>
728 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>
729 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>
730 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>
731 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>
732 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>
733 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>
734 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>
735 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>
736 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>
737 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v12 = sext <4 x i32> %loadv4i32 to <4 x i64>
738 ; CHECK-NEXT: Cost Model: Found an estimated cost of 2 for instruction: %v13 = zext <4 x i32> %loadv4i32 to <4 x i64>
739 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %v14 = sext <vscale x 2 x i32> %loadnxv2i32 to <vscale x 2 x i64>
740 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %v15 = zext <vscale x 2 x i32> %loadnxv2i32 to <vscale x 2 x i64>
741 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v16 = sext <vscale x 4 x i32> %loadnxv4i32 to <vscale x 4 x i64>
742 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: %v17 = zext <vscale x 4 x i32> %loadnxv4i32 to <vscale x 4 x i64>
743 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
745 %loadi8 = load i8, i8* undef
746 %loadi16 = load i16, i16* undef
747 %loadi32 = load i32, i32* undef
748 %loadv2i8 = load <2 x i8>, <2 x i8>* undef
749 %loadv4i8 = load <4 x i8>, <4 x i8>* undef
750 %loadv8i8 = load <8 x i8>, <8 x i8>* undef
751 %loadv2i16 = load <2 x i16>, <2 x i16>* undef
752 %loadv4i16 = load <4 x i16>, <4 x i16>* undef
753 %loadv2i32 = load <2 x i32>, <2 x i32>* undef
754 %loadv4i32 = load <4 x i32>, <4 x i32>* undef
755 %loadnxv2i32 = load <vscale x 2 x i32>, <vscale x 2 x i32>* undef
756 %loadnxv4i32 = load <vscale x 4 x i32>, <vscale x 4 x i32>* undef
758 %r0 = sext i8 %loadi8 to i16
759 %r1 = zext i8 %loadi8 to i16
760 %r2 = sext i8 %loadi8 to i32
761 %r3 = zext i8 %loadi8 to i32
762 %r4 = sext i8 %loadi8 to i64
763 %r5 = zext i8 %loadi8 to i64
764 %r6 = sext i16 %loadi16 to i32
765 %r7 = zext i16 %loadi16 to i32
766 %r8 = sext i16 %loadi16 to i64
767 %r9 = zext i16 %loadi16 to i64
768 %r10 = sext i32 %loadi32 to i64
769 %r11 = zext i32 %loadi32 to i64
771 %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>
772 %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>
773 %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>
774 %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>
775 %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>
776 %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>
777 %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>
778 %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>
779 %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>
780 %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>
781 %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>
782 %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>
783 %v12 = sext <4 x i32> %loadv4i32 to <4 x i64>
784 %v13 = zext <4 x i32> %loadv4i32 to <4 x i64>
785 %v14 = sext <vscale x 2 x i32> %loadnxv2i32 to <vscale x 2 x i64>
786 %v15 = zext <vscale x 2 x i32> %loadnxv2i32 to <vscale x 2 x i64>
787 %v16 = sext <vscale x 4 x i32> %loadnxv4i32 to <vscale x 4 x i64>
788 %v17 = zext <vscale x 4 x i32> %loadnxv4i32 to <vscale x 4 x i64>
793 define i32 @store_truncs() {
794 ; CHECK-LABEL: 'store_truncs'
795 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r0 = trunc i64 undef to i8
796 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r0, i8* undef
797 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r1 = trunc i64 undef to i16
798 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r1, i16* undef
799 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r2 = trunc i64 undef to i32
800 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i32 %r2, i32* undef
801 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r3 = trunc i32 undef to i8
802 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r3, i8* undef
803 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r4 = trunc i32 undef to i16
804 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i16 %r4, i16* undef
805 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: %r5 = trunc i16 undef to i8
806 ; CHECK-NEXT: Cost Model: Found an estimated cost of 1 for instruction: store i8 %r5, i8* undef
807 ; CHECK-NEXT: Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
809 %r0 = trunc i64 undef to i8
810 store i8 %r0, i8* undef
811 %r1 = trunc i64 undef to i16
812 store i16 %r1, i16* undef
813 %r2 = trunc i64 undef to i32
814 store i32 %r2, i32* undef
815 %r3 = trunc i32 undef to i8
816 store i8 %r3, i8* undef
817 %r4 = trunc i32 undef to i16
818 store i16 %r4, i16* undef
819 %r5 = trunc i16 undef to i8
820 store i8 %r5, i8* undef
824 attributes #0 = { "target-features"="+sve" }