From 20a20bf0610a75c574bba3130cfb8d9a50e2c4df Mon Sep 17 00:00:00 2001 From: Dorit Naishlos Date: Thu, 5 Feb 2004 18:07:39 +0000 Subject: [PATCH] altivec.md (*movv4si_internal): At least one operand must be altivec_register_operand. 2004-02-05 Dorit Naishlos * 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 --- gcc/ChangeLog | 8 ++++++++ gcc/config/rs6000/altivec.md | 16 ++++++++++++---- 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 + + * 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 * 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) -- 2.7.4