[Bug tree-optimization/66726] missed optimization, factor conversion out of COND_EXPR

schwab@linux-m68k.org gcc-bugzilla@gcc.gnu.org
Mon Jul 13 09:47:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66726

--- Comment #9 from Andreas Schwab <schwab@linux-m68k.org> ---
On m68k:

FAIL: gcc.dg/pr46309.c scan-tree-dump-times reassoc1 "Optimizing range tests
a_[0-9]*.D. -.1, 1. and -.3, 3.[\n\r]* into" 1
FAIL: gcc.dg/pr46309.c scan-tree-dump-times reassoc1 "Optimizing range tests
a_[0-9]*.D. -.1, 1. and -.2, 2.[\n\r]* into" 1
FAIL: gcc.dg/pr46309.c scan-tree-dump-times reassoc1 "Optimizing range tests
a_[0-9]*.D. -.0, 31. and -.64, 95.[\n\r]* into" 2

$ gcc/xgcc -Bgcc/ ../gcc/testsuite/gcc.dg/pr46309.c -O2
-fdump-tree-reassoc-details -S -o pr46309.s
$ grep -e "Optimizing range tests" -e into pr46309.c.*.reassoc1
Optimizing range tests a_2(D) -[1, 1] and -[2, 2] and -[3, 3] and -[4, 4]
 into (unsigned int) a_2(D) + 4294967295 > 3
Optimizing range tests a_2(D) -[1, 1] and -[2, 2] and -[3, 3] and -[4, 4]
 into (unsigned int) a_2(D) + 4294967295 > 3
Optimizing range tests a_2(D) -[0, 31] and -[64, 95]
 into (a_2(D) & 4294967231) > 31
Optimizing range tests a_2(D) -[128, 159] and -[192, 223]
 into (a_2(D) & 4294967231) + 4294967168 > 31



More information about the Gcc-bugs mailing list