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

Reply via email to