@@ -10,9 +10,7 @@ define float @pred_fadda_nxv2f32(float %x, <vscale x 2 x float> %y, <vscale x 2
10
10
; CHECK-NEXT: fadda s0, p0, s0, z1.s
11
11
; CHECK-NEXT: // kill: def $s0 killed $s0 killed $z0
12
12
; CHECK-NEXT: ret
13
- %i = insertelement <vscale x 2 x float > poison, float -0 .000000e+00 , i32 0
14
- %minus0 = shufflevector <vscale x 2 x float > %i , <vscale x 2 x float > poison, <vscale x 2 x i32 > zeroinitializer
15
- %sel = select <vscale x 2 x i1 > %mask , <vscale x 2 x float > %y , <vscale x 2 x float > %minus0
13
+ %sel = select <vscale x 2 x i1 > %mask , <vscale x 2 x float > %y , <vscale x 2 x float > splat(float -0 .000000e+00 )
16
14
%fadda = call float @llvm.vector.reduce.fadd.nxv2f32 (float %x , <vscale x 2 x float > %sel )
17
15
ret float %fadda
18
16
}
@@ -24,9 +22,7 @@ define float @pred_fadda_nxv4f32(float %x, <vscale x 4 x float> %y, <vscale x 4
24
22
; CHECK-NEXT: fadda s0, p0, s0, z1.s
25
23
; CHECK-NEXT: // kill: def $s0 killed $s0 killed $z0
26
24
; CHECK-NEXT: ret
27
- %i = insertelement <vscale x 4 x float > poison, float -0 .000000e+00 , i32 0
28
- %minus0 = shufflevector <vscale x 4 x float > %i , <vscale x 4 x float > poison, <vscale x 4 x i32 > zeroinitializer
29
- %sel = select <vscale x 4 x i1 > %mask , <vscale x 4 x float > %y , <vscale x 4 x float > %minus0
25
+ %sel = select <vscale x 4 x i1 > %mask , <vscale x 4 x float > %y , <vscale x 4 x float > splat(float -0 .000000e+00 )
30
26
%fadda = call float @llvm.vector.reduce.fadd.nxv4f32 (float %x , <vscale x 4 x float > %sel )
31
27
ret float %fadda
32
28
}
@@ -38,9 +34,7 @@ define double @pred_fadda_nxv2f64(double %x, <vscale x 2 x double> %y, <vscale x
38
34
; CHECK-NEXT: fadda d0, p0, d0, z1.d
39
35
; CHECK-NEXT: // kill: def $d0 killed $d0 killed $z0
40
36
; CHECK-NEXT: ret
41
- %i = insertelement <vscale x 2 x double > poison, double -0 .000000e+00 , i32 0
42
- %minus0 = shufflevector <vscale x 2 x double > %i , <vscale x 2 x double > poison, <vscale x 2 x i32 > zeroinitializer
43
- %sel = select <vscale x 2 x i1 > %mask , <vscale x 2 x double > %y , <vscale x 2 x double > %minus0
37
+ %sel = select <vscale x 2 x i1 > %mask , <vscale x 2 x double > %y , <vscale x 2 x double > splat(double -0 .000000e+00 )
44
38
%fadda = call double @llvm.vector.reduce.fadd.nxv2f64 (double %x , <vscale x 2 x double > %sel )
45
39
ret double %fadda
46
40
}
@@ -52,9 +46,7 @@ define half @pred_fadda_nxv2f16(half %x, <vscale x 2 x half> %y, <vscale x 2 x i
52
46
; CHECK-NEXT: fadda h0, p0, h0, z1.h
53
47
; CHECK-NEXT: // kill: def $h0 killed $h0 killed $z0
54
48
; CHECK-NEXT: ret
55
- %i = insertelement <vscale x 2 x half > poison, half -0 .000000e+00 , i32 0
56
- %minus0 = shufflevector <vscale x 2 x half > %i , <vscale x 2 x half > poison, <vscale x 2 x i32 > zeroinitializer
57
- %sel = select <vscale x 2 x i1 > %mask , <vscale x 2 x half > %y , <vscale x 2 x half > %minus0
49
+ %sel = select <vscale x 2 x i1 > %mask , <vscale x 2 x half > %y , <vscale x 2 x half > splat(half -0 .000000e+00 )
58
50
%fadda = call half @llvm.vector.reduce.fadd.nxv2f16 (half %x , <vscale x 2 x half > %sel )
59
51
ret half %fadda
60
52
}
@@ -66,9 +58,7 @@ define half @pred_fadda_nxv4f16(half %x, <vscale x 4 x half> %y, <vscale x 4 x i
66
58
; CHECK-NEXT: fadda h0, p0, h0, z1.h
67
59
; CHECK-NEXT: // kill: def $h0 killed $h0 killed $z0
68
60
; CHECK-NEXT: ret
69
- %i = insertelement <vscale x 4 x half > poison, half -0 .000000e+00 , i32 0
70
- %minus0 = shufflevector <vscale x 4 x half > %i , <vscale x 4 x half > poison, <vscale x 4 x i32 > zeroinitializer
71
- %sel = select <vscale x 4 x i1 > %mask , <vscale x 4 x half > %y , <vscale x 4 x half > %minus0
61
+ %sel = select <vscale x 4 x i1 > %mask , <vscale x 4 x half > %y , <vscale x 4 x half > splat(half -0 .000000e+00 )
72
62
%fadda = call half @llvm.vector.reduce.fadd.nxv4f16 (half %x , <vscale x 4 x half > %sel )
73
63
ret half %fadda
74
64
}
@@ -80,9 +70,7 @@ define half @pred_fadda_nxv8f16(half %x, <vscale x 8 x half> %y, <vscale x 8 x i
80
70
; CHECK-NEXT: fadda h0, p0, h0, z1.h
81
71
; CHECK-NEXT: // kill: def $h0 killed $h0 killed $z0
82
72
; CHECK-NEXT: ret
83
- %i = insertelement <vscale x 8 x half > poison, half -0 .000000e+00 , i32 0
84
- %minus0 = shufflevector <vscale x 8 x half > %i , <vscale x 8 x half > poison, <vscale x 8 x i32 > zeroinitializer
85
- %sel = select <vscale x 8 x i1 > %mask , <vscale x 8 x half > %y , <vscale x 8 x half > %minus0
73
+ %sel = select <vscale x 8 x i1 > %mask , <vscale x 8 x half > %y , <vscale x 8 x half > splat(half -0 .000000e+00 )
86
74
%fadda = call half @llvm.vector.reduce.fadd.nxv8f16 (half %x , <vscale x 8 x half > %sel )
87
75
ret half %fadda
88
76
}
0 commit comments