Hi! On Tue, Dec 22, 2020 at 04:08:26PM +0800, Kewen.Lin wrote: > This patch is to make unsigned int vector init go with > rldimi to merge two integers instead of shift and ior. > > I tried to use nonzero_bits in md file to make it more > general, but the testing shows it isn't doable. The > reason is that some passes would replace some pseudos > with other pseudos and do the recog again, but at that > time the nonzero_bits could get rough information and > lead the recog fails unexpectedly.
Aha. So nonzero_bits is unusable for most purposes as well. Great :-/ > btw, the test case would reply on the combine patch[1]. Can you make a different testcase perhaps? This patch looks fine otherwise. (Ideally the compiler would just form those insert insns itself, of course. Why doesn't that work? This is important for quite a lot of code, we really can advantageously use the rl*imi insns often!) Segher