simplify-rtx.c (comparison_result): New.
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 27 Sep 2007 11:29:10 +0000 (11:29 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Thu, 27 Sep 2007 11:29:10 +0000 (11:29 +0000)
commit3964148968ca36ed17304d0153e336d78cf0368b
tree23a8d0eec53000f05fefd8da7b1e7706f47ec2f4
parent6208170481d560900fd19e3b393c746fd8c0a6e2
simplify-rtx.c (comparison_result): New.

2007-09-04  Paolo Bonzini  <bonzini@gnu.org>

* simplify-rtx.c (comparison_result): New.
(simplify_const_relational_operation): Use it instead of the five
"equal|op[01]ltu?" variables; consequently remove redundant "else"s.
Improve bounds-checking optimizations; remove subsumed POPCOUNT
optimizations.  Extract nonzero_address_p optimizations into a
separate "if" together with optimizations where op1 is const0_rtx.
Optimize comparing an IOR with zero.  Simplify op0 RELOP op0 for
floating-point arguments too when appropriate.  Hoist test for ABS
outside the final switch statement.
* cse.c (fold_rtx): Don't look for an IOR equivalent of
folded_arg0 if we found a constant equivalent. Remove
transformations done in simplify-rtx.c for "op0 RELOP op0".

From-SVN: r128833
gcc/ChangeLog
gcc/cse.c
gcc/simplify-rtx.c