[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Analysis / CostModel / ARM / cast.ll
blob0b068b5e0e9b9c4e1dfc3861a6efec1d4190fb05
1 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2 ; RUN: opt < %s  -cost-model -analyze -mtriple=thumbv7-apple-ios6.0.0 -mcpu=cortex-a9 | FileCheck %s --check-prefix=CHECK-NEON
3 ; RUN: opt -cost-model -analyze -mtriple=thumbv8.1-m.main-none-eabi -mattr=+mve.fp < %s | FileCheck %s --check-prefix=CHECK-MVE
5 define i32 @casts() {
6 ; CHECK-NEON-LABEL: 'casts'
7 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r0 = sext i1 undef to i8
8 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r1 = zext i1 undef to i8
9 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r2 = sext i1 undef to i16
10 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r3 = zext i1 undef to i16
11 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i1 undef to i32
12 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r5 = zext i1 undef to i32
13 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r6 = sext i1 undef to i64
14 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r7 = zext i1 undef to i64
15 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r8 = trunc i8 undef to i1
16 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r9 = sext i8 undef to i16
17 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r10 = zext i8 undef to i16
18 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r11 = sext i8 undef to i32
19 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r12 = zext i8 undef to i32
20 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r13 = sext i8 undef to i64
21 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r14 = zext i8 undef to i64
22 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i16 undef to i1
23 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i16 undef to i8
24 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r17 = sext i16 undef to i32
25 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r18 = zext i16 undef to i32
26 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r19 = sext i16 undef to i64
27 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r20 = zext i16 undef to i64
28 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r21 = trunc i32 undef to i1
29 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r22 = trunc i32 undef to i8
30 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r23 = trunc i32 undef to i16
31 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r24 = sext i32 undef to i64
32 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r25 = zext i32 undef to i64
33 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r26 = trunc i64 undef to i1
34 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r27 = trunc i64 undef to i8
35 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r28 = trunc i64 undef to i16
36 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r29 = trunc i64 undef to i32
37 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r30 = fptoui float undef to i1
38 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r31 = fptosi float undef to i1
39 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r32 = fptoui float undef to i8
40 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r33 = fptosi float undef to i8
41 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r34 = fptoui float undef to i16
42 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r35 = fptosi float undef to i16
43 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r36 = fptoui float undef to i32
44 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r37 = fptosi float undef to i32
45 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r38 = fptoui float undef to i64
46 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r39 = fptosi float undef to i64
47 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r40 = fptoui double undef to i1
48 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r41 = fptosi double undef to i1
49 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r42 = fptoui double undef to i8
50 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r43 = fptosi double undef to i8
51 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r44 = fptoui double undef to i16
52 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r45 = fptosi double undef to i16
53 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r46 = fptoui double undef to i32
54 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r47 = fptosi double undef to i32
55 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r48 = fptoui double undef to i64
56 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r49 = fptosi double undef to i64
57 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r50 = sitofp i1 undef to float
58 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r51 = uitofp i1 undef to float
59 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r52 = sitofp i1 undef to double
60 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r53 = uitofp i1 undef to double
61 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r54 = sitofp i8 undef to float
62 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r55 = uitofp i8 undef to float
63 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r56 = sitofp i8 undef to double
64 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r57 = uitofp i8 undef to double
65 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r58 = sitofp i16 undef to float
66 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r59 = uitofp i16 undef to float
67 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r60 = sitofp i16 undef to double
68 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r61 = uitofp i16 undef to double
69 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r62 = sitofp i32 undef to float
70 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r63 = uitofp i32 undef to float
71 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r64 = sitofp i32 undef to double
72 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r65 = uitofp i32 undef to double
73 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r66 = sitofp i64 undef to float
74 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r67 = uitofp i64 undef to float
75 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r68 = sitofp i64 undef to double
76 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r69 = uitofp i64 undef to double
77 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q70 = sext <4 x i8> undef to <4 x i32>
78 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q71 = sext <8 x i8> undef to <8 x i16>
79 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s70 = sext <4 x i8> undef to <4 x i32>
80 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r70 = sext <8 x i8> undef to <8 x i32>
81 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r71 = sext <16 x i8> undef to <16 x i32>
82 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q72 = zext <4 x i8> undef to <4 x i32>
83 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %q73 = zext <8 x i8> undef to <8 x i16>
84 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %s72 = zext <4 x i8> undef to <4 x i32>
85 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r72 = zext <8 x i8> undef to <8 x i32>
86 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r73 = zext <16 x i8> undef to <16 x i32>
87 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %rext_0 = sext <8 x i8> undef to <8 x i64>
88 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %rext_1 = zext <8 x i8> undef to <8 x i64>
89 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %rext_2 = sext <8 x i16> undef to <8 x i64>
90 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %rext_3 = zext <8 x i16> undef to <8 x i64>
91 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %rext_4 = sext <4 x i16> undef to <4 x i64>
92 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %rext_5 = zext <4 x i16> undef to <4 x i64>
93 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_6 = sext <2 x i8> undef to <2 x i64>
94 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_7 = zext <2 x i8> undef to <2 x i64>
95 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_8 = sext <2 x i16> undef to <2 x i64>
96 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_9 = zext <2 x i16> undef to <2 x i64>
97 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_a = sext <2 x i32> undef to <2 x i64>
98 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %rext_b = zext <2 x i32> undef to <2 x i64>
99 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r74 = trunc <8 x i32> undef to <8 x i8>
100 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 6 for instruction: %r75 = trunc <16 x i32> undef to <16 x i8>
101 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r80 = fptrunc double undef to float
102 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r81 = fptrunc <2 x double> undef to <2 x float>
103 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r82 = fptrunc <4 x double> undef to <4 x float>
104 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r83 = fptrunc <8 x double> undef to <8 x float>
105 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r84 = fptrunc <16 x double> undef to <16 x float>
106 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r85 = fpext float undef to double
107 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r86 = fpext <2 x float> undef to <2 x double>
108 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r87 = fpext <4 x float> undef to <4 x double>
109 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r88 = fpext <8 x float> undef to <8 x double>
110 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r89 = fpext <16 x float> undef to <16 x double>
111 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r90 = fptoui <2 x float> undef to <2 x i1>
112 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r91 = fptosi <2 x float> undef to <2 x i1>
113 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r92 = fptoui <2 x float> undef to <2 x i8>
114 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r93 = fptosi <2 x float> undef to <2 x i8>
115 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r94 = fptoui <2 x float> undef to <2 x i16>
116 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r95 = fptosi <2 x float> undef to <2 x i16>
117 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r96 = fptoui <2 x float> undef to <2 x i32>
118 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r97 = fptosi <2 x float> undef to <2 x i32>
119 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r98 = fptoui <2 x float> undef to <2 x i64>
120 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r99 = fptosi <2 x float> undef to <2 x i64>
121 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r100 = fptoui <2 x double> undef to <2 x i1>
122 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r101 = fptosi <2 x double> undef to <2 x i1>
123 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r102 = fptoui <2 x double> undef to <2 x i8>
124 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r103 = fptosi <2 x double> undef to <2 x i8>
125 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r104 = fptoui <2 x double> undef to <2 x i16>
126 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %r105 = fptosi <2 x double> undef to <2 x i16>
127 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r106 = fptoui <2 x double> undef to <2 x i32>
128 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r107 = fptosi <2 x double> undef to <2 x i32>
129 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r108 = fptoui <2 x double> undef to <2 x i64>
130 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r109 = fptosi <2 x double> undef to <2 x i64>
131 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r110 = fptoui <4 x float> undef to <4 x i1>
132 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r111 = fptosi <4 x float> undef to <4 x i1>
133 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r112 = fptoui <4 x float> undef to <4 x i8>
134 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r113 = fptosi <4 x float> undef to <4 x i8>
135 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r114 = fptoui <4 x float> undef to <4 x i16>
136 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r115 = fptosi <4 x float> undef to <4 x i16>
137 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r116 = fptoui <4 x float> undef to <4 x i32>
138 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r117 = fptosi <4 x float> undef to <4 x i32>
139 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 65 for instruction: %r118 = fptoui <4 x float> undef to <4 x i64>
140 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 65 for instruction: %r119 = fptosi <4 x float> undef to <4 x i64>
141 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 33 for instruction: %r120 = fptoui <4 x double> undef to <4 x i1>
142 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 33 for instruction: %r121 = fptosi <4 x double> undef to <4 x i1>
143 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 33 for instruction: %r122 = fptoui <4 x double> undef to <4 x i8>
144 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 33 for instruction: %r123 = fptosi <4 x double> undef to <4 x i8>
145 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 33 for instruction: %r124 = fptoui <4 x double> undef to <4 x i16>
146 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 33 for instruction: %r125 = fptosi <4 x double> undef to <4 x i16>
147 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %r126 = fptoui <4 x double> undef to <4 x i32>
148 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %r127 = fptosi <4 x double> undef to <4 x i32>
149 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 65 for instruction: %r128 = fptoui <4 x double> undef to <4 x i64>
150 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 65 for instruction: %r129 = fptosi <4 x double> undef to <4 x i64>
151 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 65 for instruction: %r130 = fptoui <8 x float> undef to <8 x i1>
152 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 65 for instruction: %r131 = fptosi <8 x float> undef to <8 x i1>
153 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r132 = fptoui <8 x float> undef to <8 x i8>
154 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r133 = fptosi <8 x float> undef to <8 x i8>
155 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r134 = fptoui <8 x float> undef to <8 x i16>
156 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r135 = fptosi <8 x float> undef to <8 x i16>
157 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r136 = fptoui <8 x float> undef to <8 x i32>
158 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r137 = fptosi <8 x float> undef to <8 x i32>
159 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 131 for instruction: %r138 = fptoui <8 x float> undef to <8 x i64>
160 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 131 for instruction: %r139 = fptosi <8 x float> undef to <8 x i64>
161 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 67 for instruction: %r140 = fptoui <8 x double> undef to <8 x i1>
162 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 67 for instruction: %r141 = fptosi <8 x double> undef to <8 x i1>
163 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 67 for instruction: %r142 = fptoui <8 x double> undef to <8 x i8>
164 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 67 for instruction: %r143 = fptosi <8 x double> undef to <8 x i8>
165 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 67 for instruction: %r144 = fptoui <8 x double> undef to <8 x i16>
166 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 67 for instruction: %r145 = fptosi <8 x double> undef to <8 x i16>
167 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 11 for instruction: %r146 = fptoui <8 x double> undef to <8 x i32>
168 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 11 for instruction: %r147 = fptosi <8 x double> undef to <8 x i32>
169 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 131 for instruction: %r148 = fptoui <8 x double> undef to <8 x i64>
170 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 131 for instruction: %r149 = fptosi <8 x double> undef to <8 x i64>
171 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 131 for instruction: %r150 = fptoui <16 x float> undef to <16 x i1>
172 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 131 for instruction: %r151 = fptosi <16 x float> undef to <16 x i1>
173 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r152 = fptoui <16 x float> undef to <16 x i8>
174 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r153 = fptosi <16 x float> undef to <16 x i8>
175 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r154 = fptoui <16 x float> undef to <16 x i16>
176 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r155 = fptosi <16 x float> undef to <16 x i16>
177 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r156 = fptoui <16 x float> undef to <16 x i32>
178 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r157 = fptosi <16 x float> undef to <16 x i32>
179 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 263 for instruction: %r158 = fptoui <16 x float> undef to <16 x i64>
180 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 263 for instruction: %r159 = fptosi <16 x float> undef to <16 x i64>
181 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 135 for instruction: %r160 = fptoui <16 x double> undef to <16 x i1>
182 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 135 for instruction: %r161 = fptosi <16 x double> undef to <16 x i1>
183 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 135 for instruction: %r162 = fptoui <16 x double> undef to <16 x i8>
184 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 135 for instruction: %r163 = fptosi <16 x double> undef to <16 x i8>
185 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 135 for instruction: %r164 = fptoui <16 x double> undef to <16 x i16>
186 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 135 for instruction: %r165 = fptosi <16 x double> undef to <16 x i16>
187 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 23 for instruction: %r166 = fptoui <16 x double> undef to <16 x i32>
188 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 23 for instruction: %r167 = fptosi <16 x double> undef to <16 x i32>
189 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 263 for instruction: %r168 = fptoui <16 x double> undef to <16 x i64>
190 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 263 for instruction: %r169 = fptosi <16 x double> undef to <16 x i64>
191 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 12 for instruction: %r170 = uitofp <2 x i1> undef to <2 x float>
192 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 12 for instruction: %r171 = sitofp <2 x i1> undef to <2 x float>
193 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r172 = uitofp <2 x i8> undef to <2 x float>
194 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r173 = sitofp <2 x i8> undef to <2 x float>
195 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r174 = uitofp <2 x i16> undef to <2 x float>
196 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r175 = sitofp <2 x i16> undef to <2 x float>
197 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r176 = uitofp <2 x i32> undef to <2 x float>
198 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r177 = sitofp <2 x i32> undef to <2 x float>
199 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 28 for instruction: %r178 = uitofp <2 x i64> undef to <2 x float>
200 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 28 for instruction: %r179 = sitofp <2 x i64> undef to <2 x float>
201 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r180 = uitofp <2 x i1> undef to <2 x double>
202 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r181 = sitofp <2 x i1> undef to <2 x double>
203 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r182 = uitofp <2 x i8> undef to <2 x double>
204 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r183 = sitofp <2 x i8> undef to <2 x double>
205 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r184 = uitofp <2 x i16> undef to <2 x double>
206 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r185 = sitofp <2 x i16> undef to <2 x double>
207 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r186 = uitofp <2 x i32> undef to <2 x double>
208 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r187 = sitofp <2 x i32> undef to <2 x double>
209 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 24 for instruction: %r188 = uitofp <2 x i64> undef to <2 x double>
210 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 24 for instruction: %r189 = sitofp <2 x i64> undef to <2 x double>
211 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r190 = uitofp <4 x i1> undef to <4 x float>
212 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r191 = sitofp <4 x i1> undef to <4 x float>
213 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r192 = uitofp <4 x i8> undef to <4 x float>
214 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 3 for instruction: %r193 = sitofp <4 x i8> undef to <4 x float>
215 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r194 = uitofp <4 x i16> undef to <4 x float>
216 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r195 = sitofp <4 x i16> undef to <4 x float>
217 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r196 = uitofp <4 x i32> undef to <4 x float>
218 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r197 = sitofp <4 x i32> undef to <4 x float>
219 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 57 for instruction: %r198 = uitofp <4 x i64> undef to <4 x float>
220 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 57 for instruction: %r199 = sitofp <4 x i64> undef to <4 x float>
221 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r200 = uitofp <4 x i1> undef to <4 x double>
222 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 17 for instruction: %r201 = sitofp <4 x i1> undef to <4 x double>
223 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 9 for instruction: %r202 = uitofp <4 x i8> undef to <4 x double>
224 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 9 for instruction: %r203 = sitofp <4 x i8> undef to <4 x double>
225 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r204 = uitofp <4 x i16> undef to <4 x double>
226 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r205 = sitofp <4 x i16> undef to <4 x double>
227 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %r206 = uitofp <4 x i32> undef to <4 x double>
228 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 5 for instruction: %r207 = sitofp <4 x i32> undef to <4 x double>
229 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 49 for instruction: %r208 = uitofp <4 x i64> undef to <4 x double>
230 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 49 for instruction: %r209 = sitofp <4 x i64> undef to <4 x double>
231 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r210 = uitofp <8 x i1> undef to <8 x float>
232 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r211 = sitofp <8 x i1> undef to <8 x float>
233 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r212 = uitofp <8 x i8> undef to <8 x float>
234 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 7 for instruction: %r213 = sitofp <8 x i8> undef to <8 x float>
235 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r214 = uitofp <8 x i16> undef to <8 x float>
236 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r215 = sitofp <8 x i16> undef to <8 x float>
237 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r216 = uitofp <8 x i32> undef to <8 x float>
238 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r217 = sitofp <8 x i32> undef to <8 x float>
239 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 115 for instruction: %r218 = uitofp <8 x i64> undef to <8 x float>
240 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 115 for instruction: %r219 = sitofp <8 x i64> undef to <8 x float>
241 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r220 = uitofp <8 x i1> undef to <8 x double>
242 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 35 for instruction: %r221 = sitofp <8 x i1> undef to <8 x double>
243 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 19 for instruction: %r222 = uitofp <8 x i8> undef to <8 x double>
244 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 19 for instruction: %r223 = sitofp <8 x i8> undef to <8 x double>
245 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r224 = uitofp <8 x i16> undef to <8 x double>
246 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r225 = sitofp <8 x i16> undef to <8 x double>
247 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r226 = uitofp <8 x i16> undef to <8 x double>
248 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r227 = sitofp <8 x i16> undef to <8 x double>
249 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 99 for instruction: %r228 = uitofp <8 x i64> undef to <8 x double>
250 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 99 for instruction: %r229 = sitofp <8 x i64> undef to <8 x double>
251 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r230 = uitofp <16 x i1> undef to <16 x float>
252 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r231 = sitofp <16 x i1> undef to <16 x float>
253 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r232 = uitofp <16 x i8> undef to <16 x float>
254 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 15 for instruction: %r233 = sitofp <16 x i8> undef to <16 x float>
255 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r234 = uitofp <16 x i16> undef to <16 x float>
256 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 8 for instruction: %r235 = sitofp <16 x i16> undef to <16 x float>
257 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r236 = uitofp <16 x i32> undef to <16 x float>
258 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r237 = sitofp <16 x i32> undef to <16 x float>
259 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 231 for instruction: %r238 = uitofp <16 x i64> undef to <16 x float>
260 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 231 for instruction: %r239 = sitofp <16 x i64> undef to <16 x float>
261 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 71 for instruction: %r240 = uitofp <16 x i1> undef to <16 x double>
262 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 71 for instruction: %r241 = sitofp <16 x i1> undef to <16 x double>
263 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 39 for instruction: %r242 = uitofp <16 x i8> undef to <16 x double>
264 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 39 for instruction: %r243 = sitofp <16 x i8> undef to <16 x double>
265 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 31 for instruction: %r244 = uitofp <16 x i16> undef to <16 x double>
266 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 31 for instruction: %r245 = sitofp <16 x i16> undef to <16 x double>
267 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 31 for instruction: %r246 = uitofp <16 x i16> undef to <16 x double>
268 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 31 for instruction: %r247 = sitofp <16 x i16> undef to <16 x double>
269 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 199 for instruction: %r248 = uitofp <16 x i64> undef to <16 x double>
270 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 199 for instruction: %r249 = sitofp <16 x i64> undef to <16 x double>
271 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
273 ; CHECK-MVE-LABEL: 'casts'
274 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r0 = sext i1 undef to i8
275 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r1 = zext i1 undef to i8
276 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r2 = sext i1 undef to i16
277 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r3 = zext i1 undef to i16
278 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i1 undef to i32
279 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r5 = zext i1 undef to i32
280 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r6 = sext i1 undef to i64
281 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r7 = zext i1 undef to i64
282 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r8 = trunc i8 undef to i1
283 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r9 = sext i8 undef to i16
284 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r10 = zext i8 undef to i16
285 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r11 = sext i8 undef to i32
286 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r12 = zext i8 undef to i32
287 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r13 = sext i8 undef to i64
288 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r14 = zext i8 undef to i64
289 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r15 = trunc i16 undef to i1
290 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r16 = trunc i16 undef to i8
291 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r17 = sext i16 undef to i32
292 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r18 = zext i16 undef to i32
293 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r19 = sext i16 undef to i64
294 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r20 = zext i16 undef to i64
295 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r21 = trunc i32 undef to i1
296 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r22 = trunc i32 undef to i8
297 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r23 = trunc i32 undef to i16
298 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r24 = sext i32 undef to i64
299 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r25 = zext i32 undef to i64
300 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r26 = trunc i64 undef to i1
301 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r27 = trunc i64 undef to i8
302 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r28 = trunc i64 undef to i16
303 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r29 = trunc i64 undef to i32
304 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r30 = fptoui float undef to i1
305 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r31 = fptosi float undef to i1
306 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r32 = fptoui float undef to i8
307 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r33 = fptosi float undef to i8
308 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r34 = fptoui float undef to i16
309 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r35 = fptosi float undef to i16
310 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r36 = fptoui float undef to i32
311 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r37 = fptosi float undef to i32
312 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r38 = fptoui float undef to i64
313 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r39 = fptosi float undef to i64
314 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r40 = fptoui double undef to i1
315 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r41 = fptosi double undef to i1
316 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r42 = fptoui double undef to i8
317 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r43 = fptosi double undef to i8
318 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r44 = fptoui double undef to i16
319 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r45 = fptosi double undef to i16
320 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r46 = fptoui double undef to i32
321 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r47 = fptosi double undef to i32
322 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r48 = fptoui double undef to i64
323 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r49 = fptosi double undef to i64
324 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r50 = sitofp i1 undef to float
325 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r51 = uitofp i1 undef to float
326 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r52 = sitofp i1 undef to double
327 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r53 = uitofp i1 undef to double
328 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r54 = sitofp i8 undef to float
329 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r55 = uitofp i8 undef to float
330 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r56 = sitofp i8 undef to double
331 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r57 = uitofp i8 undef to double
332 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r58 = sitofp i16 undef to float
333 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r59 = uitofp i16 undef to float
334 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r60 = sitofp i16 undef to double
335 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r61 = uitofp i16 undef to double
336 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r62 = sitofp i32 undef to float
337 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r63 = uitofp i32 undef to float
338 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r64 = sitofp i32 undef to double
339 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r65 = uitofp i32 undef to double
340 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r66 = sitofp i64 undef to float
341 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r67 = uitofp i64 undef to float
342 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r68 = sitofp i64 undef to double
343 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %r69 = uitofp i64 undef to double
344 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %q70 = sext <4 x i8> undef to <4 x i32>
345 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %q71 = sext <8 x i8> undef to <8 x i16>
346 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %s70 = sext <4 x i8> undef to <4 x i32>
347 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 18 for instruction: %r70 = sext <8 x i8> undef to <8 x i32>
348 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 74 for instruction: %r71 = sext <16 x i8> undef to <16 x i32>
349 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %q72 = zext <4 x i8> undef to <4 x i32>
350 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %q73 = zext <8 x i8> undef to <8 x i16>
351 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %s72 = zext <4 x i8> undef to <4 x i32>
352 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 18 for instruction: %r72 = zext <8 x i8> undef to <8 x i32>
353 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 74 for instruction: %r73 = zext <16 x i8> undef to <16 x i32>
354 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %rext_0 = sext <8 x i8> undef to <8 x i64>
355 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 74 for instruction: %rext_1 = zext <8 x i8> undef to <8 x i64>
356 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %rext_2 = sext <8 x i16> undef to <8 x i64>
357 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 74 for instruction: %rext_3 = zext <8 x i16> undef to <8 x i64>
358 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %rext_4 = sext <4 x i16> undef to <4 x i64>
359 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 18 for instruction: %rext_5 = zext <4 x i16> undef to <4 x i64>
360 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %rext_6 = sext <2 x i8> undef to <2 x i64>
361 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %rext_7 = zext <2 x i8> undef to <2 x i64>
362 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %rext_8 = sext <2 x i16> undef to <2 x i64>
363 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %rext_9 = zext <2 x i16> undef to <2 x i64>
364 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %rext_a = sext <2 x i32> undef to <2 x i64>
365 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %rext_b = zext <2 x i32> undef to <2 x i64>
366 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r74 = trunc <8 x i32> undef to <8 x i8>
367 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r75 = trunc <16 x i32> undef to <16 x i8>
368 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r80 = fptrunc double undef to float
369 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r81 = fptrunc <2 x double> undef to <2 x float>
370 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r82 = fptrunc <4 x double> undef to <4 x float>
371 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r83 = fptrunc <8 x double> undef to <8 x float>
372 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 85 for instruction: %r84 = fptrunc <16 x double> undef to <16 x float>
373 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r85 = fpext float undef to double
374 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r86 = fpext <2 x float> undef to <2 x double>
375 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r87 = fpext <4 x float> undef to <4 x double>
376 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r88 = fpext <8 x float> undef to <8 x double>
377 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r89 = fpext <16 x float> undef to <16 x double>
378 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r90 = fptoui <2 x float> undef to <2 x i1>
379 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r91 = fptosi <2 x float> undef to <2 x i1>
380 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r92 = fptoui <2 x float> undef to <2 x i8>
381 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r93 = fptosi <2 x float> undef to <2 x i8>
382 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r94 = fptoui <2 x float> undef to <2 x i16>
383 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r95 = fptosi <2 x float> undef to <2 x i16>
384 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r96 = fptoui <2 x float> undef to <2 x i32>
385 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r97 = fptosi <2 x float> undef to <2 x i32>
386 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r98 = fptoui <2 x float> undef to <2 x i64>
387 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r99 = fptosi <2 x float> undef to <2 x i64>
388 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r100 = fptoui <2 x double> undef to <2 x i1>
389 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r101 = fptosi <2 x double> undef to <2 x i1>
390 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r102 = fptoui <2 x double> undef to <2 x i8>
391 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r103 = fptosi <2 x double> undef to <2 x i8>
392 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r104 = fptoui <2 x double> undef to <2 x i16>
393 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r105 = fptosi <2 x double> undef to <2 x i16>
394 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r106 = fptoui <2 x double> undef to <2 x i32>
395 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r107 = fptosi <2 x double> undef to <2 x i32>
396 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r108 = fptoui <2 x double> undef to <2 x i64>
397 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %r109 = fptosi <2 x double> undef to <2 x i64>
398 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r110 = fptoui <4 x float> undef to <4 x i1>
399 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r111 = fptosi <4 x float> undef to <4 x i1>
400 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r112 = fptoui <4 x float> undef to <4 x i8>
401 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r113 = fptosi <4 x float> undef to <4 x i8>
402 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r114 = fptoui <4 x float> undef to <4 x i16>
403 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r115 = fptosi <4 x float> undef to <4 x i16>
404 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r116 = fptoui <4 x float> undef to <4 x i32>
405 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r117 = fptosi <4 x float> undef to <4 x i32>
406 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r118 = fptoui <4 x float> undef to <4 x i64>
407 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r119 = fptosi <4 x float> undef to <4 x i64>
408 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r120 = fptoui <4 x double> undef to <4 x i1>
409 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r121 = fptosi <4 x double> undef to <4 x i1>
410 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r122 = fptoui <4 x double> undef to <4 x i8>
411 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r123 = fptosi <4 x double> undef to <4 x i8>
412 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r124 = fptoui <4 x double> undef to <4 x i16>
413 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r125 = fptosi <4 x double> undef to <4 x i16>
414 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r126 = fptoui <4 x double> undef to <4 x i32>
415 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r127 = fptosi <4 x double> undef to <4 x i32>
416 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r128 = fptoui <4 x double> undef to <4 x i64>
417 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 82 for instruction: %r129 = fptosi <4 x double> undef to <4 x i64>
418 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r130 = fptoui <8 x float> undef to <8 x i1>
419 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r131 = fptosi <8 x float> undef to <8 x i1>
420 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r132 = fptoui <8 x float> undef to <8 x i8>
421 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r133 = fptosi <8 x float> undef to <8 x i8>
422 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r134 = fptoui <8 x float> undef to <8 x i16>
423 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r135 = fptosi <8 x float> undef to <8 x i16>
424 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r136 = fptoui <8 x float> undef to <8 x i32>
425 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r137 = fptosi <8 x float> undef to <8 x i32>
426 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r138 = fptoui <8 x float> undef to <8 x i64>
427 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r139 = fptosi <8 x float> undef to <8 x i64>
428 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r140 = fptoui <8 x double> undef to <8 x i1>
429 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r141 = fptosi <8 x double> undef to <8 x i1>
430 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r142 = fptoui <8 x double> undef to <8 x i8>
431 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r143 = fptosi <8 x double> undef to <8 x i8>
432 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r144 = fptoui <8 x double> undef to <8 x i16>
433 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r145 = fptosi <8 x double> undef to <8 x i16>
434 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r146 = fptoui <8 x double> undef to <8 x i32>
435 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r147 = fptosi <8 x double> undef to <8 x i32>
436 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r148 = fptoui <8 x double> undef to <8 x i64>
437 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 330 for instruction: %r149 = fptosi <8 x double> undef to <8 x i64>
438 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r150 = fptoui <16 x float> undef to <16 x i1>
439 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r151 = fptosi <16 x float> undef to <16 x i1>
440 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r152 = fptoui <16 x float> undef to <16 x i8>
441 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r153 = fptosi <16 x float> undef to <16 x i8>
442 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r154 = fptoui <16 x float> undef to <16 x i16>
443 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r155 = fptosi <16 x float> undef to <16 x i16>
444 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r156 = fptoui <16 x float> undef to <16 x i32>
445 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r157 = fptosi <16 x float> undef to <16 x i32>
446 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1322 for instruction: %r158 = fptoui <16 x float> undef to <16 x i64>
447 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1322 for instruction: %r159 = fptosi <16 x float> undef to <16 x i64>
448 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r160 = fptoui <16 x double> undef to <16 x i1>
449 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r161 = fptosi <16 x double> undef to <16 x i1>
450 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r162 = fptoui <16 x double> undef to <16 x i8>
451 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r163 = fptosi <16 x double> undef to <16 x i8>
452 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r164 = fptoui <16 x double> undef to <16 x i16>
453 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r165 = fptosi <16 x double> undef to <16 x i16>
454 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r166 = fptoui <16 x double> undef to <16 x i32>
455 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r167 = fptosi <16 x double> undef to <16 x i32>
456 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r168 = fptoui <16 x double> undef to <16 x i64>
457 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 661 for instruction: %r169 = fptosi <16 x double> undef to <16 x i64>
458 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r170 = uitofp <2 x i1> undef to <2 x float>
459 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r171 = sitofp <2 x i1> undef to <2 x float>
460 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r172 = uitofp <2 x i8> undef to <2 x float>
461 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r173 = sitofp <2 x i8> undef to <2 x float>
462 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r174 = uitofp <2 x i16> undef to <2 x float>
463 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r175 = sitofp <2 x i16> undef to <2 x float>
464 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r176 = uitofp <2 x i32> undef to <2 x float>
465 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r177 = sitofp <2 x i32> undef to <2 x float>
466 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r178 = uitofp <2 x i64> undef to <2 x float>
467 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r179 = sitofp <2 x i64> undef to <2 x float>
468 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r180 = uitofp <2 x i1> undef to <2 x double>
469 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r181 = sitofp <2 x i1> undef to <2 x double>
470 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r182 = uitofp <2 x i8> undef to <2 x double>
471 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r183 = sitofp <2 x i8> undef to <2 x double>
472 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r184 = uitofp <2 x i16> undef to <2 x double>
473 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r185 = sitofp <2 x i16> undef to <2 x double>
474 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r186 = uitofp <2 x i32> undef to <2 x double>
475 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r187 = sitofp <2 x i32> undef to <2 x double>
476 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r188 = uitofp <2 x i64> undef to <2 x double>
477 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 32 for instruction: %r189 = sitofp <2 x i64> undef to <2 x double>
478 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r190 = uitofp <4 x i1> undef to <4 x float>
479 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r191 = sitofp <4 x i1> undef to <4 x float>
480 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r192 = uitofp <4 x i8> undef to <4 x float>
481 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r193 = sitofp <4 x i8> undef to <4 x float>
482 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r194 = uitofp <4 x i16> undef to <4 x float>
483 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r195 = sitofp <4 x i16> undef to <4 x float>
484 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r196 = uitofp <4 x i32> undef to <4 x float>
485 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r197 = sitofp <4 x i32> undef to <4 x float>
486 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r198 = uitofp <4 x i64> undef to <4 x float>
487 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r199 = sitofp <4 x i64> undef to <4 x float>
488 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r200 = uitofp <4 x i1> undef to <4 x double>
489 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r201 = sitofp <4 x i1> undef to <4 x double>
490 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r202 = uitofp <4 x i8> undef to <4 x double>
491 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r203 = sitofp <4 x i8> undef to <4 x double>
492 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r204 = uitofp <4 x i16> undef to <4 x double>
493 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r205 = sitofp <4 x i16> undef to <4 x double>
494 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r206 = uitofp <4 x i32> undef to <4 x double>
495 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r207 = sitofp <4 x i32> undef to <4 x double>
496 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r208 = uitofp <4 x i64> undef to <4 x double>
497 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 130 for instruction: %r209 = sitofp <4 x i64> undef to <4 x double>
498 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r210 = uitofp <8 x i1> undef to <8 x float>
499 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r211 = sitofp <8 x i1> undef to <8 x float>
500 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r212 = uitofp <8 x i8> undef to <8 x float>
501 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r213 = sitofp <8 x i8> undef to <8 x float>
502 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r214 = uitofp <8 x i16> undef to <8 x float>
503 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 10 for instruction: %r215 = sitofp <8 x i16> undef to <8 x float>
504 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r216 = uitofp <8 x i32> undef to <8 x float>
505 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r217 = sitofp <8 x i32> undef to <8 x float>
506 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r218 = uitofp <8 x i64> undef to <8 x float>
507 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r219 = sitofp <8 x i64> undef to <8 x float>
508 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r220 = uitofp <8 x i1> undef to <8 x double>
509 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r221 = sitofp <8 x i1> undef to <8 x double>
510 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r222 = uitofp <8 x i8> undef to <8 x double>
511 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r223 = sitofp <8 x i8> undef to <8 x double>
512 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r224 = uitofp <8 x i16> undef to <8 x double>
513 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r225 = sitofp <8 x i16> undef to <8 x double>
514 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r226 = uitofp <8 x i16> undef to <8 x double>
515 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r227 = sitofp <8 x i16> undef to <8 x double>
516 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r228 = uitofp <8 x i64> undef to <8 x double>
517 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 522 for instruction: %r229 = sitofp <8 x i64> undef to <8 x double>
518 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r230 = uitofp <16 x i1> undef to <16 x float>
519 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r231 = sitofp <16 x i1> undef to <16 x float>
520 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r232 = uitofp <16 x i8> undef to <16 x float>
521 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r233 = sitofp <16 x i8> undef to <16 x float>
522 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r234 = uitofp <16 x i16> undef to <16 x float>
523 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 42 for instruction: %r235 = sitofp <16 x i16> undef to <16 x float>
524 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r236 = uitofp <16 x i32> undef to <16 x float>
525 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %r237 = sitofp <16 x i32> undef to <16 x float>
526 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 170 for instruction: %r238 = uitofp <16 x i64> undef to <16 x float>
527 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 170 for instruction: %r239 = sitofp <16 x i64> undef to <16 x float>
528 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r240 = uitofp <16 x i1> undef to <16 x double>
529 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r241 = sitofp <16 x i1> undef to <16 x double>
530 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r242 = uitofp <16 x i8> undef to <16 x double>
531 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r243 = sitofp <16 x i8> undef to <16 x double>
532 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r244 = uitofp <16 x i16> undef to <16 x double>
533 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r245 = sitofp <16 x i16> undef to <16 x double>
534 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r246 = uitofp <16 x i16> undef to <16 x double>
535 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r247 = sitofp <16 x i16> undef to <16 x double>
536 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r248 = uitofp <16 x i64> undef to <16 x double>
537 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1045 for instruction: %r249 = sitofp <16 x i64> undef to <16 x double>
538 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
540   ; -- scalars --
541   %r0 = sext i1 undef to i8
542   %r1 = zext i1 undef to i8
543   %r2 = sext i1 undef to i16
544   %r3 = zext i1 undef to i16
545   %r4 = sext i1 undef to i32
546   %r5 = zext i1 undef to i32
547   %r6 = sext i1 undef to i64
548   %r7 = zext i1 undef to i64
549   %r8 = trunc i8 undef to i1
550   %r9 = sext i8 undef to i16
551   %r10 = zext i8 undef to i16
552   %r11 = sext i8 undef to i32
553   %r12 = zext i8 undef to i32
554   %r13 = sext i8 undef to i64
555   %r14 = zext i8 undef to i64
556   %r15 = trunc i16 undef to i1
557   %r16 = trunc i16 undef to i8
558   %r17 = sext i16 undef to i32
559   %r18 = zext i16 undef to i32
560   %r19 = sext i16 undef to i64
561   %r20 = zext i16 undef to i64
562   %r21 = trunc i32 undef to i1
563   %r22 = trunc i32 undef to i8
564   %r23 = trunc i32 undef to i16
565   %r24 = sext i32 undef to i64
566   %r25 = zext i32 undef to i64
567   %r26 = trunc i64 undef to i1
568   %r27 = trunc i64 undef to i8
569   %r28 = trunc i64 undef to i16
570   %r29 = trunc i64 undef to i32
572   ; -- floating point conversions --
573   ; Moves between scalar and NEON registers.
574   %r30 = fptoui float undef to i1
575   %r31 = fptosi float undef to i1
576   %r32 = fptoui float undef to i8
577   %r33 = fptosi float undef to i8
578   %r34 = fptoui float undef to i16
579   %r35 = fptosi float undef to i16
580   %r36 = fptoui float undef to i32
581   %r37 = fptosi float undef to i32
582   %r38 = fptoui float undef to i64
583   %r39 = fptosi float undef to i64
584   %r40 = fptoui double undef to i1
585   %r41 = fptosi double undef to i1
586   %r42 = fptoui double undef to i8
587   %r43 = fptosi double undef to i8
588   %r44 = fptoui double undef to i16
589   %r45 = fptosi double undef to i16
590   %r46 = fptoui double undef to i32
591   %r47 = fptosi double undef to i32
592   ; Function call
593   %r48 = fptoui double undef to i64
594   %r49 = fptosi double undef to i64
596   %r50 = sitofp i1 undef to float
597   %r51 = uitofp i1 undef to float
598   %r52 = sitofp i1 undef to double
599   %r53 = uitofp i1 undef to double
600   %r54 = sitofp i8 undef to float
601   %r55 = uitofp i8 undef to float
602   %r56 = sitofp i8 undef to double
603   %r57 = uitofp i8 undef to double
604   %r58 = sitofp i16 undef to float
605   %r59 = uitofp i16 undef to float
606   %r60 = sitofp i16 undef to double
607   %r61 = uitofp i16 undef to double
608   %r62 = sitofp i32 undef to float
609   %r63 = uitofp i32 undef to float
610   %r64 = sitofp i32 undef to double
611   %r65 = uitofp i32 undef to double
612   ; Function call
613   %r66 = sitofp i64 undef to float
614   %r67 = uitofp i64 undef to float
615   %r68 = sitofp i64 undef to double
616   %r69 = uitofp i64 undef to double
618   %q70 = sext <4 x i8> undef to <4 x i32>
619   %q71 = sext <8 x i8> undef to <8 x i16>
620   %s70 = sext <4 x i8> undef to <4 x i32>
621   %r70 = sext <8 x i8> undef to <8 x i32>
622   %r71 = sext <16 x i8> undef to <16 x i32>
623   %q72 = zext <4 x i8> undef to <4 x i32>
624   %q73 = zext <8 x i8> undef to <8 x i16>
625   %s72 = zext <4 x i8> undef to <4 x i32>
626   %r72 = zext <8 x i8> undef to <8 x i32>
627   %r73 = zext <16 x i8> undef to <16 x i32>
629   %rext_0 = sext <8 x i8> undef to <8 x i64>
630   %rext_1 = zext <8 x i8> undef to <8 x i64>
631   %rext_2 = sext <8 x i16> undef to <8 x i64>
632   %rext_3 = zext <8 x i16> undef to <8 x i64>
633   %rext_4 = sext <4 x i16> undef to <4 x i64>
634   %rext_5 = zext <4 x i16> undef to <4 x i64>
635   %rext_6 = sext <2 x i8> undef to <2 x i64>
636   %rext_7 = zext <2 x i8> undef to <2 x i64>
637   %rext_8 = sext <2 x i16> undef to <2 x i64>
638   %rext_9 = zext <2 x i16> undef to <2 x i64>
639   %rext_a = sext <2 x i32> undef to <2 x i64>
640   %rext_b = zext <2 x i32> undef to <2 x i64>
642   ; Vector cast cost of instructions lowering the cast to the stack.
643   %r74 = trunc <8 x i32> undef to <8 x i8>
644   %r75 = trunc <16 x i32> undef to <16 x i8>
646   ; Floating point truncation costs.
647   %r80 = fptrunc double undef to float
648   %r81 = fptrunc <2 x double> undef to <2 x float>
649   %r82 = fptrunc <4 x double> undef to <4 x float>
650   %r83 = fptrunc <8 x double> undef to <8 x float>
651   %r84 = fptrunc <16 x double> undef to <16 x float>
653   ; Floating point extension costs.
654   %r85 = fpext float undef to double
655   %r86 = fpext <2 x float> undef to <2 x double>
656   %r87 = fpext <4 x float> undef to <4 x double>
657   %r88 = fpext <8 x float> undef to <8 x double>
658   %r89 = fpext <16 x float> undef to <16 x double>
660   ;; Floating point to integer vector casts.
661   %r90 = fptoui <2 x float> undef to <2 x i1>
662   %r91 = fptosi <2 x float> undef to <2 x i1>
663   %r92 = fptoui <2 x float> undef to <2 x i8>
664   %r93 = fptosi <2 x float> undef to <2 x i8>
665   %r94 = fptoui <2 x float> undef to <2 x i16>
666   %r95 = fptosi <2 x float> undef to <2 x i16>
667   %r96 = fptoui <2 x float> undef to <2 x i32>
668   %r97 = fptosi <2 x float> undef to <2 x i32>
669   %r98 = fptoui <2 x float> undef to <2 x i64>
670   %r99 = fptosi <2 x float> undef to <2 x i64>
672   %r100 = fptoui <2 x double> undef to <2 x i1>
673   %r101 = fptosi <2 x double> undef to <2 x i1>
674   %r102 = fptoui <2 x double> undef to <2 x i8>
675   %r103 = fptosi <2 x double> undef to <2 x i8>
676   %r104 = fptoui <2 x double> undef to <2 x i16>
677   %r105 = fptosi <2 x double> undef to <2 x i16>
678   %r106 = fptoui <2 x double> undef to <2 x i32>
679   %r107 = fptosi <2 x double> undef to <2 x i32>
680   %r108 = fptoui <2 x double> undef to <2 x i64>
681   %r109 = fptosi <2 x double> undef to <2 x i64>
683   %r110 = fptoui <4 x float> undef to <4 x i1>
684   %r111 = fptosi <4 x float> undef to <4 x i1>
685   %r112 = fptoui <4 x float> undef to <4 x i8>
686   %r113 = fptosi <4 x float> undef to <4 x i8>
688   %r114 = fptoui <4 x float> undef to <4 x i16>
689   %r115 = fptosi <4 x float> undef to <4 x i16>
690   %r116 = fptoui <4 x float> undef to <4 x i32>
691   %r117 = fptosi <4 x float> undef to <4 x i32>
692   %r118 = fptoui <4 x float> undef to <4 x i64>
693   %r119 = fptosi <4 x float> undef to <4 x i64>
695   %r120 = fptoui <4 x double> undef to <4 x i1>
696   %r121 = fptosi <4 x double> undef to <4 x i1>
697   %r122 = fptoui <4 x double> undef to <4 x i8>
698   %r123 = fptosi <4 x double> undef to <4 x i8>
699   %r124 = fptoui <4 x double> undef to <4 x i16>
700   %r125 = fptosi <4 x double> undef to <4 x i16>
701   %r126 = fptoui <4 x double> undef to <4 x i32>
702   %r127 = fptosi <4 x double> undef to <4 x i32>
703   %r128 = fptoui <4 x double> undef to <4 x i64>
704   %r129 = fptosi <4 x double> undef to <4 x i64>
706   %r130 = fptoui <8 x float> undef to <8 x i1>
707   %r131 = fptosi <8 x float> undef to <8 x i1>
708   %r132 = fptoui <8 x float> undef to <8 x i8>
709   %r133 = fptosi <8 x float> undef to <8 x i8>
710   %r134 = fptoui <8 x float> undef to <8 x i16>
711   %r135 = fptosi <8 x float> undef to <8 x i16>
712   %r136 = fptoui <8 x float> undef to <8 x i32>
713   %r137 = fptosi <8 x float> undef to <8 x i32>
714   %r138 = fptoui <8 x float> undef to <8 x i64>
715   %r139 = fptosi <8 x float> undef to <8 x i64>
717   %r140 = fptoui <8 x double> undef to <8 x i1>
718   %r141 = fptosi <8 x double> undef to <8 x i1>
719   %r142 = fptoui <8 x double> undef to <8 x i8>
720   %r143 = fptosi <8 x double> undef to <8 x i8>
721   %r144 = fptoui <8 x double> undef to <8 x i16>
722   %r145 = fptosi <8 x double> undef to <8 x i16>
723   %r146 = fptoui <8 x double> undef to <8 x i32>
724   %r147 = fptosi <8 x double> undef to <8 x i32>
725   %r148 = fptoui <8 x double> undef to <8 x i64>
726   %r149 = fptosi <8 x double> undef to <8 x i64>
728   %r150 = fptoui <16 x float> undef to <16 x i1>
729   %r151 = fptosi <16 x float> undef to <16 x i1>
730   %r152 = fptoui <16 x float> undef to <16 x i8>
731   %r153 = fptosi <16 x float> undef to <16 x i8>
732   %r154 = fptoui <16 x float> undef to <16 x i16>
733   %r155 = fptosi <16 x float> undef to <16 x i16>
734   %r156 = fptoui <16 x float> undef to <16 x i32>
735   %r157 = fptosi <16 x float> undef to <16 x i32>
736   %r158 = fptoui <16 x float> undef to <16 x i64>
737   %r159 = fptosi <16 x float> undef to <16 x i64>
739   %r160 = fptoui <16 x double> undef to <16 x i1>
740   %r161 = fptosi <16 x double> undef to <16 x i1>
741   %r162 = fptoui <16 x double> undef to <16 x i8>
742   %r163 = fptosi <16 x double> undef to <16 x i8>
743   %r164 = fptoui <16 x double> undef to <16 x i16>
744   %r165 = fptosi <16 x double> undef to <16 x i16>
745   %r166 = fptoui <16 x double> undef to <16 x i32>
746   %r167 = fptosi <16 x double> undef to <16 x i32>
747   %r168 = fptoui <16 x double> undef to <16 x i64>
748   %r169 = fptosi <16 x double> undef to <16 x i64>
750   %r170 = uitofp <2 x i1> undef to <2 x float>
751   %r171 = sitofp <2 x i1> undef to <2 x float>
752   %r172 = uitofp <2 x i8> undef to <2 x float>
753   %r173 = sitofp <2 x i8> undef to <2 x float>
754   %r174 = uitofp <2 x i16> undef to <2 x float>
755   %r175 = sitofp <2 x i16> undef to <2 x float>
756   %r176 = uitofp <2 x i32> undef to <2 x float>
757   %r177 = sitofp <2 x i32> undef to <2 x float>
758   %r178 = uitofp <2 x i64> undef to <2 x float>
759   %r179 = sitofp <2 x i64> undef to <2 x float>
761   %r180 = uitofp <2 x i1> undef to <2 x double>
762   %r181 = sitofp <2 x i1> undef to <2 x double>
763   %r182 = uitofp <2 x i8> undef to <2 x double>
764   %r183 = sitofp <2 x i8> undef to <2 x double>
765   %r184 = uitofp <2 x i16> undef to <2 x double>
766   %r185 = sitofp <2 x i16> undef to <2 x double>
767   %r186 = uitofp <2 x i32> undef to <2 x double>
768   %r187 = sitofp <2 x i32> undef to <2 x double>
769   %r188 = uitofp <2 x i64> undef to <2 x double>
770   %r189 = sitofp <2 x i64> undef to <2 x double>
772   %r190 = uitofp <4 x i1> undef to <4 x float>
773   %r191 = sitofp <4 x i1> undef to <4 x float>
774   %r192 = uitofp <4 x i8> undef to <4 x float>
775   %r193 = sitofp <4 x i8> undef to <4 x float>
776   %r194 = uitofp <4 x i16> undef to <4 x float>
777   %r195 = sitofp <4 x i16> undef to <4 x float>
778   %r196 = uitofp <4 x i32> undef to <4 x float>
779   %r197 = sitofp <4 x i32> undef to <4 x float>
780   %r198 = uitofp <4 x i64> undef to <4 x float>
781   %r199 = sitofp <4 x i64> undef to <4 x float>
783   %r200 = uitofp <4 x i1> undef to <4 x double>
784   %r201 = sitofp <4 x i1> undef to <4 x double>
785   %r202 = uitofp <4 x i8> undef to <4 x double>
786   %r203 = sitofp <4 x i8> undef to <4 x double>
787   %r204 = uitofp <4 x i16> undef to <4 x double>
788   %r205 = sitofp <4 x i16> undef to <4 x double>
789   %r206 = uitofp <4 x i32> undef to <4 x double>
790   %r207 = sitofp <4 x i32> undef to <4 x double>
791   %r208 = uitofp <4 x i64> undef to <4 x double>
792   %r209 = sitofp <4 x i64> undef to <4 x double>
794   %r210 = uitofp <8 x i1> undef to <8 x float>
795   %r211 = sitofp <8 x i1> undef to <8 x float>
796   %r212 = uitofp <8 x i8> undef to <8 x float>
797   %r213 = sitofp <8 x i8> undef to <8 x float>
798   %r214 = uitofp <8 x i16> undef to <8 x float>
799   %r215 = sitofp <8 x i16> undef to <8 x float>
800   %r216 = uitofp <8 x i32> undef to <8 x float>
801   %r217 = sitofp <8 x i32> undef to <8 x float>
802   %r218 = uitofp <8 x i64> undef to <8 x float>
803   %r219 = sitofp <8 x i64> undef to <8 x float>
805   %r220 = uitofp <8 x i1> undef to <8 x double>
806   %r221 = sitofp <8 x i1> undef to <8 x double>
807   %r222 = uitofp <8 x i8> undef to <8 x double>
808   %r223 = sitofp <8 x i8> undef to <8 x double>
809   %r224 = uitofp <8 x i16> undef to <8 x double>
810   %r225 = sitofp <8 x i16> undef to <8 x double>
811   %r226 = uitofp <8 x i16> undef to <8 x double>
812   %r227 = sitofp <8 x i16> undef to <8 x double>
813   %r228 = uitofp <8 x i64> undef to <8 x double>
814   %r229 = sitofp <8 x i64> undef to <8 x double>
816   %r230 = uitofp <16 x i1> undef to <16 x float>
817   %r231 = sitofp <16 x i1> undef to <16 x float>
818   %r232 = uitofp <16 x i8> undef to <16 x float>
819   %r233 = sitofp <16 x i8> undef to <16 x float>
820   %r234 = uitofp <16 x i16> undef to <16 x float>
821   %r235 = sitofp <16 x i16> undef to <16 x float>
822   %r236 = uitofp <16 x i32> undef to <16 x float>
823   %r237 = sitofp <16 x i32> undef to <16 x float>
824   %r238 = uitofp <16 x i64> undef to <16 x float>
825   %r239 = sitofp <16 x i64> undef to <16 x float>
827   %r240 = uitofp <16 x i1> undef to <16 x double>
828   %r241 = sitofp <16 x i1> undef to <16 x double>
829   %r242 = uitofp <16 x i8> undef to <16 x double>
830   %r243 = sitofp <16 x i8> undef to <16 x double>
831   %r244 = uitofp <16 x i16> undef to <16 x double>
832   %r245 = sitofp <16 x i16> undef to <16 x double>
833   %r246 = uitofp <16 x i16> undef to <16 x double>
834   %r247 = sitofp <16 x i16> undef to <16 x double>
835   %r248 = uitofp <16 x i64> undef to <16 x double>
836   %r249 = sitofp <16 x i64> undef to <16 x double>
838   ret i32 undef
842 define i32 @load_extends() {
843 ; CHECK-NEON-LABEL: 'load_extends'
844 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi8 = load i8, i8* undef
845 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi16 = load i16, i16* undef
846 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi32 = load i32, i32* undef
847 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv2i8 = load <2 x i8>, <2 x i8>* undef
848 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv4i8 = load <4 x i8>, <4 x i8>* undef
849 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv8i8 = load <8 x i8>, <8 x i8>* undef
850 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef
851 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef
852 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef
853 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i8 %loadi8 to i16
854 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i8 %loadi8 to i16
855 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i8 %loadi8 to i32
856 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i8 %loadi8 to i32
857 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i8 %loadi8 to i64
858 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r5 = zext i8 %loadi8 to i64
859 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i16 %loadi16 to i32
860 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i16 %loadi16 to i32
861 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r8 = sext i16 %loadi16 to i64
862 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r9 = zext i16 %loadi16 to i64
863 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r10 = sext i32 %loadi32 to i64
864 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r11 = zext i32 %loadi32 to i64
865 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>
866 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>
867 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>
868 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>
869 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>
870 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>
871 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>
872 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>
873 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>
874 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>
875 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>
876 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>
877 ; CHECK-NEON-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
879 ; CHECK-MVE-LABEL: 'load_extends'
880 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi8 = load i8, i8* undef
881 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi16 = load i16, i16* undef
882 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %loadi32 = load i32, i32* undef
883 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv2i8 = load <2 x i8>, <2 x i8>* undef
884 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv4i8 = load <4 x i8>, <4 x i8>* undef
885 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv8i8 = load <8 x i8>, <8 x i8>* undef
886 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv2i16 = load <2 x i16>, <2 x i16>* undef
887 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv4i16 = load <4 x i16>, <4 x i16>* undef
888 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 2 for instruction: %loadv2i32 = load <2 x i32>, <2 x i32>* undef
889 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r0 = sext i8 %loadi8 to i16
890 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r1 = zext i8 %loadi8 to i16
891 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r2 = sext i8 %loadi8 to i32
892 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r3 = zext i8 %loadi8 to i32
893 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r4 = sext i8 %loadi8 to i64
894 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r5 = zext i8 %loadi8 to i64
895 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r6 = sext i16 %loadi16 to i32
896 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %r7 = zext i16 %loadi16 to i32
897 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r8 = sext i16 %loadi16 to i64
898 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r9 = zext i16 %loadi16 to i64
899 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r10 = sext i32 %loadi32 to i64
900 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %r11 = zext i32 %loadi32 to i64
901 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>
902 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>
903 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>
904 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>
905 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>
906 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>
907 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>
908 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>
909 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 20 for instruction: %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>
910 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>
911 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 16 for instruction: %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>
912 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 4 for instruction: %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>
913 ; CHECK-MVE-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret i32 undef
916   %loadi8 = load i8, i8* undef
917   %loadi16 = load i16, i16* undef
918   %loadi32 = load i32, i32* undef
919   %loadv2i8 = load <2 x i8>, <2 x i8>* undef
920   %loadv4i8 = load <4 x i8>, <4 x i8>* undef
921   %loadv8i8 = load <8 x i8>, <8 x i8>* undef
922   %loadv2i16 = load <2 x i16>, <2 x i16>* undef
923   %loadv4i16 = load <4 x i16>, <4 x i16>* undef
924   %loadv2i32 = load <2 x i32>, <2 x i32>* undef
926   %r0 = sext i8 %loadi8 to i16
927   %r1 = zext i8 %loadi8 to i16
928   %r2 = sext i8 %loadi8 to i32
929   %r3 = zext i8 %loadi8 to i32
930   %r4 = sext i8 %loadi8 to i64
931   %r5 = zext i8 %loadi8 to i64
932   %r6 = sext i16 %loadi16 to i32
933   %r7 = zext i16 %loadi16 to i32
934   %r8 = sext i16 %loadi16 to i64
935   %r9 = zext i16 %loadi16 to i64
936   %r10 = sext i32 %loadi32 to i64
937   %r11 = zext i32 %loadi32 to i64
939   %v0 = sext <8 x i8> %loadv8i8 to <8 x i16>
940   %v1 = zext <8 x i8> %loadv8i8 to <8 x i16>
941   %v2 = sext <4 x i8> %loadv4i8 to <4 x i32>
942   %v3 = zext <4 x i8> %loadv4i8 to <4 x i32>
943   %v4 = sext <2 x i8> %loadv2i8 to <2 x i64>
944   %v5 = zext <2 x i8> %loadv2i8 to <2 x i64>
945   %v6 = sext <4 x i16> %loadv4i16 to <4 x i32>
946   %v7 = zext <4 x i16> %loadv4i16 to <4 x i32>
947   %v8 = sext <2 x i16> %loadv2i16 to <2 x i64>
948   %v9 = zext <2 x i16> %loadv2i16 to <2 x i64>
949   %v10 = sext <2 x i32> %loadv2i32 to <2 x i64>
950   %v11 = zext <2 x i32> %loadv2i32 to <2 x i64>
952   ret i32 undef