On Mon, Jan 02, 2023 at 09:20:33AM -0700, Jeff Law wrote: > > > In fact Raphael and I were about to submit a patch which takes advantage > > > of > > > that capability to improve the code slightly for risc-v. > > > > Just use a pattern with zero_extend or sign_extend around it or subreg of > > it? > If it were only that easy ;( In the bowels of the simplifications the > zero_extension turns into either a pair of shifts or an AND with a mask (I > forget which offhand). I'm sure we *can* work around this in the target, > but it'll be ugly. > > The documentation definitely needs to be updated. I looked at the whole > family a few weeks ago and my recollection was they all need to be fixed > (ffs, clrsb, clz, ctz, popcount & parity) if the defined semantics are that > the input and output operand modes must match.
When I look at the documentation of all the above, all of them have "The mode of @var{x} must be @var{m} or @code{VOIDmode}." Jakub