aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.cc
diff options
context:
space:
mode:
authorCui, Lili <lili.cui@intel.com>2024-11-26 15:10:23 +0800
committerCui, Lili <lili.cui@intel.com>2024-11-26 15:14:43 +0800
commit60b708a9c878aff9a76ec0d446ae63e6527327a6 (patch)
tree245336e7de82c341c760062f24c0d52e5b19729b /gcc/fortran/trans-expr.cc
parentefb1d2e2368e60da3c691ee3cb510ee690d1fa2a (diff)
downloadgcc-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