diff options
Diffstat (limited to 'llvm/test/Transforms/Reassociate/fast-basictest.ll')
| -rw-r--r-- | llvm/test/Transforms/Reassociate/fast-basictest.ll | 18 | 
1 files changed, 8 insertions, 10 deletions
| diff --git a/llvm/test/Transforms/Reassociate/fast-basictest.ll b/llvm/test/Transforms/Reassociate/fast-basictest.ll index 5d15ca46c00..0a3e40c87f9 100644 --- a/llvm/test/Transforms/Reassociate/fast-basictest.ll +++ b/llvm/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  } | 

