diff options
author | Cui, Lili <lili.cui@intel.com> | 2024-11-26 15:10:23 +0800 |
---|---|---|
committer | Cui, Lili <lili.cui@intel.com> | 2024-11-26 15:14:43 +0800 |
commit | 60b708a9c878aff9a76ec0d446ae63e6527327a6 (patch) | |
tree | 245336e7de82c341c760062f24c0d52e5b19729b /gcc/fortran/trans-expr.cc | |
parent | efb1d2e2368e60da3c691ee3cb510ee690d1fa2a (diff) | |
download | gcc-60b708a9c878aff9a76ec0d446ae63e6527327a6.zip gcc-60b708a9c878aff9a76ec0d446ae63e6527327a6.tar.gz gcc-60b708a9c878aff9a76ec0d446ae63e6527327a6.tar.bz2 |
Optimize 128-bit vector permutation with pand, pandn and por.
This patch introduces a new subroutine in ix86_expand_vec_perm_const_1.
On x86, use mixed constant permutation for V8HImode and V16QImode when
SSE2 is supported. This patch handles certain vector shuffle operations
more efficiently using pand, pandn, and por. This change is intended to
improve assembly code generation for configurations that support SSE2.
gcc/ChangeLog:
PR target/116675
* config/i386/i386-expand.cc (expand_vec_perm_pand_pandn_por):
New subroutine.
(ix86_expand_vec_perm_const_1): Call expand_vec_perm_pand_pandn_por.
gcc/testsuite/ChangeLog:
PR target/116675
* gcc.target/i386/pr116675.c: New test.
Diffstat (limited to 'gcc/fortran/trans-expr.cc')
0 files changed, 0 insertions, 0 deletions