On Wed, Nov 09, 2016 at 09:30:59AM +0100, Eric Botcazou wrote: > > This can also happen if a splitter in the MD uses nonzero_bits (for > > example). I tried to make the splitting code in combine save and restore > > the i2dest reg_stat info, but that causes one of the acats tests to fail. > > Could you elaborate? Did you try to temporarily invalidate it, e.g. by means > of last_set_label, or something more involved?
You need more than that, e.g. reg_nonzero_bits_for_combine looks at the nonzero_bits field no matter what else. So I set all fields to "safe" values and restored them later (if no combination is done). But this fails in acats c66002c (all other tests for all languages work fine). 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. Ideally reg_stat will just go away, but that will not happen soon. Segher