Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / Analysis / CostModel / RISCV / rvv-cmp.ll
blob27d24faf0a8daee4bf18cdd34cf4a101e77a8c82
1 ; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
2 ; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64 -mattr=+v,+f,+d,+zfh,+zvfh -riscv-v-vector-bits-min=-1 < %s | FileCheck %s
3 ; Check that we don't crash querying costs when vectors are not enabled.
4 ; RUN: opt -passes="print<cost-model>" 2>&1 -disable-output -mtriple=riscv64
6 define void @icmp_eq() {
7 ; CHECK-LABEL: 'icmp_eq'
8 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp eq <2 x i8> undef, undef
9 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp eq <4 x i8> undef, undef
10 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp eq <8 x i8> undef, undef
11 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp eq <16 x i8> undef, undef
12 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp eq <32 x i8> undef, undef
13 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp eq <vscale x 1 x i8> undef, undef
14 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp eq <vscale x 2 x i8> undef, undef
15 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp eq <vscale x 4 x i8> undef, undef
16 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp eq <vscale x 8 x i8> undef, undef
17 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp eq <vscale x 16 x i8> undef, undef
18 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp eq <vscale x 32 x i8> undef, undef
19 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp eq <2 x i16> undef, undef
20 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp eq <4 x i16> undef, undef
21 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp eq <8 x i16> undef, undef
22 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp eq <16 x i16> undef, undef
23 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp eq <vscale x 1 x i16> undef, undef
24 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp eq <vscale x 2 x i16> undef, undef
25 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp eq <vscale x 4 x i16> undef, undef
26 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp eq <vscale x 8 x i16> undef, undef
27 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp eq <vscale x 16 x i16> undef, undef
28 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp eq <2 x i32> undef, undef
29 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp eq <4 x i32> undef, undef
30 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp eq <8 x i32> undef, undef
31 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp eq <16 x i32> undef, undef
32 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp eq <vscale x 1 x i32> undef, undef
33 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp eq <vscale x 2 x i32> undef, undef
34 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp eq <vscale x 4 x i32> undef, undef
35 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp eq <vscale x 8 x i32> undef, undef
36 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp eq <vscale x 16 x i32> undef, undef
37 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp eq <2 x i64> undef, undef
38 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp eq <4 x i64> undef, undef
39 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp eq <8 x i64> undef, undef
40 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp eq <vscale x 1 x i64> undef, undef
41 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp eq <vscale x 2 x i64> undef, undef
42 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp eq <vscale x 4 x i64> undef, undef
43 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp eq <vscale x 8 x i64> undef, undef
44 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
46   %v2i8 = icmp eq <2 x i8> undef, undef
47   %v4i8 = icmp eq <4 x i8> undef, undef
48   %v8i8 = icmp eq <8 x i8> undef, undef
49   %v16i8 = icmp eq <16 x i8> undef, undef
50   %v32i8 = icmp eq <32 x i8> undef, undef
52   %nxv1i8 = icmp eq <vscale x 1 x i8> undef, undef
53   %nxv2i8 = icmp eq <vscale x 2 x i8> undef, undef
54   %nxv4i8 = icmp eq <vscale x 4 x i8> undef, undef
55   %nxv8i8 = icmp eq <vscale x 8 x i8> undef, undef
56   %nxv16i8 = icmp eq <vscale x 16 x i8> undef, undef
57   %nxv32i8 = icmp eq <vscale x 32 x i8> undef, undef
59   %v2i16 = icmp eq <2 x i16> undef, undef
60   %v4i16 = icmp eq <4 x i16> undef, undef
61   %v8i16 = icmp eq <8 x i16> undef, undef
62   %v16i16 = icmp eq <16 x i16> undef, undef
64   %nxv1i16 = icmp eq <vscale x 1 x i16> undef, undef
65   %nxv2i16 = icmp eq <vscale x 2 x i16> undef, undef
66   %nxv4i16 = icmp eq <vscale x 4 x i16> undef, undef
67   %nxv8i16 = icmp eq <vscale x 8 x i16> undef, undef
68   %nxv16i16 = icmp eq <vscale x 16 x i16> undef, undef
70   %v2i32 = icmp eq <2 x i32> undef, undef
71   %v4i32 = icmp eq <4 x i32> undef, undef
72   %v8i32 = icmp eq <8 x i32> undef, undef
73   %v16i32 = icmp eq <16 x i32> undef, undef
75   %nxv1i32 = icmp eq <vscale x 1 x i32> undef, undef
76   %nxv2i32 = icmp eq <vscale x 2 x i32> undef, undef
77   %nxv4i32 = icmp eq <vscale x 4 x i32> undef, undef
78   %nxv8i32 = icmp eq <vscale x 8 x i32> undef, undef
79   %nxv16i32 = icmp eq <vscale x 16 x i32> undef, undef
81   %v2i64 = icmp eq <2 x i64> undef, undef
82   %v4i64 = icmp eq <4 x i64> undef, undef
83   %v8i64 = icmp eq <8 x i64> undef, undef
85   %nxv1i64 = icmp eq <vscale x 1 x i64> undef, undef
86   %nxv2i64 = icmp eq <vscale x 2 x i64> undef, undef
87   %nxv4i64 = icmp eq <vscale x 4 x i64> undef, undef
88   %nxv8i64 = icmp eq <vscale x 8 x i64> undef, undef
90   ret void
93 define void @icmp_ne() {
94 ; CHECK-LABEL: 'icmp_ne'
95 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp ne <2 x i8> undef, undef
96 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp ne <4 x i8> undef, undef
97 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp ne <8 x i8> undef, undef
98 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp ne <16 x i8> undef, undef
99 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp ne <32 x i8> undef, undef
100 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp ne <vscale x 1 x i8> undef, undef
101 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp ne <vscale x 2 x i8> undef, undef
102 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp ne <vscale x 4 x i8> undef, undef
103 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp ne <vscale x 8 x i8> undef, undef
104 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp ne <vscale x 16 x i8> undef, undef
105 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp ne <vscale x 32 x i8> undef, undef
106 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp ne <2 x i16> undef, undef
107 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp ne <4 x i16> undef, undef
108 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp ne <8 x i16> undef, undef
109 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp ne <16 x i16> undef, undef
110 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp ne <vscale x 1 x i16> undef, undef
111 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp ne <vscale x 2 x i16> undef, undef
112 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp ne <vscale x 4 x i16> undef, undef
113 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp ne <vscale x 8 x i16> undef, undef
114 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp ne <vscale x 16 x i16> undef, undef
115 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp ne <2 x i32> undef, undef
116 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp ne <4 x i32> undef, undef
117 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp ne <8 x i32> undef, undef
118 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp ne <16 x i32> undef, undef
119 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp ne <vscale x 1 x i32> undef, undef
120 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp ne <vscale x 2 x i32> undef, undef
121 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp ne <vscale x 4 x i32> undef, undef
122 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp ne <vscale x 8 x i32> undef, undef
123 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp ne <vscale x 16 x i32> undef, undef
124 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp ne <2 x i64> undef, undef
125 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp ne <4 x i64> undef, undef
126 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp ne <8 x i64> undef, undef
127 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp ne <vscale x 1 x i64> undef, undef
128 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp ne <vscale x 2 x i64> undef, undef
129 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp ne <vscale x 4 x i64> undef, undef
130 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp ne <vscale x 8 x i64> undef, undef
131 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
133   %v2i8 = icmp ne <2 x i8> undef, undef
134   %v4i8 = icmp ne <4 x i8> undef, undef
135   %v8i8 = icmp ne <8 x i8> undef, undef
136   %v16i8 = icmp ne <16 x i8> undef, undef
137   %v32i8 = icmp ne <32 x i8> undef, undef
139   %nxv1i8 = icmp ne <vscale x 1 x i8> undef, undef
140   %nxv2i8 = icmp ne <vscale x 2 x i8> undef, undef
141   %nxv4i8 = icmp ne <vscale x 4 x i8> undef, undef
142   %nxv8i8 = icmp ne <vscale x 8 x i8> undef, undef
143   %nxv16i8 = icmp ne <vscale x 16 x i8> undef, undef
144   %nxv32i8 = icmp ne <vscale x 32 x i8> undef, undef
146   %v2i16 = icmp ne <2 x i16> undef, undef
147   %v4i16 = icmp ne <4 x i16> undef, undef
148   %v8i16 = icmp ne <8 x i16> undef, undef
149   %v16i16 = icmp ne <16 x i16> undef, undef
151   %nxv1i16 = icmp ne <vscale x 1 x i16> undef, undef
152   %nxv2i16 = icmp ne <vscale x 2 x i16> undef, undef
153   %nxv4i16 = icmp ne <vscale x 4 x i16> undef, undef
154   %nxv8i16 = icmp ne <vscale x 8 x i16> undef, undef
155   %nxv16i16 = icmp ne <vscale x 16 x i16> undef, undef
157   %v2i32 = icmp ne <2 x i32> undef, undef
158   %v4i32 = icmp ne <4 x i32> undef, undef
159   %v8i32 = icmp ne <8 x i32> undef, undef
160   %v16i32 = icmp ne <16 x i32> undef, undef
162   %nxv1i32 = icmp ne <vscale x 1 x i32> undef, undef
163   %nxv2i32 = icmp ne <vscale x 2 x i32> undef, undef
164   %nxv4i32 = icmp ne <vscale x 4 x i32> undef, undef
165   %nxv8i32 = icmp ne <vscale x 8 x i32> undef, undef
166   %nxv16i32 = icmp ne <vscale x 16 x i32> undef, undef
168   %v2i64 = icmp ne <2 x i64> undef, undef
169   %v4i64 = icmp ne <4 x i64> undef, undef
170   %v8i64 = icmp ne <8 x i64> undef, undef
172   %nxv1i64 = icmp ne <vscale x 1 x i64> undef, undef
173   %nxv2i64 = icmp ne <vscale x 2 x i64> undef, undef
174   %nxv4i64 = icmp ne <vscale x 4 x i64> undef, undef
175   %nxv8i64 = icmp ne <vscale x 8 x i64> undef, undef
177   ret void
180 define void @icmp_ugt() {
181 ; CHECK-LABEL: 'icmp_ugt'
182 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp ugt <2 x i8> undef, undef
183 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp ugt <4 x i8> undef, undef
184 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp ugt <8 x i8> undef, undef
185 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp ugt <16 x i8> undef, undef
186 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp ugt <32 x i8> undef, undef
187 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp ugt <vscale x 1 x i8> undef, undef
188 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp ugt <vscale x 2 x i8> undef, undef
189 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp ugt <vscale x 4 x i8> undef, undef
190 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp ugt <vscale x 8 x i8> undef, undef
191 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp ugt <vscale x 16 x i8> undef, undef
192 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp ugt <vscale x 32 x i8> undef, undef
193 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp ugt <2 x i16> undef, undef
194 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp ugt <4 x i16> undef, undef
195 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp ugt <8 x i16> undef, undef
196 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp ugt <16 x i16> undef, undef
197 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp ugt <vscale x 1 x i16> undef, undef
198 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp ugt <vscale x 2 x i16> undef, undef
199 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp ugt <vscale x 4 x i16> undef, undef
200 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp ugt <vscale x 8 x i16> undef, undef
201 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp ugt <vscale x 16 x i16> undef, undef
202 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp ugt <2 x i32> undef, undef
203 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp ugt <4 x i32> undef, undef
204 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp ugt <8 x i32> undef, undef
205 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp ugt <16 x i32> undef, undef
206 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp ugt <vscale x 1 x i32> undef, undef
207 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp ugt <vscale x 2 x i32> undef, undef
208 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp ugt <vscale x 4 x i32> undef, undef
209 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp ugt <vscale x 8 x i32> undef, undef
210 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp ugt <vscale x 16 x i32> undef, undef
211 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp ugt <2 x i64> undef, undef
212 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp ugt <4 x i64> undef, undef
213 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp ugt <8 x i64> undef, undef
214 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp ugt <vscale x 1 x i64> undef, undef
215 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp ugt <vscale x 2 x i64> undef, undef
216 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp ugt <vscale x 4 x i64> undef, undef
217 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp ugt <vscale x 8 x i64> undef, undef
218 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
220   %v2i8 = icmp ugt <2 x i8> undef, undef
221   %v4i8 = icmp ugt <4 x i8> undef, undef
222   %v8i8 = icmp ugt <8 x i8> undef, undef
223   %v16i8 = icmp ugt <16 x i8> undef, undef
224   %v32i8 = icmp ugt <32 x i8> undef, undef
226   %nxv1i8 = icmp ugt <vscale x 1 x i8> undef, undef
227   %nxv2i8 = icmp ugt <vscale x 2 x i8> undef, undef
228   %nxv4i8 = icmp ugt <vscale x 4 x i8> undef, undef
229   %nxv8i8 = icmp ugt <vscale x 8 x i8> undef, undef
230   %nxv16i8 = icmp ugt <vscale x 16 x i8> undef, undef
231   %nxv32i8 = icmp ugt <vscale x 32 x i8> undef, undef
233   %v2i16 = icmp ugt <2 x i16> undef, undef
234   %v4i16 = icmp ugt <4 x i16> undef, undef
235   %v8i16 = icmp ugt <8 x i16> undef, undef
236   %v16i16 = icmp ugt <16 x i16> undef, undef
238   %nxv1i16 = icmp ugt <vscale x 1 x i16> undef, undef
239   %nxv2i16 = icmp ugt <vscale x 2 x i16> undef, undef
240   %nxv4i16 = icmp ugt <vscale x 4 x i16> undef, undef
241   %nxv8i16 = icmp ugt <vscale x 8 x i16> undef, undef
242   %nxv16i16 = icmp ugt <vscale x 16 x i16> undef, undef
244   %v2i32 = icmp ugt <2 x i32> undef, undef
245   %v4i32 = icmp ugt <4 x i32> undef, undef
246   %v8i32 = icmp ugt <8 x i32> undef, undef
247   %v16i32 = icmp ugt <16 x i32> undef, undef
249   %nxv1i32 = icmp ugt <vscale x 1 x i32> undef, undef
250   %nxv2i32 = icmp ugt <vscale x 2 x i32> undef, undef
251   %nxv4i32 = icmp ugt <vscale x 4 x i32> undef, undef
252   %nxv8i32 = icmp ugt <vscale x 8 x i32> undef, undef
253   %nxv16i32 = icmp ugt <vscale x 16 x i32> undef, undef
255   %v2i64 = icmp ugt <2 x i64> undef, undef
256   %v4i64 = icmp ugt <4 x i64> undef, undef
257   %v8i64 = icmp ugt <8 x i64> undef, undef
259   %nxv1i64 = icmp ugt <vscale x 1 x i64> undef, undef
260   %nxv2i64 = icmp ugt <vscale x 2 x i64> undef, undef
261   %nxv4i64 = icmp ugt <vscale x 4 x i64> undef, undef
262   %nxv8i64 = icmp ugt <vscale x 8 x i64> undef, undef
264   ret void
267 define void @icmp_uge() {
268 ; CHECK-LABEL: 'icmp_uge'
269 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp uge <2 x i8> undef, undef
270 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp uge <4 x i8> undef, undef
271 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp uge <8 x i8> undef, undef
272 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp uge <16 x i8> undef, undef
273 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp uge <32 x i8> undef, undef
274 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp uge <vscale x 1 x i8> undef, undef
275 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp uge <vscale x 2 x i8> undef, undef
276 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp uge <vscale x 4 x i8> undef, undef
277 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp uge <vscale x 8 x i8> undef, undef
278 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp uge <vscale x 16 x i8> undef, undef
279 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp uge <vscale x 32 x i8> undef, undef
280 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp uge <2 x i16> undef, undef
281 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp uge <4 x i16> undef, undef
282 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp uge <8 x i16> undef, undef
283 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp uge <16 x i16> undef, undef
284 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp uge <vscale x 1 x i16> undef, undef
285 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp uge <vscale x 2 x i16> undef, undef
286 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp uge <vscale x 4 x i16> undef, undef
287 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp uge <vscale x 8 x i16> undef, undef
288 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp uge <vscale x 16 x i16> undef, undef
289 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp uge <2 x i32> undef, undef
290 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp uge <4 x i32> undef, undef
291 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp uge <8 x i32> undef, undef
292 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp uge <16 x i32> undef, undef
293 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp uge <vscale x 1 x i32> undef, undef
294 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp uge <vscale x 2 x i32> undef, undef
295 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp uge <vscale x 4 x i32> undef, undef
296 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp uge <vscale x 8 x i32> undef, undef
297 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp uge <vscale x 16 x i32> undef, undef
298 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp uge <2 x i64> undef, undef
299 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp uge <4 x i64> undef, undef
300 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp uge <8 x i64> undef, undef
301 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp uge <vscale x 1 x i64> undef, undef
302 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp uge <vscale x 2 x i64> undef, undef
303 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp uge <vscale x 4 x i64> undef, undef
304 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp uge <vscale x 8 x i64> undef, undef
305 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
307   %v2i8 = icmp uge <2 x i8> undef, undef
308   %v4i8 = icmp uge <4 x i8> undef, undef
309   %v8i8 = icmp uge <8 x i8> undef, undef
310   %v16i8 = icmp uge <16 x i8> undef, undef
311   %v32i8 = icmp uge <32 x i8> undef, undef
313   %nxv1i8 = icmp uge <vscale x 1 x i8> undef, undef
314   %nxv2i8 = icmp uge <vscale x 2 x i8> undef, undef
315   %nxv4i8 = icmp uge <vscale x 4 x i8> undef, undef
316   %nxv8i8 = icmp uge <vscale x 8 x i8> undef, undef
317   %nxv16i8 = icmp uge <vscale x 16 x i8> undef, undef
318   %nxv32i8 = icmp uge <vscale x 32 x i8> undef, undef
320   %v2i16 = icmp uge <2 x i16> undef, undef
321   %v4i16 = icmp uge <4 x i16> undef, undef
322   %v8i16 = icmp uge <8 x i16> undef, undef
323   %v16i16 = icmp uge <16 x i16> undef, undef
325   %nxv1i16 = icmp uge <vscale x 1 x i16> undef, undef
326   %nxv2i16 = icmp uge <vscale x 2 x i16> undef, undef
327   %nxv4i16 = icmp uge <vscale x 4 x i16> undef, undef
328   %nxv8i16 = icmp uge <vscale x 8 x i16> undef, undef
329   %nxv16i16 = icmp uge <vscale x 16 x i16> undef, undef
331   %v2i32 = icmp uge <2 x i32> undef, undef
332   %v4i32 = icmp uge <4 x i32> undef, undef
333   %v8i32 = icmp uge <8 x i32> undef, undef
334   %v16i32 = icmp uge <16 x i32> undef, undef
336   %nxv1i32 = icmp uge <vscale x 1 x i32> undef, undef
337   %nxv2i32 = icmp uge <vscale x 2 x i32> undef, undef
338   %nxv4i32 = icmp uge <vscale x 4 x i32> undef, undef
339   %nxv8i32 = icmp uge <vscale x 8 x i32> undef, undef
340   %nxv16i32 = icmp uge <vscale x 16 x i32> undef, undef
342   %v2i64 = icmp uge <2 x i64> undef, undef
343   %v4i64 = icmp uge <4 x i64> undef, undef
344   %v8i64 = icmp uge <8 x i64> undef, undef
346   %nxv1i64 = icmp uge <vscale x 1 x i64> undef, undef
347   %nxv2i64 = icmp uge <vscale x 2 x i64> undef, undef
348   %nxv4i64 = icmp uge <vscale x 4 x i64> undef, undef
349   %nxv8i64 = icmp uge <vscale x 8 x i64> undef, undef
351   ret void
354 define void @icmp_ult() {
355 ; CHECK-LABEL: 'icmp_ult'
356 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp ult <2 x i8> undef, undef
357 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp ult <4 x i8> undef, undef
358 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp ult <8 x i8> undef, undef
359 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp ult <16 x i8> undef, undef
360 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp ult <32 x i8> undef, undef
361 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp ult <vscale x 1 x i8> undef, undef
362 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp ult <vscale x 2 x i8> undef, undef
363 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp ult <vscale x 4 x i8> undef, undef
364 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp ult <vscale x 8 x i8> undef, undef
365 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp ult <vscale x 16 x i8> undef, undef
366 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp ult <vscale x 32 x i8> undef, undef
367 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp ult <2 x i16> undef, undef
368 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp ult <4 x i16> undef, undef
369 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp ult <8 x i16> undef, undef
370 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp ult <16 x i16> undef, undef
371 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp ult <vscale x 1 x i16> undef, undef
372 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp ult <vscale x 2 x i16> undef, undef
373 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp ult <vscale x 4 x i16> undef, undef
374 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp ult <vscale x 8 x i16> undef, undef
375 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp ult <vscale x 16 x i16> undef, undef
376 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp ult <2 x i32> undef, undef
377 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp ult <4 x i32> undef, undef
378 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp ult <8 x i32> undef, undef
379 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp ult <16 x i32> undef, undef
380 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp ult <vscale x 1 x i32> undef, undef
381 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp ult <vscale x 2 x i32> undef, undef
382 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp ult <vscale x 4 x i32> undef, undef
383 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp ult <vscale x 8 x i32> undef, undef
384 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp ult <vscale x 16 x i32> undef, undef
385 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp ult <2 x i64> undef, undef
386 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp ult <4 x i64> undef, undef
387 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp ult <8 x i64> undef, undef
388 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp ult <vscale x 1 x i64> undef, undef
389 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp ult <vscale x 2 x i64> undef, undef
390 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp ult <vscale x 4 x i64> undef, undef
391 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp ult <vscale x 8 x i64> undef, undef
392 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
394   %v2i8 = icmp ult <2 x i8> undef, undef
395   %v4i8 = icmp ult <4 x i8> undef, undef
396   %v8i8 = icmp ult <8 x i8> undef, undef
397   %v16i8 = icmp ult <16 x i8> undef, undef
398   %v32i8 = icmp ult <32 x i8> undef, undef
400   %nxv1i8 = icmp ult <vscale x 1 x i8> undef, undef
401   %nxv2i8 = icmp ult <vscale x 2 x i8> undef, undef
402   %nxv4i8 = icmp ult <vscale x 4 x i8> undef, undef
403   %nxv8i8 = icmp ult <vscale x 8 x i8> undef, undef
404   %nxv16i8 = icmp ult <vscale x 16 x i8> undef, undef
405   %nxv32i8 = icmp ult <vscale x 32 x i8> undef, undef
407   %v2i16 = icmp ult <2 x i16> undef, undef
408   %v4i16 = icmp ult <4 x i16> undef, undef
409   %v8i16 = icmp ult <8 x i16> undef, undef
410   %v16i16 = icmp ult <16 x i16> undef, undef
412   %nxv1i16 = icmp ult <vscale x 1 x i16> undef, undef
413   %nxv2i16 = icmp ult <vscale x 2 x i16> undef, undef
414   %nxv4i16 = icmp ult <vscale x 4 x i16> undef, undef
415   %nxv8i16 = icmp ult <vscale x 8 x i16> undef, undef
416   %nxv16i16 = icmp ult <vscale x 16 x i16> undef, undef
418   %v2i32 = icmp ult <2 x i32> undef, undef
419   %v4i32 = icmp ult <4 x i32> undef, undef
420   %v8i32 = icmp ult <8 x i32> undef, undef
421   %v16i32 = icmp ult <16 x i32> undef, undef
423   %nxv1i32 = icmp ult <vscale x 1 x i32> undef, undef
424   %nxv2i32 = icmp ult <vscale x 2 x i32> undef, undef
425   %nxv4i32 = icmp ult <vscale x 4 x i32> undef, undef
426   %nxv8i32 = icmp ult <vscale x 8 x i32> undef, undef
427   %nxv16i32 = icmp ult <vscale x 16 x i32> undef, undef
429   %v2i64 = icmp ult <2 x i64> undef, undef
430   %v4i64 = icmp ult <4 x i64> undef, undef
431   %v8i64 = icmp ult <8 x i64> undef, undef
433   %nxv1i64 = icmp ult <vscale x 1 x i64> undef, undef
434   %nxv2i64 = icmp ult <vscale x 2 x i64> undef, undef
435   %nxv4i64 = icmp ult <vscale x 4 x i64> undef, undef
436   %nxv8i64 = icmp ult <vscale x 8 x i64> undef, undef
438   ret void
441 define void @icmp_ule() {
442 ; CHECK-LABEL: 'icmp_ule'
443 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp ule <2 x i8> undef, undef
444 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp ule <4 x i8> undef, undef
445 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp ule <8 x i8> undef, undef
446 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp ule <16 x i8> undef, undef
447 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp ule <32 x i8> undef, undef
448 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp ule <vscale x 1 x i8> undef, undef
449 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp ule <vscale x 2 x i8> undef, undef
450 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp ule <vscale x 4 x i8> undef, undef
451 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp ule <vscale x 8 x i8> undef, undef
452 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp ule <vscale x 16 x i8> undef, undef
453 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp ule <vscale x 32 x i8> undef, undef
454 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp ule <2 x i16> undef, undef
455 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp ule <4 x i16> undef, undef
456 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp ule <8 x i16> undef, undef
457 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp ule <16 x i16> undef, undef
458 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp ule <vscale x 1 x i16> undef, undef
459 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp ule <vscale x 2 x i16> undef, undef
460 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp ule <vscale x 4 x i16> undef, undef
461 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp ule <vscale x 8 x i16> undef, undef
462 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp ule <vscale x 16 x i16> undef, undef
463 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp ule <2 x i32> undef, undef
464 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp ule <4 x i32> undef, undef
465 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp ule <8 x i32> undef, undef
466 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp ule <16 x i32> undef, undef
467 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp ule <vscale x 1 x i32> undef, undef
468 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp ule <vscale x 2 x i32> undef, undef
469 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp ule <vscale x 4 x i32> undef, undef
470 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp ule <vscale x 8 x i32> undef, undef
471 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp ule <vscale x 16 x i32> undef, undef
472 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp ule <2 x i64> undef, undef
473 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp ule <4 x i64> undef, undef
474 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp ule <8 x i64> undef, undef
475 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp ule <vscale x 1 x i64> undef, undef
476 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp ule <vscale x 2 x i64> undef, undef
477 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp ule <vscale x 4 x i64> undef, undef
478 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp ule <vscale x 8 x i64> undef, undef
479 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
481   %v2i8 = icmp ule <2 x i8> undef, undef
482   %v4i8 = icmp ule <4 x i8> undef, undef
483   %v8i8 = icmp ule <8 x i8> undef, undef
484   %v16i8 = icmp ule <16 x i8> undef, undef
485   %v32i8 = icmp ule <32 x i8> undef, undef
487   %nxv1i8 = icmp ule <vscale x 1 x i8> undef, undef
488   %nxv2i8 = icmp ule <vscale x 2 x i8> undef, undef
489   %nxv4i8 = icmp ule <vscale x 4 x i8> undef, undef
490   %nxv8i8 = icmp ule <vscale x 8 x i8> undef, undef
491   %nxv16i8 = icmp ule <vscale x 16 x i8> undef, undef
492   %nxv32i8 = icmp ule <vscale x 32 x i8> undef, undef
494   %v2i16 = icmp ule <2 x i16> undef, undef
495   %v4i16 = icmp ule <4 x i16> undef, undef
496   %v8i16 = icmp ule <8 x i16> undef, undef
497   %v16i16 = icmp ule <16 x i16> undef, undef
499   %nxv1i16 = icmp ule <vscale x 1 x i16> undef, undef
500   %nxv2i16 = icmp ule <vscale x 2 x i16> undef, undef
501   %nxv4i16 = icmp ule <vscale x 4 x i16> undef, undef
502   %nxv8i16 = icmp ule <vscale x 8 x i16> undef, undef
503   %nxv16i16 = icmp ule <vscale x 16 x i16> undef, undef
505   %v2i32 = icmp ule <2 x i32> undef, undef
506   %v4i32 = icmp ule <4 x i32> undef, undef
507   %v8i32 = icmp ule <8 x i32> undef, undef
508   %v16i32 = icmp ule <16 x i32> undef, undef
510   %nxv1i32 = icmp ule <vscale x 1 x i32> undef, undef
511   %nxv2i32 = icmp ule <vscale x 2 x i32> undef, undef
512   %nxv4i32 = icmp ule <vscale x 4 x i32> undef, undef
513   %nxv8i32 = icmp ule <vscale x 8 x i32> undef, undef
514   %nxv16i32 = icmp ule <vscale x 16 x i32> undef, undef
516   %v2i64 = icmp ule <2 x i64> undef, undef
517   %v4i64 = icmp ule <4 x i64> undef, undef
518   %v8i64 = icmp ule <8 x i64> undef, undef
520   %nxv1i64 = icmp ule <vscale x 1 x i64> undef, undef
521   %nxv2i64 = icmp ule <vscale x 2 x i64> undef, undef
522   %nxv4i64 = icmp ule <vscale x 4 x i64> undef, undef
523   %nxv8i64 = icmp ule <vscale x 8 x i64> undef, undef
525   ret void
528 define void @icmp_sgt() {
529 ; CHECK-LABEL: 'icmp_sgt'
530 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp sgt <2 x i8> undef, undef
531 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp sgt <4 x i8> undef, undef
532 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp sgt <8 x i8> undef, undef
533 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp sgt <16 x i8> undef, undef
534 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp sgt <32 x i8> undef, undef
535 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp sgt <vscale x 1 x i8> undef, undef
536 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp sgt <vscale x 2 x i8> undef, undef
537 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp sgt <vscale x 4 x i8> undef, undef
538 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp sgt <vscale x 8 x i8> undef, undef
539 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp sgt <vscale x 16 x i8> undef, undef
540 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp sgt <vscale x 32 x i8> undef, undef
541 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp sgt <2 x i16> undef, undef
542 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp sgt <4 x i16> undef, undef
543 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp sgt <8 x i16> undef, undef
544 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp sgt <16 x i16> undef, undef
545 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp sgt <vscale x 1 x i16> undef, undef
546 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp sgt <vscale x 2 x i16> undef, undef
547 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp sgt <vscale x 4 x i16> undef, undef
548 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp sgt <vscale x 8 x i16> undef, undef
549 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp sgt <vscale x 16 x i16> undef, undef
550 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp sgt <2 x i32> undef, undef
551 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp sgt <4 x i32> undef, undef
552 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp sgt <8 x i32> undef, undef
553 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp sgt <16 x i32> undef, undef
554 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp sgt <vscale x 1 x i32> undef, undef
555 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp sgt <vscale x 2 x i32> undef, undef
556 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp sgt <vscale x 4 x i32> undef, undef
557 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp sgt <vscale x 8 x i32> undef, undef
558 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp sgt <vscale x 16 x i32> undef, undef
559 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp sgt <2 x i64> undef, undef
560 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp sgt <4 x i64> undef, undef
561 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp sgt <8 x i64> undef, undef
562 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp sgt <vscale x 1 x i64> undef, undef
563 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp sgt <vscale x 2 x i64> undef, undef
564 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp sgt <vscale x 4 x i64> undef, undef
565 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp sgt <vscale x 8 x i64> undef, undef
566 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
568   %v2i8 = icmp sgt <2 x i8> undef, undef
569   %v4i8 = icmp sgt <4 x i8> undef, undef
570   %v8i8 = icmp sgt <8 x i8> undef, undef
571   %v16i8 = icmp sgt <16 x i8> undef, undef
572   %v32i8 = icmp sgt <32 x i8> undef, undef
574   %nxv1i8 = icmp sgt <vscale x 1 x i8> undef, undef
575   %nxv2i8 = icmp sgt <vscale x 2 x i8> undef, undef
576   %nxv4i8 = icmp sgt <vscale x 4 x i8> undef, undef
577   %nxv8i8 = icmp sgt <vscale x 8 x i8> undef, undef
578   %nxv16i8 = icmp sgt <vscale x 16 x i8> undef, undef
579   %nxv32i8 = icmp sgt <vscale x 32 x i8> undef, undef
581   %v2i16 = icmp sgt <2 x i16> undef, undef
582   %v4i16 = icmp sgt <4 x i16> undef, undef
583   %v8i16 = icmp sgt <8 x i16> undef, undef
584   %v16i16 = icmp sgt <16 x i16> undef, undef
586   %nxv1i16 = icmp sgt <vscale x 1 x i16> undef, undef
587   %nxv2i16 = icmp sgt <vscale x 2 x i16> undef, undef
588   %nxv4i16 = icmp sgt <vscale x 4 x i16> undef, undef
589   %nxv8i16 = icmp sgt <vscale x 8 x i16> undef, undef
590   %nxv16i16 = icmp sgt <vscale x 16 x i16> undef, undef
592   %v2i32 = icmp sgt <2 x i32> undef, undef
593   %v4i32 = icmp sgt <4 x i32> undef, undef
594   %v8i32 = icmp sgt <8 x i32> undef, undef
595   %v16i32 = icmp sgt <16 x i32> undef, undef
597   %nxv1i32 = icmp sgt <vscale x 1 x i32> undef, undef
598   %nxv2i32 = icmp sgt <vscale x 2 x i32> undef, undef
599   %nxv4i32 = icmp sgt <vscale x 4 x i32> undef, undef
600   %nxv8i32 = icmp sgt <vscale x 8 x i32> undef, undef
601   %nxv16i32 = icmp sgt <vscale x 16 x i32> undef, undef
603   %v2i64 = icmp sgt <2 x i64> undef, undef
604   %v4i64 = icmp sgt <4 x i64> undef, undef
605   %v8i64 = icmp sgt <8 x i64> undef, undef
607   %nxv1i64 = icmp sgt <vscale x 1 x i64> undef, undef
608   %nxv2i64 = icmp sgt <vscale x 2 x i64> undef, undef
609   %nxv4i64 = icmp sgt <vscale x 4 x i64> undef, undef
610   %nxv8i64 = icmp sgt <vscale x 8 x i64> undef, undef
612   ret void
615 define void @icmp_sge() {
616 ; CHECK-LABEL: 'icmp_sge'
617 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp sge <2 x i8> undef, undef
618 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp sge <4 x i8> undef, undef
619 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp sge <8 x i8> undef, undef
620 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp sge <16 x i8> undef, undef
621 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp sge <32 x i8> undef, undef
622 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp sge <vscale x 1 x i8> undef, undef
623 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp sge <vscale x 2 x i8> undef, undef
624 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp sge <vscale x 4 x i8> undef, undef
625 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp sge <vscale x 8 x i8> undef, undef
626 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp sge <vscale x 16 x i8> undef, undef
627 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp sge <vscale x 32 x i8> undef, undef
628 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp sge <2 x i16> undef, undef
629 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp sge <4 x i16> undef, undef
630 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp sge <8 x i16> undef, undef
631 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp sge <16 x i16> undef, undef
632 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp sge <vscale x 1 x i16> undef, undef
633 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp sge <vscale x 2 x i16> undef, undef
634 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp sge <vscale x 4 x i16> undef, undef
635 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp sge <vscale x 8 x i16> undef, undef
636 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp sge <vscale x 16 x i16> undef, undef
637 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp sge <2 x i32> undef, undef
638 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp sge <4 x i32> undef, undef
639 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp sge <8 x i32> undef, undef
640 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp sge <16 x i32> undef, undef
641 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp sge <vscale x 1 x i32> undef, undef
642 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp sge <vscale x 2 x i32> undef, undef
643 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp sge <vscale x 4 x i32> undef, undef
644 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp sge <vscale x 8 x i32> undef, undef
645 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp sge <vscale x 16 x i32> undef, undef
646 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp sge <2 x i64> undef, undef
647 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp sge <4 x i64> undef, undef
648 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp sge <8 x i64> undef, undef
649 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp sge <vscale x 1 x i64> undef, undef
650 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp sge <vscale x 2 x i64> undef, undef
651 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp sge <vscale x 4 x i64> undef, undef
652 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp sge <vscale x 8 x i64> undef, undef
653 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
655   %v2i8 = icmp sge <2 x i8> undef, undef
656   %v4i8 = icmp sge <4 x i8> undef, undef
657   %v8i8 = icmp sge <8 x i8> undef, undef
658   %v16i8 = icmp sge <16 x i8> undef, undef
659   %v32i8 = icmp sge <32 x i8> undef, undef
661   %nxv1i8 = icmp sge <vscale x 1 x i8> undef, undef
662   %nxv2i8 = icmp sge <vscale x 2 x i8> undef, undef
663   %nxv4i8 = icmp sge <vscale x 4 x i8> undef, undef
664   %nxv8i8 = icmp sge <vscale x 8 x i8> undef, undef
665   %nxv16i8 = icmp sge <vscale x 16 x i8> undef, undef
666   %nxv32i8 = icmp sge <vscale x 32 x i8> undef, undef
668   %v2i16 = icmp sge <2 x i16> undef, undef
669   %v4i16 = icmp sge <4 x i16> undef, undef
670   %v8i16 = icmp sge <8 x i16> undef, undef
671   %v16i16 = icmp sge <16 x i16> undef, undef
673   %nxv1i16 = icmp sge <vscale x 1 x i16> undef, undef
674   %nxv2i16 = icmp sge <vscale x 2 x i16> undef, undef
675   %nxv4i16 = icmp sge <vscale x 4 x i16> undef, undef
676   %nxv8i16 = icmp sge <vscale x 8 x i16> undef, undef
677   %nxv16i16 = icmp sge <vscale x 16 x i16> undef, undef
679   %v2i32 = icmp sge <2 x i32> undef, undef
680   %v4i32 = icmp sge <4 x i32> undef, undef
681   %v8i32 = icmp sge <8 x i32> undef, undef
682   %v16i32 = icmp sge <16 x i32> undef, undef
684   %nxv1i32 = icmp sge <vscale x 1 x i32> undef, undef
685   %nxv2i32 = icmp sge <vscale x 2 x i32> undef, undef
686   %nxv4i32 = icmp sge <vscale x 4 x i32> undef, undef
687   %nxv8i32 = icmp sge <vscale x 8 x i32> undef, undef
688   %nxv16i32 = icmp sge <vscale x 16 x i32> undef, undef
690   %v2i64 = icmp sge <2 x i64> undef, undef
691   %v4i64 = icmp sge <4 x i64> undef, undef
692   %v8i64 = icmp sge <8 x i64> undef, undef
694   %nxv1i64 = icmp sge <vscale x 1 x i64> undef, undef
695   %nxv2i64 = icmp sge <vscale x 2 x i64> undef, undef
696   %nxv4i64 = icmp sge <vscale x 4 x i64> undef, undef
697   %nxv8i64 = icmp sge <vscale x 8 x i64> undef, undef
699   ret void
702 define void @icmp_slt() {
703 ; CHECK-LABEL: 'icmp_slt'
704 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp slt <2 x i8> undef, undef
705 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp slt <4 x i8> undef, undef
706 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp slt <8 x i8> undef, undef
707 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp slt <16 x i8> undef, undef
708 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp slt <32 x i8> undef, undef
709 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp slt <vscale x 1 x i8> undef, undef
710 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp slt <vscale x 2 x i8> undef, undef
711 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp slt <vscale x 4 x i8> undef, undef
712 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp slt <vscale x 8 x i8> undef, undef
713 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp slt <vscale x 16 x i8> undef, undef
714 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp slt <vscale x 32 x i8> undef, undef
715 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp slt <2 x i16> undef, undef
716 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp slt <4 x i16> undef, undef
717 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp slt <8 x i16> undef, undef
718 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp slt <16 x i16> undef, undef
719 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp slt <vscale x 1 x i16> undef, undef
720 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp slt <vscale x 2 x i16> undef, undef
721 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp slt <vscale x 4 x i16> undef, undef
722 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp slt <vscale x 8 x i16> undef, undef
723 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp slt <vscale x 16 x i16> undef, undef
724 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp slt <2 x i32> undef, undef
725 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp slt <4 x i32> undef, undef
726 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp slt <8 x i32> undef, undef
727 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp slt <16 x i32> undef, undef
728 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp slt <vscale x 1 x i32> undef, undef
729 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp slt <vscale x 2 x i32> undef, undef
730 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp slt <vscale x 4 x i32> undef, undef
731 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp slt <vscale x 8 x i32> undef, undef
732 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp slt <vscale x 16 x i32> undef, undef
733 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp slt <2 x i64> undef, undef
734 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp slt <4 x i64> undef, undef
735 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp slt <8 x i64> undef, undef
736 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp slt <vscale x 1 x i64> undef, undef
737 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp slt <vscale x 2 x i64> undef, undef
738 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp slt <vscale x 4 x i64> undef, undef
739 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp slt <vscale x 8 x i64> undef, undef
740 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
742   %v2i8 = icmp slt <2 x i8> undef, undef
743   %v4i8 = icmp slt <4 x i8> undef, undef
744   %v8i8 = icmp slt <8 x i8> undef, undef
745   %v16i8 = icmp slt <16 x i8> undef, undef
746   %v32i8 = icmp slt <32 x i8> undef, undef
748   %nxv1i8 = icmp slt <vscale x 1 x i8> undef, undef
749   %nxv2i8 = icmp slt <vscale x 2 x i8> undef, undef
750   %nxv4i8 = icmp slt <vscale x 4 x i8> undef, undef
751   %nxv8i8 = icmp slt <vscale x 8 x i8> undef, undef
752   %nxv16i8 = icmp slt <vscale x 16 x i8> undef, undef
753   %nxv32i8 = icmp slt <vscale x 32 x i8> undef, undef
755   %v2i16 = icmp slt <2 x i16> undef, undef
756   %v4i16 = icmp slt <4 x i16> undef, undef
757   %v8i16 = icmp slt <8 x i16> undef, undef
758   %v16i16 = icmp slt <16 x i16> undef, undef
760   %nxv1i16 = icmp slt <vscale x 1 x i16> undef, undef
761   %nxv2i16 = icmp slt <vscale x 2 x i16> undef, undef
762   %nxv4i16 = icmp slt <vscale x 4 x i16> undef, undef
763   %nxv8i16 = icmp slt <vscale x 8 x i16> undef, undef
764   %nxv16i16 = icmp slt <vscale x 16 x i16> undef, undef
766   %v2i32 = icmp slt <2 x i32> undef, undef
767   %v4i32 = icmp slt <4 x i32> undef, undef
768   %v8i32 = icmp slt <8 x i32> undef, undef
769   %v16i32 = icmp slt <16 x i32> undef, undef
771   %nxv1i32 = icmp slt <vscale x 1 x i32> undef, undef
772   %nxv2i32 = icmp slt <vscale x 2 x i32> undef, undef
773   %nxv4i32 = icmp slt <vscale x 4 x i32> undef, undef
774   %nxv8i32 = icmp slt <vscale x 8 x i32> undef, undef
775   %nxv16i32 = icmp slt <vscale x 16 x i32> undef, undef
777   %v2i64 = icmp slt <2 x i64> undef, undef
778   %v4i64 = icmp slt <4 x i64> undef, undef
779   %v8i64 = icmp slt <8 x i64> undef, undef
781   %nxv1i64 = icmp slt <vscale x 1 x i64> undef, undef
782   %nxv2i64 = icmp slt <vscale x 2 x i64> undef, undef
783   %nxv4i64 = icmp slt <vscale x 4 x i64> undef, undef
784   %nxv8i64 = icmp slt <vscale x 8 x i64> undef, undef
786   ret void
789 define void @icmp_sle() {
790 ; CHECK-LABEL: 'icmp_sle'
791 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i8 = icmp sle <2 x i8> undef, undef
792 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i8 = icmp sle <4 x i8> undef, undef
793 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i8 = icmp sle <8 x i8> undef, undef
794 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i8 = icmp sle <16 x i8> undef, undef
795 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v32i8 = icmp sle <32 x i8> undef, undef
796 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i8 = icmp sle <vscale x 1 x i8> undef, undef
797 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i8 = icmp sle <vscale x 2 x i8> undef, undef
798 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i8 = icmp sle <vscale x 4 x i8> undef, undef
799 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i8 = icmp sle <vscale x 8 x i8> undef, undef
800 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i8 = icmp sle <vscale x 16 x i8> undef, undef
801 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv32i8 = icmp sle <vscale x 32 x i8> undef, undef
802 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i16 = icmp sle <2 x i16> undef, undef
803 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i16 = icmp sle <4 x i16> undef, undef
804 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i16 = icmp sle <8 x i16> undef, undef
805 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i16 = icmp sle <16 x i16> undef, undef
806 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i16 = icmp sle <vscale x 1 x i16> undef, undef
807 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i16 = icmp sle <vscale x 2 x i16> undef, undef
808 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i16 = icmp sle <vscale x 4 x i16> undef, undef
809 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i16 = icmp sle <vscale x 8 x i16> undef, undef
810 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i16 = icmp sle <vscale x 16 x i16> undef, undef
811 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i32 = icmp sle <2 x i32> undef, undef
812 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i32 = icmp sle <4 x i32> undef, undef
813 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i32 = icmp sle <8 x i32> undef, undef
814 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16i32 = icmp sle <16 x i32> undef, undef
815 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i32 = icmp sle <vscale x 1 x i32> undef, undef
816 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i32 = icmp sle <vscale x 2 x i32> undef, undef
817 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i32 = icmp sle <vscale x 4 x i32> undef, undef
818 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i32 = icmp sle <vscale x 8 x i32> undef, undef
819 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16i32 = icmp sle <vscale x 16 x i32> undef, undef
820 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2i64 = icmp sle <2 x i64> undef, undef
821 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4i64 = icmp sle <4 x i64> undef, undef
822 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8i64 = icmp sle <8 x i64> undef, undef
823 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1i64 = icmp sle <vscale x 1 x i64> undef, undef
824 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2i64 = icmp sle <vscale x 2 x i64> undef, undef
825 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4i64 = icmp sle <vscale x 4 x i64> undef, undef
826 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8i64 = icmp sle <vscale x 8 x i64> undef, undef
827 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
829   %v2i8 = icmp sle <2 x i8> undef, undef
830   %v4i8 = icmp sle <4 x i8> undef, undef
831   %v8i8 = icmp sle <8 x i8> undef, undef
832   %v16i8 = icmp sle <16 x i8> undef, undef
833   %v32i8 = icmp sle <32 x i8> undef, undef
835   %nxv1i8 = icmp sle <vscale x 1 x i8> undef, undef
836   %nxv2i8 = icmp sle <vscale x 2 x i8> undef, undef
837   %nxv4i8 = icmp sle <vscale x 4 x i8> undef, undef
838   %nxv8i8 = icmp sle <vscale x 8 x i8> undef, undef
839   %nxv16i8 = icmp sle <vscale x 16 x i8> undef, undef
840   %nxv32i8 = icmp sle <vscale x 32 x i8> undef, undef
842   %v2i16 = icmp sle <2 x i16> undef, undef
843   %v4i16 = icmp sle <4 x i16> undef, undef
844   %v8i16 = icmp sle <8 x i16> undef, undef
845   %v16i16 = icmp sle <16 x i16> undef, undef
847   %nxv1i16 = icmp sle <vscale x 1 x i16> undef, undef
848   %nxv2i16 = icmp sle <vscale x 2 x i16> undef, undef
849   %nxv4i16 = icmp sle <vscale x 4 x i16> undef, undef
850   %nxv8i16 = icmp sle <vscale x 8 x i16> undef, undef
851   %nxv16i16 = icmp sle <vscale x 16 x i16> undef, undef
853   %v2i32 = icmp sle <2 x i32> undef, undef
854   %v4i32 = icmp sle <4 x i32> undef, undef
855   %v8i32 = icmp sle <8 x i32> undef, undef
856   %v16i32 = icmp sle <16 x i32> undef, undef
858   %nxv1i32 = icmp sle <vscale x 1 x i32> undef, undef
859   %nxv2i32 = icmp sle <vscale x 2 x i32> undef, undef
860   %nxv4i32 = icmp sle <vscale x 4 x i32> undef, undef
861   %nxv8i32 = icmp sle <vscale x 8 x i32> undef, undef
862   %nxv16i32 = icmp sle <vscale x 16 x i32> undef, undef
864   %v2i64 = icmp sle <2 x i64> undef, undef
865   %v4i64 = icmp sle <4 x i64> undef, undef
866   %v8i64 = icmp sle <8 x i64> undef, undef
868   %nxv1i64 = icmp sle <vscale x 1 x i64> undef, undef
869   %nxv2i64 = icmp sle <vscale x 2 x i64> undef, undef
870   %nxv4i64 = icmp sle <vscale x 4 x i64> undef, undef
871   %nxv8i64 = icmp sle <vscale x 8 x i64> undef, undef
873   ret void
876 define void @fcmp_oeq() {
877 ; CHECK-LABEL: 'fcmp_oeq'
878 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oeq <2 x half> undef, undef
879 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oeq <4 x half> undef, undef
880 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oeq <8 x half> undef, undef
881 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oeq <16 x half> undef, undef
882 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef
883 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef
884 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef
885 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef
886 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef
887 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp oeq <2 x float> undef, undef
888 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp oeq <4 x float> undef, undef
889 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp oeq <8 x float> undef, undef
890 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp oeq <16 x float> undef, undef
891 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp oeq <vscale x 1 x float> undef, undef
892 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp oeq <vscale x 2 x float> undef, undef
893 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp oeq <vscale x 4 x float> undef, undef
894 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp oeq <vscale x 8 x float> undef, undef
895 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp oeq <vscale x 16 x float> undef, undef
896 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp oeq <2 x double> undef, undef
897 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp oeq <4 x double> undef, undef
898 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp oeq <8 x double> undef, undef
899 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp oeq <vscale x 1 x double> undef, undef
900 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp oeq <vscale x 2 x double> undef, undef
901 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp oeq <vscale x 4 x double> undef, undef
902 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp oeq <vscale x 8 x double> undef, undef
903 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
905   %v2f16 = fcmp oeq <2 x half> undef, undef
906   %v4f16 = fcmp oeq <4 x half> undef, undef
907   %v8f16 = fcmp oeq <8 x half> undef, undef
908   %v16f16 = fcmp oeq <16 x half> undef, undef
910   %nxv1f16 = fcmp oeq <vscale x 1 x half> undef, undef
911   %nxv2f16 = fcmp oeq <vscale x 2 x half> undef, undef
912   %nxv4f16 = fcmp oeq <vscale x 4 x half> undef, undef
913   %nxv8f16 = fcmp oeq <vscale x 8 x half> undef, undef
914   %nxv16f16 = fcmp oeq <vscale x 16 x half> undef, undef
916   %v2f32 = fcmp oeq <2 x float> undef, undef
917   %v4f32 = fcmp oeq <4 x float> undef, undef
918   %v8f32 = fcmp oeq <8 x float> undef, undef
919   %v16f32 = fcmp oeq <16 x float> undef, undef
921   %nxv1f32 = fcmp oeq <vscale x 1 x float> undef, undef
922   %nxv2f32 = fcmp oeq <vscale x 2 x float> undef, undef
923   %nxv4f32 = fcmp oeq <vscale x 4 x float> undef, undef
924   %nxv8f32 = fcmp oeq <vscale x 8 x float> undef, undef
925   %nxv16f32 = fcmp oeq <vscale x 16 x float> undef, undef
927   %v2f64 = fcmp oeq <2 x double> undef, undef
928   %v4f64 = fcmp oeq <4 x double> undef, undef
929   %v8f64 = fcmp oeq <8 x double> undef, undef
931   %nxv1f64 = fcmp oeq <vscale x 1 x double> undef, undef
932   %nxv2f64 = fcmp oeq <vscale x 2 x double> undef, undef
933   %nxv4f64 = fcmp oeq <vscale x 4 x double> undef, undef
934   %nxv8f64 = fcmp oeq <vscale x 8 x double> undef, undef
936   ret void
939 define void @fcmp_one() {
940 ; CHECK-LABEL: 'fcmp_one'
941 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp one <2 x half> undef, undef
942 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp one <4 x half> undef, undef
943 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp one <8 x half> undef, undef
944 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp one <16 x half> undef, undef
945 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef
946 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef
947 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef
948 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef
949 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef
950 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp one <2 x float> undef, undef
951 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp one <4 x float> undef, undef
952 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp one <8 x float> undef, undef
953 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp one <16 x float> undef, undef
954 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp one <vscale x 1 x float> undef, undef
955 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp one <vscale x 2 x float> undef, undef
956 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp one <vscale x 4 x float> undef, undef
957 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp one <vscale x 8 x float> undef, undef
958 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp one <vscale x 16 x float> undef, undef
959 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp one <2 x double> undef, undef
960 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp one <4 x double> undef, undef
961 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp one <8 x double> undef, undef
962 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp one <vscale x 1 x double> undef, undef
963 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp one <vscale x 2 x double> undef, undef
964 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp one <vscale x 4 x double> undef, undef
965 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp one <vscale x 8 x double> undef, undef
966 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
968   %v2f16 = fcmp one <2 x half> undef, undef
969   %v4f16 = fcmp one <4 x half> undef, undef
970   %v8f16 = fcmp one <8 x half> undef, undef
971   %v16f16 = fcmp one <16 x half> undef, undef
973   %nxv1f16 = fcmp one <vscale x 1 x half> undef, undef
974   %nxv2f16 = fcmp one <vscale x 2 x half> undef, undef
975   %nxv4f16 = fcmp one <vscale x 4 x half> undef, undef
976   %nxv8f16 = fcmp one <vscale x 8 x half> undef, undef
977   %nxv16f16 = fcmp one <vscale x 16 x half> undef, undef
979   %v2f32 = fcmp one <2 x float> undef, undef
980   %v4f32 = fcmp one <4 x float> undef, undef
981   %v8f32 = fcmp one <8 x float> undef, undef
982   %v16f32 = fcmp one <16 x float> undef, undef
984   %nxv1f32 = fcmp one <vscale x 1 x float> undef, undef
985   %nxv2f32 = fcmp one <vscale x 2 x float> undef, undef
986   %nxv4f32 = fcmp one <vscale x 4 x float> undef, undef
987   %nxv8f32 = fcmp one <vscale x 8 x float> undef, undef
988   %nxv16f32 = fcmp one <vscale x 16 x float> undef, undef
990   %v2f64 = fcmp one <2 x double> undef, undef
991   %v4f64 = fcmp one <4 x double> undef, undef
992   %v8f64 = fcmp one <8 x double> undef, undef
994   %nxv1f64 = fcmp one <vscale x 1 x double> undef, undef
995   %nxv2f64 = fcmp one <vscale x 2 x double> undef, undef
996   %nxv4f64 = fcmp one <vscale x 4 x double> undef, undef
997   %nxv8f64 = fcmp one <vscale x 8 x double> undef, undef
999   ret void
1002 define void @fcmp_olt() {
1003 ; CHECK-LABEL: 'fcmp_olt'
1004 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp olt <2 x half> undef, undef
1005 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp olt <4 x half> undef, undef
1006 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp olt <8 x half> undef, undef
1007 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp olt <16 x half> undef, undef
1008 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef
1009 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef
1010 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef
1011 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef
1012 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef
1013 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp olt <2 x float> undef, undef
1014 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp olt <4 x float> undef, undef
1015 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp olt <8 x float> undef, undef
1016 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp olt <16 x float> undef, undef
1017 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp olt <vscale x 1 x float> undef, undef
1018 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp olt <vscale x 2 x float> undef, undef
1019 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp olt <vscale x 4 x float> undef, undef
1020 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp olt <vscale x 8 x float> undef, undef
1021 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp olt <vscale x 16 x float> undef, undef
1022 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp olt <2 x double> undef, undef
1023 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp olt <4 x double> undef, undef
1024 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp olt <8 x double> undef, undef
1025 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp olt <vscale x 1 x double> undef, undef
1026 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp olt <vscale x 2 x double> undef, undef
1027 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp olt <vscale x 4 x double> undef, undef
1028 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp olt <vscale x 8 x double> undef, undef
1029 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1031   %v2f16 = fcmp olt <2 x half> undef, undef
1032   %v4f16 = fcmp olt <4 x half> undef, undef
1033   %v8f16 = fcmp olt <8 x half> undef, undef
1034   %v16f16 = fcmp olt <16 x half> undef, undef
1036   %nxv1f16 = fcmp olt <vscale x 1 x half> undef, undef
1037   %nxv2f16 = fcmp olt <vscale x 2 x half> undef, undef
1038   %nxv4f16 = fcmp olt <vscale x 4 x half> undef, undef
1039   %nxv8f16 = fcmp olt <vscale x 8 x half> undef, undef
1040   %nxv16f16 = fcmp olt <vscale x 16 x half> undef, undef
1042   %v2f32 = fcmp olt <2 x float> undef, undef
1043   %v4f32 = fcmp olt <4 x float> undef, undef
1044   %v8f32 = fcmp olt <8 x float> undef, undef
1045   %v16f32 = fcmp olt <16 x float> undef, undef
1047   %nxv1f32 = fcmp olt <vscale x 1 x float> undef, undef
1048   %nxv2f32 = fcmp olt <vscale x 2 x float> undef, undef
1049   %nxv4f32 = fcmp olt <vscale x 4 x float> undef, undef
1050   %nxv8f32 = fcmp olt <vscale x 8 x float> undef, undef
1051   %nxv16f32 = fcmp olt <vscale x 16 x float> undef, undef
1053   %v2f64 = fcmp olt <2 x double> undef, undef
1054   %v4f64 = fcmp olt <4 x double> undef, undef
1055   %v8f64 = fcmp olt <8 x double> undef, undef
1057   %nxv1f64 = fcmp olt <vscale x 1 x double> undef, undef
1058   %nxv2f64 = fcmp olt <vscale x 2 x double> undef, undef
1059   %nxv4f64 = fcmp olt <vscale x 4 x double> undef, undef
1060   %nxv8f64 = fcmp olt <vscale x 8 x double> undef, undef
1062   ret void
1065 define void @fcmp_ole() {
1066 ; CHECK-LABEL: 'fcmp_ole'
1067 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ole <2 x half> undef, undef
1068 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ole <4 x half> undef, undef
1069 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ole <8 x half> undef, undef
1070 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ole <16 x half> undef, undef
1071 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef
1072 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef
1073 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef
1074 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef
1075 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef
1076 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp ole <2 x float> undef, undef
1077 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp ole <4 x float> undef, undef
1078 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp ole <8 x float> undef, undef
1079 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp ole <16 x float> undef, undef
1080 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp ole <vscale x 1 x float> undef, undef
1081 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp ole <vscale x 2 x float> undef, undef
1082 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp ole <vscale x 4 x float> undef, undef
1083 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp ole <vscale x 8 x float> undef, undef
1084 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp ole <vscale x 16 x float> undef, undef
1085 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp ole <2 x double> undef, undef
1086 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp ole <4 x double> undef, undef
1087 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp ole <8 x double> undef, undef
1088 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp ole <vscale x 1 x double> undef, undef
1089 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp ole <vscale x 2 x double> undef, undef
1090 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp ole <vscale x 4 x double> undef, undef
1091 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp ole <vscale x 8 x double> undef, undef
1092 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1094   %v2f16 = fcmp ole <2 x half> undef, undef
1095   %v4f16 = fcmp ole <4 x half> undef, undef
1096   %v8f16 = fcmp ole <8 x half> undef, undef
1097   %v16f16 = fcmp ole <16 x half> undef, undef
1099   %nxv1f16 = fcmp ole <vscale x 1 x half> undef, undef
1100   %nxv2f16 = fcmp ole <vscale x 2 x half> undef, undef
1101   %nxv4f16 = fcmp ole <vscale x 4 x half> undef, undef
1102   %nxv8f16 = fcmp ole <vscale x 8 x half> undef, undef
1103   %nxv16f16 = fcmp ole <vscale x 16 x half> undef, undef
1105   %v2f32 = fcmp ole <2 x float> undef, undef
1106   %v4f32 = fcmp ole <4 x float> undef, undef
1107   %v8f32 = fcmp ole <8 x float> undef, undef
1108   %v16f32 = fcmp ole <16 x float> undef, undef
1110   %nxv1f32 = fcmp ole <vscale x 1 x float> undef, undef
1111   %nxv2f32 = fcmp ole <vscale x 2 x float> undef, undef
1112   %nxv4f32 = fcmp ole <vscale x 4 x float> undef, undef
1113   %nxv8f32 = fcmp ole <vscale x 8 x float> undef, undef
1114   %nxv16f32 = fcmp ole <vscale x 16 x float> undef, undef
1116   %v2f64 = fcmp ole <2 x double> undef, undef
1117   %v4f64 = fcmp ole <4 x double> undef, undef
1118   %v8f64 = fcmp ole <8 x double> undef, undef
1120   %nxv1f64 = fcmp ole <vscale x 1 x double> undef, undef
1121   %nxv2f64 = fcmp ole <vscale x 2 x double> undef, undef
1122   %nxv4f64 = fcmp ole <vscale x 4 x double> undef, undef
1123   %nxv8f64 = fcmp ole <vscale x 8 x double> undef, undef
1125   ret void
1128 define void @fcmp_ogt() {
1129 ; CHECK-LABEL: 'fcmp_ogt'
1130 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ogt <2 x half> undef, undef
1131 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ogt <4 x half> undef, undef
1132 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ogt <8 x half> undef, undef
1133 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ogt <16 x half> undef, undef
1134 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef
1135 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef
1136 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef
1137 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef
1138 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef
1139 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp ogt <2 x float> undef, undef
1140 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp ogt <4 x float> undef, undef
1141 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp ogt <8 x float> undef, undef
1142 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp ogt <16 x float> undef, undef
1143 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp ogt <vscale x 1 x float> undef, undef
1144 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp ogt <vscale x 2 x float> undef, undef
1145 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp ogt <vscale x 4 x float> undef, undef
1146 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp ogt <vscale x 8 x float> undef, undef
1147 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp ogt <vscale x 16 x float> undef, undef
1148 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp ogt <2 x double> undef, undef
1149 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp ogt <4 x double> undef, undef
1150 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp ogt <8 x double> undef, undef
1151 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp ogt <vscale x 1 x double> undef, undef
1152 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp ogt <vscale x 2 x double> undef, undef
1153 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp ogt <vscale x 4 x double> undef, undef
1154 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp ogt <vscale x 8 x double> undef, undef
1155 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1157   %v2f16 = fcmp ogt <2 x half> undef, undef
1158   %v4f16 = fcmp ogt <4 x half> undef, undef
1159   %v8f16 = fcmp ogt <8 x half> undef, undef
1160   %v16f16 = fcmp ogt <16 x half> undef, undef
1162   %nxv1f16 = fcmp ogt <vscale x 1 x half> undef, undef
1163   %nxv2f16 = fcmp ogt <vscale x 2 x half> undef, undef
1164   %nxv4f16 = fcmp ogt <vscale x 4 x half> undef, undef
1165   %nxv8f16 = fcmp ogt <vscale x 8 x half> undef, undef
1166   %nxv16f16 = fcmp ogt <vscale x 16 x half> undef, undef
1168   %v2f32 = fcmp ogt <2 x float> undef, undef
1169   %v4f32 = fcmp ogt <4 x float> undef, undef
1170   %v8f32 = fcmp ogt <8 x float> undef, undef
1171   %v16f32 = fcmp ogt <16 x float> undef, undef
1173   %nxv1f32 = fcmp ogt <vscale x 1 x float> undef, undef
1174   %nxv2f32 = fcmp ogt <vscale x 2 x float> undef, undef
1175   %nxv4f32 = fcmp ogt <vscale x 4 x float> undef, undef
1176   %nxv8f32 = fcmp ogt <vscale x 8 x float> undef, undef
1177   %nxv16f32 = fcmp ogt <vscale x 16 x float> undef, undef
1179   %v2f64 = fcmp ogt <2 x double> undef, undef
1180   %v4f64 = fcmp ogt <4 x double> undef, undef
1181   %v8f64 = fcmp ogt <8 x double> undef, undef
1183   %nxv1f64 = fcmp ogt <vscale x 1 x double> undef, undef
1184   %nxv2f64 = fcmp ogt <vscale x 2 x double> undef, undef
1185   %nxv4f64 = fcmp ogt <vscale x 4 x double> undef, undef
1186   %nxv8f64 = fcmp ogt <vscale x 8 x double> undef, undef
1188   ret void
1191 define void @fcmp_oge() {
1192 ; CHECK-LABEL: 'fcmp_oge'
1193 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp oge <2 x half> undef, undef
1194 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp oge <4 x half> undef, undef
1195 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp oge <8 x half> undef, undef
1196 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp oge <16 x half> undef, undef
1197 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef
1198 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef
1199 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef
1200 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef
1201 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef
1202 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp oge <2 x float> undef, undef
1203 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp oge <4 x float> undef, undef
1204 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp oge <8 x float> undef, undef
1205 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp oge <16 x float> undef, undef
1206 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp oge <vscale x 1 x float> undef, undef
1207 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp oge <vscale x 2 x float> undef, undef
1208 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp oge <vscale x 4 x float> undef, undef
1209 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp oge <vscale x 8 x float> undef, undef
1210 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp oge <vscale x 16 x float> undef, undef
1211 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp oge <2 x double> undef, undef
1212 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp oge <4 x double> undef, undef
1213 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp oge <8 x double> undef, undef
1214 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp oge <vscale x 1 x double> undef, undef
1215 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp oge <vscale x 2 x double> undef, undef
1216 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp oge <vscale x 4 x double> undef, undef
1217 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp oge <vscale x 8 x double> undef, undef
1218 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1220   %v2f16 = fcmp oge <2 x half> undef, undef
1221   %v4f16 = fcmp oge <4 x half> undef, undef
1222   %v8f16 = fcmp oge <8 x half> undef, undef
1223   %v16f16 = fcmp oge <16 x half> undef, undef
1225   %nxv1f16 = fcmp oge <vscale x 1 x half> undef, undef
1226   %nxv2f16 = fcmp oge <vscale x 2 x half> undef, undef
1227   %nxv4f16 = fcmp oge <vscale x 4 x half> undef, undef
1228   %nxv8f16 = fcmp oge <vscale x 8 x half> undef, undef
1229   %nxv16f16 = fcmp oge <vscale x 16 x half> undef, undef
1231   %v2f32 = fcmp oge <2 x float> undef, undef
1232   %v4f32 = fcmp oge <4 x float> undef, undef
1233   %v8f32 = fcmp oge <8 x float> undef, undef
1234   %v16f32 = fcmp oge <16 x float> undef, undef
1236   %nxv1f32 = fcmp oge <vscale x 1 x float> undef, undef
1237   %nxv2f32 = fcmp oge <vscale x 2 x float> undef, undef
1238   %nxv4f32 = fcmp oge <vscale x 4 x float> undef, undef
1239   %nxv8f32 = fcmp oge <vscale x 8 x float> undef, undef
1240   %nxv16f32 = fcmp oge <vscale x 16 x float> undef, undef
1242   %v2f64 = fcmp oge <2 x double> undef, undef
1243   %v4f64 = fcmp oge <4 x double> undef, undef
1244   %v8f64 = fcmp oge <8 x double> undef, undef
1246   %nxv1f64 = fcmp oge <vscale x 1 x double> undef, undef
1247   %nxv2f64 = fcmp oge <vscale x 2 x double> undef, undef
1248   %nxv4f64 = fcmp oge <vscale x 4 x double> undef, undef
1249   %nxv8f64 = fcmp oge <vscale x 8 x double> undef, undef
1251   ret void
1254 define void @fcmp_ueq() {
1255 ; CHECK-LABEL: 'fcmp_ueq'
1256 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ueq <2 x half> undef, undef
1257 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ueq <4 x half> undef, undef
1258 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ueq <8 x half> undef, undef
1259 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ueq <16 x half> undef, undef
1260 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef
1261 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef
1262 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef
1263 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef
1264 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef
1265 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp ueq <2 x float> undef, undef
1266 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp ueq <4 x float> undef, undef
1267 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp ueq <8 x float> undef, undef
1268 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp ueq <16 x float> undef, undef
1269 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp ueq <vscale x 1 x float> undef, undef
1270 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp ueq <vscale x 2 x float> undef, undef
1271 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp ueq <vscale x 4 x float> undef, undef
1272 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp ueq <vscale x 8 x float> undef, undef
1273 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp ueq <vscale x 16 x float> undef, undef
1274 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp ueq <2 x double> undef, undef
1275 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp ueq <4 x double> undef, undef
1276 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp ueq <8 x double> undef, undef
1277 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp ueq <vscale x 1 x double> undef, undef
1278 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp ueq <vscale x 2 x double> undef, undef
1279 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp ueq <vscale x 4 x double> undef, undef
1280 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp ueq <vscale x 8 x double> undef, undef
1281 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1283   %v2f16 = fcmp ueq <2 x half> undef, undef
1284   %v4f16 = fcmp ueq <4 x half> undef, undef
1285   %v8f16 = fcmp ueq <8 x half> undef, undef
1286   %v16f16 = fcmp ueq <16 x half> undef, undef
1288   %nxv1f16 = fcmp ueq <vscale x 1 x half> undef, undef
1289   %nxv2f16 = fcmp ueq <vscale x 2 x half> undef, undef
1290   %nxv4f16 = fcmp ueq <vscale x 4 x half> undef, undef
1291   %nxv8f16 = fcmp ueq <vscale x 8 x half> undef, undef
1292   %nxv16f16 = fcmp ueq <vscale x 16 x half> undef, undef
1294   %v2f32 = fcmp ueq <2 x float> undef, undef
1295   %v4f32 = fcmp ueq <4 x float> undef, undef
1296   %v8f32 = fcmp ueq <8 x float> undef, undef
1297   %v16f32 = fcmp ueq <16 x float> undef, undef
1299   %nxv1f32 = fcmp ueq <vscale x 1 x float> undef, undef
1300   %nxv2f32 = fcmp ueq <vscale x 2 x float> undef, undef
1301   %nxv4f32 = fcmp ueq <vscale x 4 x float> undef, undef
1302   %nxv8f32 = fcmp ueq <vscale x 8 x float> undef, undef
1303   %nxv16f32 = fcmp ueq <vscale x 16 x float> undef, undef
1305   %v2f64 = fcmp ueq <2 x double> undef, undef
1306   %v4f64 = fcmp ueq <4 x double> undef, undef
1307   %v8f64 = fcmp ueq <8 x double> undef, undef
1309   %nxv1f64 = fcmp ueq <vscale x 1 x double> undef, undef
1310   %nxv2f64 = fcmp ueq <vscale x 2 x double> undef, undef
1311   %nxv4f64 = fcmp ueq <vscale x 4 x double> undef, undef
1312   %nxv8f64 = fcmp ueq <vscale x 8 x double> undef, undef
1314   ret void
1317 define void @fcmp_une() {
1318 ; CHECK-LABEL: 'fcmp_une'
1319 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp une <2 x half> undef, undef
1320 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp une <4 x half> undef, undef
1321 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp une <8 x half> undef, undef
1322 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp une <16 x half> undef, undef
1323 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef
1324 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef
1325 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef
1326 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef
1327 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef
1328 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp une <2 x float> undef, undef
1329 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp une <4 x float> undef, undef
1330 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp une <8 x float> undef, undef
1331 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp une <16 x float> undef, undef
1332 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp une <vscale x 1 x float> undef, undef
1333 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp une <vscale x 2 x float> undef, undef
1334 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp une <vscale x 4 x float> undef, undef
1335 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp une <vscale x 8 x float> undef, undef
1336 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp une <vscale x 16 x float> undef, undef
1337 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp une <2 x double> undef, undef
1338 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp une <4 x double> undef, undef
1339 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp une <8 x double> undef, undef
1340 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp une <vscale x 1 x double> undef, undef
1341 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp une <vscale x 2 x double> undef, undef
1342 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp une <vscale x 4 x double> undef, undef
1343 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp une <vscale x 8 x double> undef, undef
1344 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1346   %v2f16 = fcmp une <2 x half> undef, undef
1347   %v4f16 = fcmp une <4 x half> undef, undef
1348   %v8f16 = fcmp une <8 x half> undef, undef
1349   %v16f16 = fcmp une <16 x half> undef, undef
1351   %nxv1f16 = fcmp une <vscale x 1 x half> undef, undef
1352   %nxv2f16 = fcmp une <vscale x 2 x half> undef, undef
1353   %nxv4f16 = fcmp une <vscale x 4 x half> undef, undef
1354   %nxv8f16 = fcmp une <vscale x 8 x half> undef, undef
1355   %nxv16f16 = fcmp une <vscale x 16 x half> undef, undef
1357   %v2f32 = fcmp une <2 x float> undef, undef
1358   %v4f32 = fcmp une <4 x float> undef, undef
1359   %v8f32 = fcmp une <8 x float> undef, undef
1360   %v16f32 = fcmp une <16 x float> undef, undef
1362   %nxv1f32 = fcmp une <vscale x 1 x float> undef, undef
1363   %nxv2f32 = fcmp une <vscale x 2 x float> undef, undef
1364   %nxv4f32 = fcmp une <vscale x 4 x float> undef, undef
1365   %nxv8f32 = fcmp une <vscale x 8 x float> undef, undef
1366   %nxv16f32 = fcmp une <vscale x 16 x float> undef, undef
1368   %v2f64 = fcmp une <2 x double> undef, undef
1369   %v4f64 = fcmp une <4 x double> undef, undef
1370   %v8f64 = fcmp une <8 x double> undef, undef
1372   %nxv1f64 = fcmp une <vscale x 1 x double> undef, undef
1373   %nxv2f64 = fcmp une <vscale x 2 x double> undef, undef
1374   %nxv4f64 = fcmp une <vscale x 4 x double> undef, undef
1375   %nxv8f64 = fcmp une <vscale x 8 x double> undef, undef
1377   ret void
1380 define void @fcmp_ult() {
1381 ; CHECK-LABEL: 'fcmp_ult'
1382 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ult <2 x half> undef, undef
1383 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ult <4 x half> undef, undef
1384 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ult <8 x half> undef, undef
1385 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ult <16 x half> undef, undef
1386 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef
1387 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef
1388 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef
1389 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef
1390 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef
1391 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp ult <2 x float> undef, undef
1392 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp ult <4 x float> undef, undef
1393 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp ult <8 x float> undef, undef
1394 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp ult <16 x float> undef, undef
1395 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp ult <vscale x 1 x float> undef, undef
1396 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp ult <vscale x 2 x float> undef, undef
1397 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp ult <vscale x 4 x float> undef, undef
1398 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp ult <vscale x 8 x float> undef, undef
1399 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp ult <vscale x 16 x float> undef, undef
1400 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp ult <2 x double> undef, undef
1401 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp ult <4 x double> undef, undef
1402 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp ult <8 x double> undef, undef
1403 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp ult <vscale x 1 x double> undef, undef
1404 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp ult <vscale x 2 x double> undef, undef
1405 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp ult <vscale x 4 x double> undef, undef
1406 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp ult <vscale x 8 x double> undef, undef
1407 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1409   %v2f16 = fcmp ult <2 x half> undef, undef
1410   %v4f16 = fcmp ult <4 x half> undef, undef
1411   %v8f16 = fcmp ult <8 x half> undef, undef
1412   %v16f16 = fcmp ult <16 x half> undef, undef
1414   %nxv1f16 = fcmp ult <vscale x 1 x half> undef, undef
1415   %nxv2f16 = fcmp ult <vscale x 2 x half> undef, undef
1416   %nxv4f16 = fcmp ult <vscale x 4 x half> undef, undef
1417   %nxv8f16 = fcmp ult <vscale x 8 x half> undef, undef
1418   %nxv16f16 = fcmp ult <vscale x 16 x half> undef, undef
1420   %v2f32 = fcmp ult <2 x float> undef, undef
1421   %v4f32 = fcmp ult <4 x float> undef, undef
1422   %v8f32 = fcmp ult <8 x float> undef, undef
1423   %v16f32 = fcmp ult <16 x float> undef, undef
1425   %nxv1f32 = fcmp ult <vscale x 1 x float> undef, undef
1426   %nxv2f32 = fcmp ult <vscale x 2 x float> undef, undef
1427   %nxv4f32 = fcmp ult <vscale x 4 x float> undef, undef
1428   %nxv8f32 = fcmp ult <vscale x 8 x float> undef, undef
1429   %nxv16f32 = fcmp ult <vscale x 16 x float> undef, undef
1431   %v2f64 = fcmp ult <2 x double> undef, undef
1432   %v4f64 = fcmp ult <4 x double> undef, undef
1433   %v8f64 = fcmp ult <8 x double> undef, undef
1435   %nxv1f64 = fcmp ult <vscale x 1 x double> undef, undef
1436   %nxv2f64 = fcmp ult <vscale x 2 x double> undef, undef
1437   %nxv4f64 = fcmp ult <vscale x 4 x double> undef, undef
1438   %nxv8f64 = fcmp ult <vscale x 8 x double> undef, undef
1440   ret void
1443 define void @fcmp_ule() {
1444 ; CHECK-LABEL: 'fcmp_ule'
1445 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ule <2 x half> undef, undef
1446 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ule <4 x half> undef, undef
1447 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ule <8 x half> undef, undef
1448 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ule <16 x half> undef, undef
1449 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef
1450 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef
1451 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef
1452 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef
1453 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef
1454 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp ule <2 x float> undef, undef
1455 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp ule <4 x float> undef, undef
1456 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp ule <8 x float> undef, undef
1457 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp ule <16 x float> undef, undef
1458 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp ule <vscale x 1 x float> undef, undef
1459 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp ule <vscale x 2 x float> undef, undef
1460 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp ule <vscale x 4 x float> undef, undef
1461 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp ule <vscale x 8 x float> undef, undef
1462 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp ule <vscale x 16 x float> undef, undef
1463 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp ule <2 x double> undef, undef
1464 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp ule <4 x double> undef, undef
1465 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp ule <8 x double> undef, undef
1466 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp ule <vscale x 1 x double> undef, undef
1467 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp ule <vscale x 2 x double> undef, undef
1468 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp ule <vscale x 4 x double> undef, undef
1469 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp ule <vscale x 8 x double> undef, undef
1470 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1472   %v2f16 = fcmp ule <2 x half> undef, undef
1473   %v4f16 = fcmp ule <4 x half> undef, undef
1474   %v8f16 = fcmp ule <8 x half> undef, undef
1475   %v16f16 = fcmp ule <16 x half> undef, undef
1477   %nxv1f16 = fcmp ule <vscale x 1 x half> undef, undef
1478   %nxv2f16 = fcmp ule <vscale x 2 x half> undef, undef
1479   %nxv4f16 = fcmp ule <vscale x 4 x half> undef, undef
1480   %nxv8f16 = fcmp ule <vscale x 8 x half> undef, undef
1481   %nxv16f16 = fcmp ule <vscale x 16 x half> undef, undef
1483   %v2f32 = fcmp ule <2 x float> undef, undef
1484   %v4f32 = fcmp ule <4 x float> undef, undef
1485   %v8f32 = fcmp ule <8 x float> undef, undef
1486   %v16f32 = fcmp ule <16 x float> undef, undef
1488   %nxv1f32 = fcmp ule <vscale x 1 x float> undef, undef
1489   %nxv2f32 = fcmp ule <vscale x 2 x float> undef, undef
1490   %nxv4f32 = fcmp ule <vscale x 4 x float> undef, undef
1491   %nxv8f32 = fcmp ule <vscale x 8 x float> undef, undef
1492   %nxv16f32 = fcmp ule <vscale x 16 x float> undef, undef
1494   %v2f64 = fcmp ule <2 x double> undef, undef
1495   %v4f64 = fcmp ule <4 x double> undef, undef
1496   %v8f64 = fcmp ule <8 x double> undef, undef
1498   %nxv1f64 = fcmp ule <vscale x 1 x double> undef, undef
1499   %nxv2f64 = fcmp ule <vscale x 2 x double> undef, undef
1500   %nxv4f64 = fcmp ule <vscale x 4 x double> undef, undef
1501   %nxv8f64 = fcmp ule <vscale x 8 x double> undef, undef
1503   ret void
1506 define void @fcmp_ugt() {
1507 ; CHECK-LABEL: 'fcmp_ugt'
1508 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp ugt <2 x half> undef, undef
1509 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp ugt <4 x half> undef, undef
1510 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp ugt <8 x half> undef, undef
1511 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp ugt <16 x half> undef, undef
1512 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef
1513 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef
1514 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef
1515 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef
1516 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef
1517 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp ugt <2 x float> undef, undef
1518 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp ugt <4 x float> undef, undef
1519 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp ugt <8 x float> undef, undef
1520 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp ugt <16 x float> undef, undef
1521 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp ugt <vscale x 1 x float> undef, undef
1522 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp ugt <vscale x 2 x float> undef, undef
1523 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp ugt <vscale x 4 x float> undef, undef
1524 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp ugt <vscale x 8 x float> undef, undef
1525 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp ugt <vscale x 16 x float> undef, undef
1526 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp ugt <2 x double> undef, undef
1527 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp ugt <4 x double> undef, undef
1528 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp ugt <8 x double> undef, undef
1529 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp ugt <vscale x 1 x double> undef, undef
1530 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp ugt <vscale x 2 x double> undef, undef
1531 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp ugt <vscale x 4 x double> undef, undef
1532 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp ugt <vscale x 8 x double> undef, undef
1533 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1535   %v2f16 = fcmp ugt <2 x half> undef, undef
1536   %v4f16 = fcmp ugt <4 x half> undef, undef
1537   %v8f16 = fcmp ugt <8 x half> undef, undef
1538   %v16f16 = fcmp ugt <16 x half> undef, undef
1540   %nxv1f16 = fcmp ugt <vscale x 1 x half> undef, undef
1541   %nxv2f16 = fcmp ugt <vscale x 2 x half> undef, undef
1542   %nxv4f16 = fcmp ugt <vscale x 4 x half> undef, undef
1543   %nxv8f16 = fcmp ugt <vscale x 8 x half> undef, undef
1544   %nxv16f16 = fcmp ugt <vscale x 16 x half> undef, undef
1546   %v2f32 = fcmp ugt <2 x float> undef, undef
1547   %v4f32 = fcmp ugt <4 x float> undef, undef
1548   %v8f32 = fcmp ugt <8 x float> undef, undef
1549   %v16f32 = fcmp ugt <16 x float> undef, undef
1551   %nxv1f32 = fcmp ugt <vscale x 1 x float> undef, undef
1552   %nxv2f32 = fcmp ugt <vscale x 2 x float> undef, undef
1553   %nxv4f32 = fcmp ugt <vscale x 4 x float> undef, undef
1554   %nxv8f32 = fcmp ugt <vscale x 8 x float> undef, undef
1555   %nxv16f32 = fcmp ugt <vscale x 16 x float> undef, undef
1557   %v2f64 = fcmp ugt <2 x double> undef, undef
1558   %v4f64 = fcmp ugt <4 x double> undef, undef
1559   %v8f64 = fcmp ugt <8 x double> undef, undef
1561   %nxv1f64 = fcmp ugt <vscale x 1 x double> undef, undef
1562   %nxv2f64 = fcmp ugt <vscale x 2 x double> undef, undef
1563   %nxv4f64 = fcmp ugt <vscale x 4 x double> undef, undef
1564   %nxv8f64 = fcmp ugt <vscale x 8 x double> undef, undef
1566   ret void
1569 define void @fcmp_uge() {
1570 ; CHECK-LABEL: 'fcmp_uge'
1571 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f16 = fcmp uge <2 x half> undef, undef
1572 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f16 = fcmp uge <4 x half> undef, undef
1573 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f16 = fcmp uge <8 x half> undef, undef
1574 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f16 = fcmp uge <16 x half> undef, undef
1575 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef
1576 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef
1577 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef
1578 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef
1579 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef
1580 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f32 = fcmp uge <2 x float> undef, undef
1581 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f32 = fcmp uge <4 x float> undef, undef
1582 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f32 = fcmp uge <8 x float> undef, undef
1583 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v16f32 = fcmp uge <16 x float> undef, undef
1584 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f32 = fcmp uge <vscale x 1 x float> undef, undef
1585 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f32 = fcmp uge <vscale x 2 x float> undef, undef
1586 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f32 = fcmp uge <vscale x 4 x float> undef, undef
1587 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f32 = fcmp uge <vscale x 8 x float> undef, undef
1588 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv16f32 = fcmp uge <vscale x 16 x float> undef, undef
1589 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v2f64 = fcmp uge <2 x double> undef, undef
1590 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v4f64 = fcmp uge <4 x double> undef, undef
1591 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %v8f64 = fcmp uge <8 x double> undef, undef
1592 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv1f64 = fcmp uge <vscale x 1 x double> undef, undef
1593 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv2f64 = fcmp uge <vscale x 2 x double> undef, undef
1594 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv4f64 = fcmp uge <vscale x 4 x double> undef, undef
1595 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 1 for instruction: %nxv8f64 = fcmp uge <vscale x 8 x double> undef, undef
1596 ; CHECK-NEXT:  Cost Model: Found an estimated cost of 0 for instruction: ret void
1598   %v2f16 = fcmp uge <2 x half> undef, undef
1599   %v4f16 = fcmp uge <4 x half> undef, undef
1600   %v8f16 = fcmp uge <8 x half> undef, undef
1601   %v16f16 = fcmp uge <16 x half> undef, undef
1603   %nxv1f16 = fcmp uge <vscale x 1 x half> undef, undef
1604   %nxv2f16 = fcmp uge <vscale x 2 x half> undef, undef
1605   %nxv4f16 = fcmp uge <vscale x 4 x half> undef, undef
1606   %nxv8f16 = fcmp uge <vscale x 8 x half> undef, undef
1607   %nxv16f16 = fcmp uge <vscale x 16 x half> undef, undef
1609   %v2f32 = fcmp uge <2 x float> undef, undef
1610   %v4f32 = fcmp uge <4 x float> undef, undef
1611   %v8f32 = fcmp uge <8 x float> undef, undef
1612   %v16f32 = fcmp uge <16 x float> undef, undef
1614   %nxv1f32 = fcmp uge <vscale x 1 x float> undef, undef
1615   %nxv2f32 = fcmp uge <vscale x 2 x float> undef, undef
1616   %nxv4f32 = fcmp uge <vscale x 4 x float> undef, undef
1617   %nxv8f32 = fcmp uge <vscale x 8 x float> undef, undef
1618   %nxv16f32 = fcmp uge <vscale x 16 x float> undef, undef
1620   %v2f64 = fcmp uge <2 x double> undef, undef
1621   %v4f64 = fcmp uge <4 x double> undef, undef
1622   %v8f64 = fcmp uge <8 x double> undef, undef
1624   %nxv1f64 = fcmp uge <vscale x 1 x double> undef, undef
1625   %nxv2f64 = fcmp uge <vscale x 2 x double> undef, undef
1626   %nxv4f64 = fcmp uge <vscale x 4 x double> undef, undef
1627   %nxv8f64 = fcmp uge <vscale x 8 x double> undef, undef
1629   ret void