You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
define <2 x float> @pow_sitofp_v2f32_const_base_2(<2 x i32> %x) {
147
-
; LDEXP-LABEL: define <2 x float> @pow_sitofp_v2f32_const_base_2(
148
-
; LDEXP-SAME: <2 x i32> [[X:%.*]]) {
149
-
; LDEXP-NEXT: [[EXP2:%.*]] = tail call <2 x float> @llvm.ldexp.v2f32.v2i32(<2 x float> <float 1.000000e+00, float 1.000000e+00>, <2 x i32> [[X]])
150
-
; LDEXP-NEXT: ret <2 x float> [[EXP2]]
151
-
;
152
-
; NOLDEXP-LABEL: define <2 x float> @pow_sitofp_v2f32_const_base_2(
153
-
; NOLDEXP-SAME: <2 x i32> [[X:%.*]]) {
154
-
; NOLDEXP-NEXT: [[ITOFP:%.*]] = sitofp <2 x i32> [[X]] to <2 x float>
155
-
; NOLDEXP-NEXT: [[POW:%.*]] = tail call <2 x float> @llvm.exp2.v2f32(<2 x float> [[ITOFP]])
156
-
; NOLDEXP-NEXT: ret <2 x float> [[POW]]
129
+
; CHECK-LABEL: define <2 x float> @pow_sitofp_v2f32_const_base_2(
130
+
; CHECK-SAME: <2 x i32> [[X:%.*]]) {
131
+
; CHECK-NEXT: [[EXP2:%.*]] = tail call <2 x float> @llvm.ldexp.v2f32.v2i32(<2 x float> <float 1.000000e+00, float 1.000000e+00>, <2 x i32> [[X]])
132
+
; CHECK-NEXT: ret <2 x float> [[EXP2]]
157
133
;
158
134
%itofp = sitofp <2 x i32> %xto <2 x float>
159
135
%pow = tailcall <2 x float> @llvm.pow.v2f32(<2 x float> <float2.000000e+00, float2.000000e+00>, <2 x float> %itofp)
@@ -199,67 +175,43 @@ define <2 x float> @pow_sitofp_v2f32_const_base_mixed_2(<2 x i32> %x) {
199
175
}
200
176
201
177
define <2 x float> @pow_sitofp_v2f32_const_base_2__flags(<2 x i32> %x) {
202
-
; LDEXP-LABEL: define <2 x float> @pow_sitofp_v2f32_const_base_2__flags(
203
-
; LDEXP-SAME: <2 x i32> [[X:%.*]]) {
204
-
; LDEXP-NEXT: [[EXP2:%.*]] = tail call nsz afn <2 x float> @llvm.ldexp.v2f32.v2i32(<2 x float> <float 1.000000e+00, float 1.000000e+00>, <2 x i32> [[X]])
205
-
; LDEXP-NEXT: ret <2 x float> [[EXP2]]
206
-
;
207
-
; NOLDEXP-LABEL: define <2 x float> @pow_sitofp_v2f32_const_base_2__flags(
208
-
; NOLDEXP-SAME: <2 x i32> [[X:%.*]]) {
209
-
; NOLDEXP-NEXT: [[ITOFP:%.*]] = sitofp <2 x i32> [[X]] to <2 x float>
210
-
; NOLDEXP-NEXT: [[POW:%.*]] = tail call nsz afn <2 x float> @llvm.exp2.v2f32(<2 x float> [[ITOFP]])
211
-
; NOLDEXP-NEXT: ret <2 x float> [[POW]]
178
+
; CHECK-LABEL: define <2 x float> @pow_sitofp_v2f32_const_base_2__flags(
179
+
; CHECK-SAME: <2 x i32> [[X:%.*]]) {
180
+
; CHECK-NEXT: [[EXP2:%.*]] = tail call nsz afn <2 x float> @llvm.ldexp.v2f32.v2i32(<2 x float> <float 1.000000e+00, float 1.000000e+00>, <2 x i32> [[X]])
181
+
; CHECK-NEXT: ret <2 x float> [[EXP2]]
212
182
;
213
183
%itofp = sitofp <2 x i32> %xto <2 x float>
214
184
%pow = tailcall nsz afn <2 x float> @llvm.pow.v2f32(<2 x float> <float2.000000e+00, float2.000000e+00>, <2 x float> %itofp)
215
185
ret <2 x float> %pow
216
186
}
217
187
218
188
define <vscale x 4 x float> @pow_sitofp_nxv4f32_const_base_2(<vscale x 4 x i32> %x) {
219
-
; LDEXP-LABEL: define <vscale x 4 x float> @pow_sitofp_nxv4f32_const_base_2(
220
-
; LDEXP-SAME: <vscale x 4 x i32> [[X:%.*]]) {
221
-
; LDEXP-NEXT: [[EXP2:%.*]] = tail call <vscale x 4 x float> @llvm.ldexp.nxv4f32.nxv4i32(<vscale x 4 x float> shufflevector (<vscale x 4 x float> insertelement (<vscale x 4 x float> poison, float 1.000000e+00, i64 0), <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer), <vscale x 4 x i32> [[X]])
222
-
; LDEXP-NEXT: ret <vscale x 4 x float> [[EXP2]]
223
-
;
224
-
; NOLDEXP-LABEL: define <vscale x 4 x float> @pow_sitofp_nxv4f32_const_base_2(
225
-
; NOLDEXP-SAME: <vscale x 4 x i32> [[X:%.*]]) {
226
-
; NOLDEXP-NEXT: [[ITOFP:%.*]] = sitofp <vscale x 4 x i32> [[X]] to <vscale x 4 x float>
227
-
; NOLDEXP-NEXT: [[POW:%.*]] = tail call <vscale x 4 x float> @llvm.exp2.nxv4f32(<vscale x 4 x float> [[ITOFP]])
228
-
; NOLDEXP-NEXT: ret <vscale x 4 x float> [[POW]]
189
+
; CHECK-LABEL: define <vscale x 4 x float> @pow_sitofp_nxv4f32_const_base_2(
190
+
; CHECK-SAME: <vscale x 4 x i32> [[X:%.*]]) {
191
+
; CHECK-NEXT: [[EXP2:%.*]] = tail call <vscale x 4 x float> @llvm.ldexp.nxv4f32.nxv4i32(<vscale x 4 x float> shufflevector (<vscale x 4 x float> insertelement (<vscale x 4 x float> poison, float 1.000000e+00, i64 0), <vscale x 4 x float> poison, <vscale x 4 x i32> zeroinitializer), <vscale x 4 x i32> [[X]])
192
+
; CHECK-NEXT: ret <vscale x 4 x float> [[EXP2]]
229
193
;
230
194
%itofp = sitofp <vscale x 4 x i32> %xto <vscale x 4 x float>
231
195
%pow = tailcall <vscale x 4 x float> @llvm.pow.nxv4f32(<vscale x 4 x float> splat (float2.0), <vscale x 4 x float> %itofp)
232
196
ret <vscale x 4 x float> %pow
233
197
}
234
198
235
199
define <2 x half> @pow_sitofp_v2f16_const_base_2(<2 x i32> %x) {
236
-
; LDEXP-LABEL: define <2 x half> @pow_sitofp_v2f16_const_base_2(
237
-
; LDEXP-SAME: <2 x i32> [[X:%.*]]) {
238
-
; LDEXP-NEXT: [[EXP2:%.*]] = tail call <2 x half> @llvm.ldexp.v2f16.v2i32(<2 x half> <half 0xH3C00, half 0xH3C00>, <2 x i32> [[X]])
239
-
; LDEXP-NEXT: ret <2 x half> [[EXP2]]
240
-
;
241
-
; NOLDEXP-LABEL: define <2 x half> @pow_sitofp_v2f16_const_base_2(
242
-
; NOLDEXP-SAME: <2 x i32> [[X:%.*]]) {
243
-
; NOLDEXP-NEXT: [[ITOFP:%.*]] = sitofp <2 x i32> [[X]] to <2 x half>
244
-
; NOLDEXP-NEXT: [[EXP2:%.*]] = tail call <2 x half> @llvm.exp2.v2f16(<2 x half> [[ITOFP]])
245
-
; NOLDEXP-NEXT: ret <2 x half> [[EXP2]]
200
+
; CHECK-LABEL: define <2 x half> @pow_sitofp_v2f16_const_base_2(
201
+
; CHECK-SAME: <2 x i32> [[X:%.*]]) {
202
+
; CHECK-NEXT: [[EXP2:%.*]] = tail call <2 x half> @llvm.ldexp.v2f16.v2i32(<2 x half> <half 0xH3C00, half 0xH3C00>, <2 x i32> [[X]])
203
+
; CHECK-NEXT: ret <2 x half> [[EXP2]]
246
204
;
247
205
%itofp = sitofp <2 x i32> %xto <2 x half>
248
206
%pow = tailcall <2 x half> @llvm.pow.v2f16(<2 x half> <half2.000000e+00, half2.000000e+00>, <2 x half> %itofp)
249
207
ret <2 x half> %pow
250
208
}
251
209
252
210
define <2 x double> @pow_sitofp_v2f64_const_base_2(<2 x i32> %x) {
253
-
; LDEXP-LABEL: define <2 x double> @pow_sitofp_v2f64_const_base_2(
254
-
; LDEXP-SAME: <2 x i32> [[X:%.*]]) {
255
-
; LDEXP-NEXT: [[EXP2:%.*]] = tail call <2 x double> @llvm.ldexp.v2f64.v2i32(<2 x double> <double 1.000000e+00, double 1.000000e+00>, <2 x i32> [[X]])
256
-
; LDEXP-NEXT: ret <2 x double> [[EXP2]]
257
-
;
258
-
; NOLDEXP-LABEL: define <2 x double> @pow_sitofp_v2f64_const_base_2(
259
-
; NOLDEXP-SAME: <2 x i32> [[X:%.*]]) {
260
-
; NOLDEXP-NEXT: [[ITOFP:%.*]] = sitofp <2 x i32> [[X]] to <2 x double>
261
-
; NOLDEXP-NEXT: [[EXP2:%.*]] = tail call <2 x double> @llvm.exp2.v2f64(<2 x double> [[ITOFP]])
262
-
; NOLDEXP-NEXT: ret <2 x double> [[EXP2]]
211
+
; CHECK-LABEL: define <2 x double> @pow_sitofp_v2f64_const_base_2(
212
+
; CHECK-SAME: <2 x i32> [[X:%.*]]) {
213
+
; CHECK-NEXT: [[EXP2:%.*]] = tail call <2 x double> @llvm.ldexp.v2f64.v2i32(<2 x double> <double 1.000000e+00, double 1.000000e+00>, <2 x i32> [[X]])
214
+
; CHECK-NEXT: ret <2 x double> [[EXP2]]
263
215
;
264
216
%itofp = sitofp <2 x i32> %xto <2 x double>
265
217
%pow = tailcall <2 x double> @llvm.pow.v2f64(<2 x double> <double2.000000e+00, double2.000000e+00>, <2 x double> %itofp)
@@ -333,16 +285,10 @@ define <2 x double> @pow_sitofp_v2f64_const_base_8(<2 x i32> %x) {
0 commit comments