https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63302
--- Comment #7 from dave.anglin at bell dot net --- On 28-Sep-14, at 1:30 AM, zhenqiang.chen at arm dot com wrote: > I double checked the function optimize_range_tests_diff. Overall, I > think it > does the right thing. X86 and ARM work correctly. The ldil.c. > 169t.optimized is > > <bb 2>: > x_2 = ival_1(D) & -2147481601; > _8 = x_2 + 2147483648; > _9 = _8 & -2147483649; > _10 = _9 == 0; > _6 = (int) _10; > return _6; This is what I see on the trunk, but 4.9 is wrong. Possibly, there is a transformation after optimize_range_tests_diff where things go wrong on 4.9. Dave -- John David Anglin dave.ang...@bell.net