diff options
author | liuhongt <hongtao.liu@intel.com> | 2022-01-17 10:47:46 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-01-20 16:51:10 +0800 |
commit | 8bc700f4c3fbe405413db02281ef2918bfa831fc (patch) | |
tree | 02d82c92a7bc07f91bbf78f037849a625a26be80 /libgo/go | |
parent | ad4188f8385f86cc04806fb0e26c7da1f5f655b8 (diff) | |
download | gcc-8bc700f4c3fbe405413db02281ef2918bfa831fc.zip gcc-8bc700f4c3fbe405413db02281ef2918bfa831fc.tar.gz gcc-8bc700f4c3fbe405413db02281ef2918bfa831fc.tar.bz2 |
Enhance vec_pack_trunc for integral mode mask.
For testcase in PR, the patch supports QI:4 -> HI:16 pack with
multi steps(first pack QI:4 -> QI:8 through vec_pack_sbool_trunc_qi,
then pack QI:8 -> HI:16 through vec_pack_trunc_hi).
Similar for QI:2 -> HI:16 which is test4 in mask-pack-prefer-128.c.
gcc/ChangeLog:
PR target/103771
* tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
integral mode mask pack by multi steps which takes
vec_pack_sbool_trunc_optab as start when elements number is
less than BITS_PER_UNITS.
gcc/testsuite/ChangeLog:
* gcc.target/i386/mask-pack-prefer128.c: New test.
* gcc.target/i386/mask-pack-prefer256.c: New test.
* gcc.target/i386/pr103771.c: New test.
Diffstat (limited to 'libgo/go')
0 files changed, 0 insertions, 0 deletions