From: Cameron McInally Date: Wed, 5 Jun 2019 18:50:07 +0000 (+0000) Subject: [NFC][Reassociate] Fix mistake in 468b2ad X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9c197ebb5fd42fef13644d6524828a94debcb32e;p=llvm [NFC][Reassociate] Fix mistake in 468b2ad 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 --- diff --git a/test/Transforms/Reassociate/fast-basictest.ll b/test/Transforms/Reassociate/fast-basictest.ll index 5d15ca46c00..0a3e40c87f9 100644 --- a/test/Transforms/Reassociate/fast-basictest.ll +++ b/test/Transforms/Reassociate/fast-basictest.ll @@ -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 }