This patch adds the missing expanders for smax/smin for v*hf modes,
by using the VDQWH iterator instead of VALLW.

2022-09-08  Christophe Lyon  <christophe.l...@arm.com>

        gcc/
        * config/arm/vec-common.md (smin<mode>3): Use VDQWH iterator.
        (smax<mode>3): Likewise.
---
 gcc/config/arm/vec-common.md | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/gcc/config/arm/vec-common.md b/gcc/config/arm/vec-common.md
index b5fc86fdf28..6183c931e36 100644
--- a/gcc/config/arm/vec-common.md
+++ b/gcc/config/arm/vec-common.md
@@ -110,9 +110,9 @@ (define_expand "mul<mode>3"
 )
 
 (define_expand "smin<mode>3"
-  [(set (match_operand:VALLW 0 "s_register_operand")
-       (smin:VALLW (match_operand:VALLW 1 "s_register_operand")
-                   (match_operand:VALLW 2 "s_register_operand")))]
+  [(set (match_operand:VDQWH 0 "s_register_operand")
+       (smin:VDQWH (match_operand:VDQWH 1 "s_register_operand")
+                   (match_operand:VDQWH 2 "s_register_operand")))]
    "ARM_HAVE_<MODE>_ARITH"
 )
 
@@ -124,9 +124,9 @@ (define_expand "umin<mode>3"
 )
 
 (define_expand "smax<mode>3"
-  [(set (match_operand:VALLW 0 "s_register_operand")
-       (smax:VALLW (match_operand:VALLW 1 "s_register_operand")
-                   (match_operand:VALLW 2 "s_register_operand")))]
+  [(set (match_operand:VDQWH 0 "s_register_operand")
+       (smax:VDQWH (match_operand:VDQWH 1 "s_register_operand")
+                   (match_operand:VDQWH 2 "s_register_operand")))]
    "ARM_HAVE_<MODE>_ARITH"
 )
 
-- 
2.34.1

Reply via email to