https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107563

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by hongtao Liu <liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:a71f90c5a7ae2942083921033cb23dcd63e70525

commit r15-499-ga71f90c5a7ae2942083921033cb23dcd63e70525
Author: Levy Hsu <ad...@levyhsu.com>
Date:   Thu May 9 16:50:56 2024 +0800

    x86: Add 3-instruction subroutine vector shift for V16QI in
ix86_expand_vec_perm_const_1 [PR107563]

    Hi All

    We've introduced a new subroutine in ix86_expand_vec_perm_const_1
    to optimize vector shifting for the V16QI type on x86.
    This patch uses a three-instruction sequence psrlw, psllw, and por
    to handle specific vector shuffle operations more efficiently.
    The change aims to improve assembly code generation for configurations
    supporting SSE2.

    Bootstrapped and tested on x86_64-linux-gnu, OK for trunk?

    Best
    Levy

    gcc/ChangeLog:

            PR target/107563
            * config/i386/i386-expand.cc (expand_vec_perm_psrlw_psllw_por): New
            subroutine.
            (ix86_expand_vec_perm_const_1): Call
expand_vec_perm_psrlw_psllw_por.

    gcc/testsuite/ChangeLog:

            PR target/107563
            * g++.target/i386/pr107563-a.C: New test.
            * g++.target/i386/pr107563-b.C: New test.
  • [Bug target/107563] __builtin_s... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to