On Wed, Nov 09, 2016 at 10:28:37AM +0100, Eric Botcazou wrote: > > You need more than that, e.g. reg_nonzero_bits_for_combine looks at the > > nonzero_bits field no matter what else. > > Right, this one is sticky, although you can invalidate it globally by means > of > nonzero_sign_valid AFAICS. > > > I didn't have the heart to look into this testcase breakage; the > > save/restore thing would make this already way over-complex code a lot > > more complex still, so I made a safer change instead. > > I agree that the save/restore approach is probably overkill but, on the other > hand, your change only papers over the issue so a big ??? comment is in order > if it goes in. I'd still think that we should try to invalidate if possible.
I think the better solution would be not to reuse i2dest at all, actually create a new register instead (we do have machinery for handling that). I'll put the ??? somewhere there. Thanks for looking, Segher