This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[csl-arm] NEON SFmode min/max


The patch below includes SFmode vectors in the smin/smax expanders. The NEON 
pattens for these are already present, just the named expanders are missing.

Tested on arm-none-eabi.
Applied to branches/csl/sourcerygxx-4_1.

Paul

2006-10-26  Paul Brook  <paul@codesourcery.com>

	gcc/
	* config/arm/neon.md (smin<mode>3, smax<mode>3): Include SF vectors.

Index: gcc/config/arm/vec-common.md
===================================================================
--- gcc/config/arm/vec-common.md	(revision 118066)
+++ gcc/config/arm/vec-common.md	(working copy)
@@ -71,9 +71,9 @@ (define_expand "mul<mode>3"
 })
 
 (define_expand "smin<mode>3"
-  [(set (match_operand:VINTW 0 "s_register_operand" "")
-	(smin:VINTW (match_operand:VINTW 1 "s_register_operand" "")
-		    (match_operand:VINTW 2 "s_register_operand" "")))]
+  [(set (match_operand:VALLW 0 "s_register_operand" "")
+	(smin:VALLW (match_operand:VALLW 1 "s_register_operand" "")
+		    (match_operand:VALLW 2 "s_register_operand" "")))]
   "TARGET_NEON
    || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
 {
@@ -89,9 +89,9 @@ (define_expand "umin<mode>3"
 })
 
 (define_expand "smax<mode>3"
-  [(set (match_operand:VINTW 0 "s_register_operand" "")
-	(smax:VINTW (match_operand:VINTW 1 "s_register_operand" "")
-		    (match_operand:VINTW 2 "s_register_operand" "")))]
+  [(set (match_operand:VALLW 0 "s_register_operand" "")
+	(smax:VALLW (match_operand:VALLW 1 "s_register_operand" "")
+		    (match_operand:VALLW 2 "s_register_operand" "")))]
   "TARGET_NEON
    || (TARGET_REALLY_IWMMXT && VALID_IWMMXT_REG_MODE (<MODE>mode))"
 {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]