[AArch64][SVE] Remove unnecessary PTRUEs from integer arithmetic
commit0fd5a0b47fdd423b8ef727dff29713c439d300f7
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Dec 2018 15:03:15 +0000 (7 15:03 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Dec 2018 15:03:15 +0000 (7 15:03 +0000)
treeb131de467fe3ab3f444ff4f12e71c9bceca06d55
parent9e089468d855cd8b451c6836d6d250ef979d16d1
[AArch64][SVE] Remove unnecessary PTRUEs from integer arithmetic

When using the unpredicated immediate forms of MUL, LSL, LSR and ASR,
the rtl patterns would still have the predicate operand we created for
the other forms.  This patch splits the patterns after reload in order
to get rid of the predicate, like we already do for WHILE.

2018-12-07  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* config/aarch64/aarch64-sve.md (*mul<mode>3, *v<optab><mode>3):
Split the patterns after reload if we don't need the predicate
operand.
(*post_ra_mul<mode>3, *post_ra_v<optab><mode>3): New patterns.

gcc/testsuite/
* gcc.target/aarch64/sve/pred_elim_2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266892 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/aarch64/aarch64-sve.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/aarch64/sve/pred_elim_2.c [new file with mode: 0644]