mbox series

[0/3] Optimize __builtin_convertvector for x86-64-v4 and

Message ID 20240523063742.2333446-1-lin1.hu@intel.com
Headers show
Series Optimize __builtin_convertvector for x86-64-v4 and | expand

Message

Hu, Lin1 May 23, 2024, 6:37 a.m. UTC
These patches are a series of improved patches to the __builtin_convertvector
for x86-64-v4 and x86-64-v3.

I modified the first patch according to Richard's suggestion and send them out
together to show my complete modification of the function.

They are bootstrapped and regtested on x86_64-pc-linux-gnu.

BRs,
Lin

Hu, Lin1 (3):
  vect: generate suitable convert insn for int -> int, float -> float
    and int <-> float.
  vect: Support v4hi -> v4qi.
  vect: support direct conversion under x86-64-v3.

 gcc/config/i386/i386-expand.cc             |  47 +++-
 gcc/config/i386/i386-protos.h              |   3 +
 gcc/config/i386/mmx.md                     |  10 +
 gcc/config/i386/sse.md                     |  87 ++++++--
 gcc/testsuite/gcc.target/i386/pr107432-1.c | 244 +++++++++++++++++++++
 gcc/testsuite/gcc.target/i386/pr107432-2.c | 105 +++++++++
 gcc/testsuite/gcc.target/i386/pr107432-3.c |  55 +++++
 gcc/testsuite/gcc.target/i386/pr107432-4.c |  56 +++++
 gcc/testsuite/gcc.target/i386/pr107432-5.c |  72 ++++++
 gcc/testsuite/gcc.target/i386/pr107432-6.c | 152 +++++++++++++
 gcc/testsuite/gcc.target/i386/pr107432-7.c | 156 +++++++++++++
 gcc/testsuite/gcc.target/i386/pr107432-8.c |  73 ++++++
 gcc/testsuite/gcc.target/i386/pr107432-9.c | 121 ++++++++++
 gcc/testsuite/gcc.target/i386/pr92645-4.c  |   2 -
 gcc/tree-vect-generic.cc                   | 157 ++++++++++++-
 15 files changed, 1305 insertions(+), 35 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-1.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-2.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-3.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-4.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-5.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-6.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-7.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-8.c
 create mode 100644 gcc/testsuite/gcc.target/i386/pr107432-9.c