This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[csl-arm] NEON SFmode min/max
- From: Paul Brook <paul at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 26 Oct 2006 16:35:52 +0100
- Subject: [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))"
{