This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH, aarch64 2/4] aarch64: Remove predicate from inside SVE_COND_FP_BINARY
- From: Richard Henderson <rth at twiddle dot net>
- To: gcc-patches at gcc dot gnu dot org
- Cc: richard dot sandiford at arm dot com, marcus dot shawcroft at arm dot com, james dot greenhalgh at arm dot com
- Date: Sun, 1 Jul 2018 20:41:31 -0700
- Subject: [PATCH, aarch64 2/4] aarch64: Remove predicate from inside SVE_COND_FP_BINARY
- References: <20180702034133.12511-1-rth@twiddle.net>
The predicate is present within the containing UNSPEC_SEL;
there is no need to duplicate it.
* config/aarch64/aarch64-sve.md (cond_<SVE_COND_FP_BINARY><SVE_F>):
Remove match_dup 1 from the inner unspec.
(*cond_<SVE_COND_FP_BINARY><SVE_F>): Likewise.
---
gcc/config/aarch64/aarch64-sve.md | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-sve.md b/gcc/config/aarch64/aarch64-sve.md
index 3dee6a4376d..2aceef65c80 100644
--- a/gcc/config/aarch64/aarch64-sve.md
+++ b/gcc/config/aarch64/aarch64-sve.md
@@ -2677,8 +2677,7 @@
(unspec:SVE_F
[(match_operand:<VPRED> 1 "register_operand")
(unspec:SVE_F
- [(match_dup 1)
- (match_operand:SVE_F 2 "register_operand")
+ [(match_operand:SVE_F 2 "register_operand")
(match_operand:SVE_F 3 "register_operand")]
SVE_COND_FP_BINARY)
(match_operand:SVE_F 4 "register_operand")]
@@ -2694,8 +2693,7 @@
(unspec:SVE_F
[(match_operand:<VPRED> 1 "register_operand" "Upl")
(unspec:SVE_F
- [(match_dup 1)
- (match_operand:SVE_F 2 "register_operand" "0")
+ [(match_operand:SVE_F 2 "register_operand" "0")
(match_operand:SVE_F 3 "register_operand" "w")]
SVE_COND_FP_BINARY)
(match_dup 2)]
@@ -2710,8 +2708,7 @@
(unspec:SVE_F
[(match_operand:<VPRED> 1 "register_operand" "Upl")
(unspec:SVE_F
- [(match_dup 1)
- (match_operand:SVE_F 2 "register_operand" "w")
+ [(match_operand:SVE_F 2 "register_operand" "w")
(match_operand:SVE_F 3 "register_operand" "0")]
SVE_COND_FP_BINARY)
(match_dup 3)]
--
2.17.1