On 15/12/2014 17:24, Segher Boessenkool wrote: > On Mon, Dec 15, 2014 at 04:51:14PM +0100, Paolo Bonzini wrote: >> Random questions: >> >> 1) did you check that it never triggers on e.g. an x86 bootstrap, and >> that it doesn't trigger too often on PPC64? > > I have checked on my largish connection of tests for the carry insns > on PowerPC, and only two (related) transforms are disabled, and they > aren't too important anyway. Well, and the bad transforms are disabled, > only just two of-em but much more frequent (long long x; x--;). > > I haven't checked on x86, but it's a bugfix: don't do things that blow up!
I agree---I just want to be sure of the extent of the change. > [ That testcase, -m32: > > long long addSH(long long a, unsigned long b) > { > return a + ((unsigned long long)b << 32); > } > > results in addic 4,4,0 ; addze 3,5 while it could just be add 3,5 ] Ah, that's a pity. But breaking x-- is much worse. >> 2) if it triggers rarely, should combine just try and give a new UID to >> i1? > > That should in principle works, sure. Seems too dangerous for stage3 > though. Indeed. Just thinking about it for 5.1. Paolo