OSDN Git Service

[NFC][Reassociate] Fix mistake in 468b2ad
authorCameron McInally <cameron.mcinally@nyu.edu>
Wed, 5 Jun 2019 18:50:07 +0000 (18:50 +0000)
committerCameron McInally <cameron.mcinally@nyu.edu>
Wed, 5 Jun 2019 18:50:07 +0000 (18:50 +0000)
Missed 2 'fast fsub(0.0,X) -> fneg(X)' changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362631 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/Reassociate/fast-basictest.ll

index 5d15ca4..0a3e40c 100644 (file)
@@ -541,20 +541,18 @@ define float @test17(float %a, float %b, float %z) {
   ret float %g
 }
 
-; FIXME: This reassociation is not working.
 define float @test17_unary_fneg(float %a, float %b, float %z) {
 ; CHECK-LABEL: @test17_unary_fneg(
-; CHECK-NEXT:    [[E:%.*]] = fmul fast float [[A:%.*]], -1.234500e+04
-; CHECK-NEXT:    [[F:%.*]] = fmul fast float [[E]], [[B:%.*]]
-; CHECK-NEXT:    [[TMP1:%.*]] = fmul fast float [[F]], [[Z:%.*]]
-; CHECK-NEXT:    [[G:%.*]] = fsub fast float -0.000000e+00, [[TMP1]]
-; CHECK-NEXT:    ret float [[G]]
+; CHECK-NEXT:    [[D:%.*]] = fmul fast float [[A:%.*]], 1.234500e+04
+; CHECK-NEXT:    [[E:%.*]] = fmul fast float [[D]], [[B:%.*]]
+; CHECK-NEXT:    [[TMP1:%.*]] = fmul fast float [[E]], [[Z:%.*]]
+; CHECK-NEXT:    ret float [[TMP1]]
 ;
   %c = fneg fast float %z
   %d = fmul fast float %a, %b
   %e = fmul fast float %c, %d
   %f = fmul fast float %e, 1.234500e+04
-  %g = fsub fast float 0.000000e+00, %f
+  %g = fneg fast float %f
   ret float %g
 }
 
@@ -592,14 +590,14 @@ define float @test18(float %a, float %b, float %z) {
 define float @test18_unary_fneg(float %a, float %b, float %z) {
 ; CHECK-LABEL: @test18_unary_fneg(
 ; CHECK-NEXT:    [[C:%.*]] = fmul fast float [[Z:%.*]], -4.000000e+01
-; CHECK-NEXT:    [[TMP1:%.*]] = fmul fast float [[C]], [[A:%.*]]
-; CHECK-NEXT:    [[F:%.*]] = fsub fast float -0.000000e+00, [[TMP1]]
+; CHECK-NEXT:    [[E:%.*]] = fmul fast float [[C]], [[A:%.*]]
+; CHECK-NEXT:    [[F:%.*]] = fneg fast float [[E]]
 ; CHECK-NEXT:    ret float [[F]]
 ;
   %d = fmul fast float %z, 4.000000e+01
   %c = fneg fast float %d
   %e = fmul fast float %a, %c
-  %f = fsub fast float 0.000000e+00, %e
+  %f = fneg fast float %e
   ret float %f
 }