https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114801

--- Comment #23 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Christophe Lyon from comment #22)
> Sure, that's what I'm worried about.
> 
> So we can:
> - leave this as-is for gcc-14 (known bug)
> 
> - commit what we discussed in #c15 #c16, (with an improved testcase as you
> mentioned on the list,) thus at least temporarily forcing canonicalization
> (preventing users from using 'weird' values)
> 
> - possibly revisit this for gcc-15 by handling predicates differently

This primarily needs to be ARM maintainer decision.

Anyway, if the predicate is really always a byte predicate, then perhaps best
representation would be to always use V16BImode for it and model it in the RTL
patterns as VEC_SELECT of a subreg of the actual operation to V16QImode (and
then subreg back).
That might accurately model what the hw does.
Or some UNSPECs with just HImode predicate and then hide what actually happens.

Reply via email to