diff options
author | Hu, Lin1 <lin1.hu@intel.com> | 2023-01-16 11:23:09 +0800 |
---|---|---|
committer | Haochen Jiang <haochen.jiang@intel.com> | 2023-04-20 09:30:40 +0800 |
commit | c2dac2e5fbbcdda013aa7b0609d579abec8120ec (patch) | |
tree | bc4bfe6629d8ffe9c511394108c8062d032c5e60 /gcc/tree-vect-patterns.cc | |
parent | cf0d9dbc091af3ea28432dd7fff08a6e6c6659d8 (diff) | |
download | gcc-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