@@ -41,7 +41,7 @@ define float @fmul_fneg(float %x) {
41
41
42
42
define float @fmul_fsub_fmf (float %x ) {
43
43
; CHECK-LABEL: @fmul_fsub_fmf(
44
- ; CHECK-NEXT: [[R:%.*]] = fmul float [[X:%.*]], -4.200000e+01
44
+ ; CHECK-NEXT: [[R:%.*]] = fmul reassoc nsz float [[X:%.*]], -4.200000e+01
45
45
; CHECK-NEXT: ret float [[R]]
46
46
;
47
47
%m = fmul float %x , 42 .0
@@ -51,7 +51,7 @@ define float @fmul_fsub_fmf(float %x) {
51
51
52
52
define float @fmul_fneg_fmf (float %x ) {
53
53
; CHECK-LABEL: @fmul_fneg_fmf(
54
- ; CHECK-NEXT: [[R:%.*]] = fmul float [[X:%.*]], -4.200000e+01
54
+ ; CHECK-NEXT: [[R:%.*]] = fmul reassoc nsz float [[X:%.*]], -4.200000e+01
55
55
; CHECK-NEXT: ret float [[R]]
56
56
;
57
57
%m = fmul float %x , 42 .0
@@ -1131,7 +1131,8 @@ define float @test_fsub_ninf_mul_with_anyzero(float %a) {
1131
1131
1132
1132
define float @test_fneg_nnan_mul_with_anyzero (float %a ) {
1133
1133
; CHECK-LABEL: @test_fneg_nnan_mul_with_anyzero(
1134
- ; CHECK-NEXT: [[F2:%.*]] = fmul ninf float [[A:%.*]], -0.000000e+00
1134
+ ; CHECK-NEXT: [[TMP1:%.*]] = fneg nnan float [[A:%.*]]
1135
+ ; CHECK-NEXT: [[F2:%.*]] = call nnan float @llvm.copysign.f32(float 0.000000e+00, float [[TMP1]])
1135
1136
; CHECK-NEXT: ret float [[F2]]
1136
1137
;
1137
1138
%f1 = fmul ninf float %a , 0 .000000
@@ -1141,7 +1142,7 @@ define float @test_fneg_nnan_mul_with_anyzero(float %a) {
1141
1142
1142
1143
define float @test_fneg_nsz_mul_with_anyzero (float %a ) {
1143
1144
; CHECK-LABEL: @test_fneg_nsz_mul_with_anyzero(
1144
- ; CHECK-NEXT: [[F2:%.*]] = fmul ninf float [[A:%.*]], -0.000000e+00
1145
+ ; CHECK-NEXT: [[F2:%.*]] = fmul nsz float [[A:%.*]], -0.000000e+00
1145
1146
; CHECK-NEXT: ret float [[F2]]
1146
1147
;
1147
1148
%f1 = fmul ninf float %a , 0 .000000
@@ -1192,7 +1193,7 @@ define <2 x float> @test_fneg_ninf_mul_nsz_with_vec_const(<2 x float> %a) {
1192
1193
1193
1194
define <2 x float > @test_fneg_nnan_ninf_mul_with_vec_const (<2 x float > %a ) {
1194
1195
; CHECK-LABEL: @test_fneg_nnan_ninf_mul_with_vec_const(
1195
- ; CHECK-NEXT: [[F2:%.*]] = fmul <2 x float> [[A:%.*]], <float -0.000000e+00, float 0.000000e+00>
1196
+ ; CHECK-NEXT: [[F2:%.*]] = fmul nnan <2 x float> [[A:%.*]], <float -0.000000e+00, float 0.000000e+00>
1196
1197
; CHECK-NEXT: ret <2 x float> [[F2]]
1197
1198
;
1198
1199
%f1 = fmul <2 x float > %a , <float 0 .000000 , float -0 .000000 >
0 commit comments