Skip to content

Commit a565f9e

Browse files
committed
[RISCV] The test for vp.reduce.fminimum/fmaximum with fixed-length should stay in fixed-vectors-reduction-fp-vp.ll. (NFC)
1 parent 439de05 commit a565f9e

File tree

2 files changed

+50
-50
lines changed

2 files changed

+50
-50
lines changed

llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,3 +257,53 @@ define double @vpreduce_ord_fadd_v4f64(double %s, <4 x double> %v, <4 x i1> %m,
257257
%r = call double @llvm.vp.reduce.fadd.v4f64(double %s, <4 x double> %v, <4 x i1> %m, i32 %evl)
258258
ret double %r
259259
}
260+
261+
define float @vpreduce_fminimum_v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 zeroext %evl) {
262+
; CHECK-LABEL: vpreduce_fminimum_v4f32:
263+
; CHECK: # %bb.0:
264+
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
265+
; CHECK-NEXT: vmfne.vv v9, v8, v8, v0.t
266+
; CHECK-NEXT: feq.s a1, fa0, fa0
267+
; CHECK-NEXT: vcpop.m a2, v9, v0.t
268+
; CHECK-NEXT: xori a1, a1, 1
269+
; CHECK-NEXT: or a1, a2, a1
270+
; CHECK-NEXT: beqz a1, .LBB16_2
271+
; CHECK-NEXT: # %bb.1:
272+
; CHECK-NEXT: lui a0, 523264
273+
; CHECK-NEXT: fmv.w.x fa0, a0
274+
; CHECK-NEXT: ret
275+
; CHECK-NEXT: .LBB16_2:
276+
; CHECK-NEXT: vsetivli zero, 1, e32, m1, ta, ma
277+
; CHECK-NEXT: vfmv.s.f v9, fa0
278+
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
279+
; CHECK-NEXT: vfredmin.vs v9, v8, v9, v0.t
280+
; CHECK-NEXT: vfmv.f.s fa0, v9
281+
; CHECK-NEXT: ret
282+
%s = call float @llvm.vp.reduce.fminimum.v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 %evl)
283+
ret float %s
284+
}
285+
286+
define float @vpreduce_fmaximum_v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 zeroext %evl) {
287+
; CHECK-LABEL: vpreduce_fmaximum_v4f32:
288+
; CHECK: # %bb.0:
289+
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
290+
; CHECK-NEXT: vmfne.vv v9, v8, v8, v0.t
291+
; CHECK-NEXT: feq.s a1, fa0, fa0
292+
; CHECK-NEXT: vcpop.m a2, v9, v0.t
293+
; CHECK-NEXT: xori a1, a1, 1
294+
; CHECK-NEXT: or a1, a2, a1
295+
; CHECK-NEXT: beqz a1, .LBB17_2
296+
; CHECK-NEXT: # %bb.1:
297+
; CHECK-NEXT: lui a0, 523264
298+
; CHECK-NEXT: fmv.w.x fa0, a0
299+
; CHECK-NEXT: ret
300+
; CHECK-NEXT: .LBB17_2:
301+
; CHECK-NEXT: vsetivli zero, 1, e32, m1, ta, ma
302+
; CHECK-NEXT: vfmv.s.f v9, fa0
303+
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
304+
; CHECK-NEXT: vfredmax.vs v9, v8, v9, v0.t
305+
; CHECK-NEXT: vfmv.f.s fa0, v9
306+
; CHECK-NEXT: ret
307+
%s = call float @llvm.vp.reduce.fmaximum.v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 %evl)
308+
ret float %s
309+
}

llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -420,56 +420,6 @@ define float @vpreduce_fmaximum_nnan_nxv4f32(float %start, <vscale x 4 x float>
420420
ret float %s
421421
}
422422

423-
define float @vpreduce_fminimum_v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 zeroext %evl) {
424-
; CHECK-LABEL: vpreduce_fminimum_v4f32:
425-
; CHECK: # %bb.0:
426-
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
427-
; CHECK-NEXT: vmfne.vv v9, v8, v8, v0.t
428-
; CHECK-NEXT: feq.s a1, fa0, fa0
429-
; CHECK-NEXT: vcpop.m a2, v9, v0.t
430-
; CHECK-NEXT: xori a1, a1, 1
431-
; CHECK-NEXT: or a1, a2, a1
432-
; CHECK-NEXT: beqz a1, .LBB26_2
433-
; CHECK-NEXT: # %bb.1:
434-
; CHECK-NEXT: lui a0, 523264
435-
; CHECK-NEXT: fmv.w.x fa0, a0
436-
; CHECK-NEXT: ret
437-
; CHECK-NEXT: .LBB26_2:
438-
; CHECK-NEXT: vsetivli zero, 1, e32, m1, ta, ma
439-
; CHECK-NEXT: vfmv.s.f v9, fa0
440-
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
441-
; CHECK-NEXT: vfredmin.vs v9, v8, v9, v0.t
442-
; CHECK-NEXT: vfmv.f.s fa0, v9
443-
; CHECK-NEXT: ret
444-
%s = call float @llvm.vp.reduce.fminimum.v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 %evl)
445-
ret float %s
446-
}
447-
448-
define float @vpreduce_fmaximum_v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 zeroext %evl) {
449-
; CHECK-LABEL: vpreduce_fmaximum_v4f32:
450-
; CHECK: # %bb.0:
451-
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
452-
; CHECK-NEXT: vmfne.vv v9, v8, v8, v0.t
453-
; CHECK-NEXT: feq.s a1, fa0, fa0
454-
; CHECK-NEXT: vcpop.m a2, v9, v0.t
455-
; CHECK-NEXT: xori a1, a1, 1
456-
; CHECK-NEXT: or a1, a2, a1
457-
; CHECK-NEXT: beqz a1, .LBB27_2
458-
; CHECK-NEXT: # %bb.1:
459-
; CHECK-NEXT: lui a0, 523264
460-
; CHECK-NEXT: fmv.w.x fa0, a0
461-
; CHECK-NEXT: ret
462-
; CHECK-NEXT: .LBB27_2:
463-
; CHECK-NEXT: vsetivli zero, 1, e32, m1, ta, ma
464-
; CHECK-NEXT: vfmv.s.f v9, fa0
465-
; CHECK-NEXT: vsetvli zero, a0, e32, m1, ta, ma
466-
; CHECK-NEXT: vfredmax.vs v9, v8, v9, v0.t
467-
; CHECK-NEXT: vfmv.f.s fa0, v9
468-
; CHECK-NEXT: ret
469-
%s = call float @llvm.vp.reduce.fmaximum.v4f32(float %start, <4 x float> %val, <4 x i1> %m, i32 %evl)
470-
ret float %s
471-
}
472-
473423
define float @vpreduce_fadd_fpext_vp_nxv1f16_nxv1f32(float %s, <vscale x 1 x half> %v, <vscale x 1 x i1> %m, i32 zeroext %evl) {
474424
; CHECK-LABEL: vpreduce_fadd_fpext_vp_nxv1f16_nxv1f32:
475425
; CHECK: # %bb.0:

0 commit comments

Comments
 (0)