[Bug target/91560] Try harder for AVX non-AVX2 cross-lane permutations
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Aug 29 09:23:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91560
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Thu Aug 29 09:22:57 2019
New Revision: 275027
URL: https://gcc.gnu.org/viewcvs?rev=275027&root=gcc&view=rev
Log:
PR target/91560
* config/i386/i386-expand.c (expand_vec_perm_movs,
expand_vec_perm_blend, expand_vec_perm_vpermil,
expand_vec_perm_pshufb, expand_vec_perm_1,
expand_vec_perm_pshuflw_pshufhw, expand_vec_perm_palignr,
expand_vec_perm_interleave2, expand_vec_perm_vpermq_perm_1,
expand_vec_perm_vperm2f128, expand_vec_perm_interleave3,
expand_vec_perm_vperm2f128_vblend, expand_vec_perm_2vperm2f128_vshuf,
expand_vec_perm_even_odd, expand_vec_perm_broadcast): Adjust function
comments - replace ix86_expand_vec_perm_builtin_1 with
ix86_expand_vec_perm_const_1.
(expand_vec_perm2_vperm2f128_vblend): New function.
(ix86_expand_vec_perm_const_1): New forward declaration. Call
expand_vec_perm2_vperm2f128_vblend as last resort.
(canonicalize_perm): Formatting fix.
* gcc.dg/torture/vshuf-8.inc: Add two further permutations.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386-expand.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/vshuf-8.inc
More information about the Gcc-bugs
mailing list