]> git.ipfire.org Git - thirdparty/gcc.git/commit
vect: support direct conversion under x86-64-v3.
authorHu, Lin1 <lin1.hu@intel.com>
Wed, 6 Mar 2024 11:58:48 +0000 (19:58 +0800)
committerHu, Lin1 <lin1.hu@intel.com>
Thu, 27 Jun 2024 08:02:11 +0000 (16:02 +0800)
commit4385dc97b0d28e54541eb2418d6e68fc672441d7
tree5225a523b2b63386004c12330ea625dbc796202d
parente5f8a39941f6f0f25dac88bd71fd368fb284a10f
vect: support direct conversion under x86-64-v3.

gcc/ChangeLog:

PR target/107432
* config/i386/i386-expand.cc (ix86_expand_trunc_with_avx2_noavx512f):
New function for generate a series of suitable insn.
* config/i386/i386-protos.h (ix86_expand_trunc_with_avx2_noavx512f):
Define new function.
* config/i386/sse.md: Extend trunc<mode><mode>2 for x86-64-v3.
(ssebytemode) Add V8HI.
(PMOV_DST_MODE_2_AVX2): New mode iterator.
(PMOV_SRC_MODE_3_AVX2): Ditto.
* config/i386/mmx.md
(trunc<mode><mmxhalfmodelower>2): Ditto.
(avx512vl_trunc<mode><mmxhalfmodelower>2): Ditto.
(truncv2si<mode>2): Ditto.
(avx512vl_truncv2si<mode>2): Ditto.
(mmxbytemode): New mode attr.

gcc/testsuite/ChangeLog:

PR target/107432
* gcc.target/i386/pr107432-8.c: New test.
* gcc.target/i386/pr107432-9.c: Ditto.
* gcc.target/i386/pr92645-4.c: Modify test.
gcc/config/i386/i386-expand.cc
gcc/config/i386/i386-protos.h
gcc/config/i386/mmx.md
gcc/config/i386/sse.md
gcc/testsuite/gcc.target/i386/pr107432-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr107432-9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/pr92645-4.c