On Wed, Oct 17, 2012 at 6:54 AM, Steven Bosscher <stevenb....@gmail.com> wrote: > On Tue, Oct 16, 2012 at 1:38 PM, Paolo Bonzini wrote: >>>> Bottom line: This is a bug in df_kill_notes. >> >> Yep, and it could cause wrong code generation, couldn't it? Because the >> new (reg:DI 72) is obviously not equal to (plus:DI (reg:DI 72) >> (const_int 24)), but it could be propagated to subsequent insns. > > Right. > > >> So I think this patch should be backported to all release branches after >> regstrapping. > > Agreed, but let's wait a few days at least to see what happens with > the patch on the trunk. > > >> Ok after bootstrap, regtest and checking that it actually fixes the bug. > > I made sure of that before posting the patch ;-) > > Bootstrap®test is running on x86_64-unknown-linux-gnu and > powerpc64-unknown-linux-gnu. I'll commit the patch tomorrow if there > are no test suite regressions. > > Well done to us all for probing until we found the root cause of this bug! >
Hi Jan, For the test case: main() { configure2(); } Please make main return ZERO by default. When cross testing with qemu/simulator, the wrap exit checks whether the case by verifying the return value. For ARM target, R0 is checked while it may be clobbered(thus non-ZERO) if main does not return any value, which causes failure of test case. Thanks very much. -- Best Regards.