re PR rtl-optimization/20532 (Bad code for DImode left shifts by 31 and then 1)
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 24 Mar 2005 05:57:52 +0000 (05:57 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Thu, 24 Mar 2005 05:57:52 +0000 (05:57 +0000)
commitfab2f52cf844f20ec3b575d41ad7e5c2d817190d
tree0505157da8df3cd049d8bef6cf9e8998c96a240f
parent347669a079a7005bf211e57cba5db24d0b99f2f3
re PR rtl-optimization/20532 (Bad code for DImode left shifts by 31 and then 1)

gcc/ChangeLog:
PR rtl-optimization/20532
* simplify-rtx.c (simplify_binary_operation_1): Protect from
overflow when adding coefficients for PLUS or MINUS.
(simplify_binary_operation_1): Handle CONST_DOUBLE exact power of
two as multiplier.
gcc/testsuite/ChangeLog:
PR rtl-optimization/20532
* gcc.target/i386/badshift.c: New.

From-SVN: r96982
gcc/ChangeLog
gcc/simplify-rtx.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/badshift.c [new file with mode: 0644]