]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: Add clobber and guard for vsx_stxvd2x4_le_const [PR116030]
authorJiufu Guo <guojiufu@linux.ibm.com>
Tue, 14 Jan 2025 00:16:16 +0000 (18:16 -0600)
committerPeter Bergner <bergner@linux.ibm.com>
Tue, 14 Jan 2025 00:19:25 +0000 (18:19 -0600)
commitf12bb6c26b86c616e4de8c542804cb5b5c9ebdc6
tree643b0709d2d429e639d35c81949971fc975d6280
parentf71fe877da75e9be746b6bbc27cea8007c83c983
rs6000: Add clobber and guard for vsx_stxvd2x4_le_const [PR116030]

Previously, vsx_stxvd2x4_le_const_<mode> was introduced for 'split1' pass,
so it is guarded by "can_create_pseudo_p ()".  While it would be possible
to match the pattern of this insn during/after RA, this insn could be
updated to make it work for split pass after RA.

And this insn would not be the best choice if the address has alignment like
"&(-16)", so "!altivec_indexed_or_indirect_operand" is added to guard this insn.

2025-01-13  Jiufu Guo  <guojiufu@linux.ibm.com>

gcc/
PR target/116030
* config/rs6000/vsx.md (vsx_stxvd2x4_le_const_<mode>): Add clobber
and guard with !altivec_indexed_or_indirect_operand.

gcc/testsuite/
PR target/116030
* gcc.target/powerpc/pr116030.c: New test.
gcc/config/rs6000/vsx.md
gcc/testsuite/gcc.target/powerpc/pr116030.c [new file with mode: 0644]