aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.cc
diff options
context:
space:
mode:
authorHu, Lin1 <lin1.hu@intel.com>2023-01-16 11:23:09 +0800
committerHaochen Jiang <haochen.jiang@intel.com>2023-04-20 09:30:40 +0800
commitc2dac2e5fbbcdda013aa7b0609d579abec8120ec (patch)
treebc4bfe6629d8ffe9c511394108c8062d032c5e60 /gcc/tree-vect-patterns.cc
parentcf0d9dbc091af3ea28432dd7fff08a6e6c6659d8 (diff)
downloadgcc-c2dac2e5fbbcdda013aa7b0609d579abec8120ec.zip
gcc-c2dac2e5fbbcdda013aa7b0609d579abec8120ec.tar.gz
gcc-c2dac2e5fbbcdda013aa7b0609d579abec8120ec.tar.bz2
Optimize vshuf{i,f}{32x4,64x2} ymm and vperm{i,f}128 ymm
vshuf{i,f}{32x4,64x2} ymm and vperm{i,f}128 ymm are 3 clk. We can optimze them to vblend, vmovaps when there's no cross-lane. gcc/ChangeLog: * config/i386/sse.md: Modify insn vperm{i,f} and vshuf{i,f}. gcc/testsuite/ChangeLog: * gcc.target/i386/avx512vl-vshuff32x4-1.c: Modify test. * gcc.target/i386/avx512vl-vshuff64x2-1.c: Ditto. * gcc.target/i386/avx512vl-vshufi32x4-1.c: Ditto. * gcc.target/i386/avx512vl-vshufi64x2-1.c: Ditto. * gcc.target/i386/opt-vperm-vshuf-1.c: New test. * gcc.target/i386/opt-vperm-vshuf-2.c: Ditto. * gcc.target/i386/opt-vperm-vshuf-3.c: Ditto.
Diffstat (limited to 'gcc/tree-vect-patterns.cc')
0 files changed, 0 insertions, 0 deletions