https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101021
Uroš Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2021-06-11
Ever confirmed|0 |1
Assignee|unassigned at gcc dot gnu.org |ubizjak at gmail dot com
Status|UNCONFIRMED |ASSIGNED
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Created attachment 50982
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50982&action=edit
Proposed patch
Effectively one liner patch with:
+ /* Try to avoid variable permutation instruction. */
+ if (canonicalize_vector_int_perm (d, &nd) && expand_vec_perm_1 (&nd))
+ return false;
in a strategic place.
Survives:
GCC_TEST_RUN_EXPENSIVE=1 make check-gcc RUNTESTFLAGS='--target_board=unix/-mavx
dg-torture.exp=vshuf*.c'