[Bug tree-optimization/61306] [4.10 Regression] wrong code at -Os and above on x86_64-linux-gnu
thopre01 at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Jun 11 10:05:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61306
--- Comment #6 from thopre01 at gcc dot gnu.org ---
Author: thopre01
Date: Wed Jun 11 10:04:33 2014
New Revision: 211444
URL: http://gcc.gnu.org/viewcvs?rev=211444&root=gcc&view=rev
Log:
2014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/61306
* tree-ssa-math-opts.c (struct symbolic_number): Store type of
expression instead of its size.
(do_shift_rotate): Adapt to change in struct symbolic_number. Return
false to prevent optimization when the result is unpredictable due to
arithmetic right shift of signed type with highest byte is set.
(verify_symbolic_number_p): Adapt to change in struct symbolic_number.
(init_symbolic_number): Likewise.
(find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization
when the result is unpredictable due to sign extension.
gcc/testsuite/
* gcc.c-torture/execute/pr61306-1.c: New test.
* gcc.c-torture/execute/pr61306-2.c: Likewise.
* gcc.c-torture/execute/pr61306-3.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr61306-1.c
trunk/gcc/testsuite/gcc.c-torture/execute/pr61306-2.c
trunk/gcc/testsuite/gcc.c-torture/execute/pr61306-3.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-math-opts.c
More information about the Gcc-bugs
mailing list