Fold more shuffle builtins to VEC_PERM_EXPR.
authorliuhongt <hongtao.liu@intel.com>
Fri, 11 Dec 2020 11:02:43 +0000 (19:02 +0800)
committerliuhongt <hongtao.liu@intel.com>
Fri, 27 Aug 2021 00:50:49 +0000 (08:50 +0800)
commit0fa4787bf34b173ce6f198e99b6f6dd8a3f98014
treee2732a103a590801e75ec68d2a85a7db802f881d
parentccc191454304cc64798585fc0c903f54f355d50b
Fold more shuffle builtins to VEC_PERM_EXPR.

A follow-up to https://gcc.gnu.org/pipermail/gcc-patches/2019-May/521983.html

gcc/
PR target/98167
PR target/43147
* config/i386/i386.c (ix86_gimple_fold_builtin): Fold
IX86_BUILTIN_SHUFPD512, IX86_BUILTIN_SHUFPS512,
IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS,
IX86_BUILTIN_SHUFPS256.
(ix86_masked_all_ones): New function.

gcc/testsuite/
* gcc.target/i386/avx512f-vshufpd-1.c: Adjust testcase.
* gcc.target/i386/avx512f-vshufps-1.c: Adjust testcase.
* gcc.target/i386/pr43147.c: New test.
gcc/config/i386/i386.c
gcc/testsuite/gcc.target/i386/avx512f-vshufpd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vshufps-1.c
gcc/testsuite/gcc.target/i386/pr43147.c [new file with mode: 0644]