aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDorit Naishlos <dorit@il.ibm.com>2004-02-05 18:07:39 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2004-02-05 13:07:39 -0500
commit20a20bf0610a75c574bba3130cfb8d9a50e2c4df (patch)
tree3f940c9cc4549184ebe8564b8a5746679b38ac9a
parent6b37db3cae575604151c87caffdb558d5b41f8de (diff)
downloadgcc-20a20bf0610a75c574bba3130cfb8d9a50e2c4df.zip
gcc-20a20bf0610a75c574bba3130cfb8d9a50e2c4df.tar.gz
gcc-20a20bf0610a75c574bba3130cfb8d9a50e2c4df.tar.bz2
altivec.md (*movv4si_internal): At least one operand must be altivec_register_operand.
2004-02-05 Dorit Naishlos <dorit@il.ibm.com> * config/rs6000/altivec.md (*movv4si_internal): At least one operand must be altivec_register_operand. (*movv8hi_internal1): Likewise. (*movv16qi_internal1): Likewise. (*movv4sf_internal1): Likewise. From-SVN: r77326
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/rs6000/altivec.md16
2 files changed, 20 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4419728..e9a5477 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2004-02-05 Dorit Naishlos <dorit@il.ibm.com>
+
+ * config/rs6000/altivec.md (*movv4si_internal): At least one
+ operand must be altivec_register_operand.
+ (*movv8hi_internal1): Likewise.
+ (*movv16qi_internal1): Likewise.
+ (*movv4sf_internal1): Likewise.
+
2004-02-05 David Edelsohn <edelsohn@gnu.org>
* configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md
index 3554d3f..7eb6323 100644
--- a/gcc/config/rs6000/altivec.md
+++ b/gcc/config/rs6000/altivec.md
@@ -93,7 +93,9 @@
(define_insn "*movv4si_internal"
[(set (match_operand:V4SI 0 "nonimmediate_operand" "=m,v,v,o,r,r,v")
(match_operand:V4SI 1 "input_operand" "v,m,v,r,o,r,W"))]
- "TARGET_ALTIVEC"
+ "TARGET_ALTIVEC
+ && (altivec_register_operand (operands[0], V4SImode)
+ || altivec_register_operand (operands[1], V4SImode))"
"*
{
switch (which_alternative)
@@ -139,7 +141,9 @@
(define_insn "*movv8hi_internal1"
[(set (match_operand:V8HI 0 "nonimmediate_operand" "=m,v,v,o,r,r,v")
(match_operand:V8HI 1 "input_operand" "v,m,v,r,o,r,W"))]
- "TARGET_ALTIVEC"
+ "TARGET_ALTIVEC
+ && (altivec_register_operand (operands[0], V8HImode)
+ || altivec_register_operand (operands[1], V8HImode))"
"*
{
switch (which_alternative)
@@ -185,7 +189,9 @@
(define_insn "*movv16qi_internal1"
[(set (match_operand:V16QI 0 "nonimmediate_operand" "=m,v,v,o,r,r,v")
(match_operand:V16QI 1 "input_operand" "v,m,v,r,o,r,W"))]
- "TARGET_ALTIVEC"
+ "TARGET_ALTIVEC
+ && (altivec_register_operand (operands[0], V16QImode)
+ || altivec_register_operand (operands[1], V16QImode))"
"*
{
switch (which_alternative)
@@ -231,7 +237,9 @@
(define_insn "*movv4sf_internal1"
[(set (match_operand:V4SF 0 "nonimmediate_operand" "=m,v,v,o,r,r,v")
(match_operand:V4SF 1 "input_operand" "v,m,v,r,o,r,W"))]
- "TARGET_ALTIVEC"
+ "TARGET_ALTIVEC
+ && (altivec_register_operand (operands[0], V4SFmode)
+ || altivec_register_operand (operands[1], V4SFmode))"
"*
{
switch (which_alternative)