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

--- Comment #14 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to luoxhu from comment #13)
> It is not visible in combine due to the constant data is in *.LC0 and

combine can see things in the constant pool in various ways though (just
like many other parts of the compiler).  But yeah, unspecs are a big
hurdle to optimisation always.  If we would express this as some "real"
RTL we would need a few variants: one that takes only one register as
data input and another that takes two; one that has all permutation
indices in range and another that masks them; and maybe a few more.

Reply via email to