[PATCH] D34579: Fold fneg and fabs like multiplications

Andrew Pinski via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 23 16:39:39 PDT 2017


apinski-cavium added a comment.

> (fmul X, (select (fcmp X > 0.0), -1.0, 1.0)) -> (fneg X)

Is not correct.

It should be:
(fmul X, (select (fcmp X > 0.0), -1.0, 1.0)) -> (fneg (fabs X))

If X was -2.0, (fmul X, (select (fcmp X > 0.0), -1.0, 1.0)) is (fmul -2.0, (select false, -1.0, 1.0) ) =>(fmul -2.0, 1.0 ) => -2.0.  Which is different from (fneg -2.0) => 2.0.


https://reviews.llvm.org/D34579





More information about the llvm-commits mailing list