> If we go with your patch or something similar, I would at least suggest 
> handling ZERO_EXTEND in a similar manner.  I suspect what you're really after 
> is whether or not the result of the extension is used in the second set and 
> never again.   So you may want to restrict to cases where the destination of 
> the first set dies in the second set.
>
> Whether or not you extend to other forms extensions may take (shift 
> pairs, logical and) would seem to be less important.  ie, it's unlikely 
> we'll see targets with zicond, but without zbb.

What I remembered is that the multiple-set conversion also takes care of the 
swap-idiom recognition which could also include zero/sign extensions.  We need 
to make sure to not disturb that but I'm not sure we even have a test for that 
right now.

Ideally we'd try all reasonable ifcvt approaches, cost them, and compare them 
afterwards but...

-- 
Regards
 Robin

Reply via email to