]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: Support [u]mul<mode>3_highpart for vector
authorKewen Lin <linkw@linux.ibm.com>
Tue, 20 Jul 2021 01:50:13 +0000 (20:50 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Tue, 20 Jul 2021 01:50:13 +0000 (20:50 -0500)
commit1c0d49b9ce9ab011fa77d4eac689fa1a038123ef
tree72a56c5504a35a7a8293552024dad92dd28d9e9f
parenta1d27560770818c514ad1ad6683f89e1e1bcd0ec
rs6000: Support [u]mul<mode>3_highpart for vector

This patch is to make Power10 newly introduced vector
multiply high (part) instructions exploited in vectorized
loops, it renames existing define_insns as standard pattern
names.  It depends on that patch which enables vectorizer
to recog mul_highpart.

gcc/ChangeLog:

* config/rs6000/vsx.md (mulhs_<mode>): Rename to...
(smul<mode>3_highpart): ... this.
(mulhu_<mode>): Rename to...
(umul<mode>3_highpart): ... this.
* config/rs6000/rs6000-builtin.def (MULHS_V2DI, MULHS_V4SI,
MULHU_V2DI, MULHU_V4SI): Adjust.

gcc/testsuite/ChangeLog:

* gcc.target/powerpc/mul-vectorize-3.c: New test.
* gcc.target/powerpc/mul-vectorize-4.c: New test.
gcc/config/rs6000/rs6000-builtin.def
gcc/config/rs6000/vsx.md
gcc/testsuite/gcc.target/powerpc/mul-vectorize-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/mul-vectorize-4.c [new file with mode: 0644]