aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Buchatskiy <ruben@ispras.ru>2012-09-17 07:37:10 +0000
committerAndrey Belevantsev <abel@gcc.gnu.org>2012-09-17 11:37:10 +0400
commitde7c74be49615ebefd5c9a699d8988903310a105 (patch)
treea5da33a4a90d1ead8e90300140810ab36ce6e523
parent5dbeb128d9d33ef23e15b65dad1c7cc28793692d (diff)
downloadgcc-de7c74be49615ebefd5c9a699d8988903310a105.zip
gcc-de7c74be49615ebefd5c9a699d8988903310a105.tar.gz
gcc-de7c74be49615ebefd5c9a699d8988903310a105.tar.bz2
vfp.md (*thumb2_movdf_vfp): Require one of the operands to be a register.
2012-09-17 Ruben Buchatskiy <ruben@ispras.ru> * config/arm/vfp.md (*thumb2_movdf_vfp): Require one of the operands to be a register. From-SVN: r191375
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/vfp.md4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 74d1f3c3..efd3d79 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-09-17 Ruben Buchatskiy <ruben@ispras.ru>
+
+ * config/arm/vfp.md (*thumb2_movdf_vfp): Require one of the operands
+ to be a register.
+
2012-09-16 Richard Sandiford <rdsandiford@googlemail.com>
* calls.c (expand_call): Use emit_group_move for PARALLEL->PARALLEL
diff --git a/gcc/config/arm/vfp.md b/gcc/config/arm/vfp.md
index 4a56d57..d48d4e6 100644
--- a/gcc/config/arm/vfp.md
+++ b/gcc/config/arm/vfp.md
@@ -471,7 +471,9 @@
(define_insn "*thumb2_movdf_vfp"
[(set (match_operand:DF 0 "nonimmediate_soft_df_operand" "=w,?r,w ,w ,Uv,r ,m,w,r")
(match_operand:DF 1 "soft_df_operand" " ?r,w,Dy,UvF,w, mF,r, w,r"))]
- "TARGET_THUMB2 && TARGET_HARD_FLOAT && TARGET_VFP"
+ "TARGET_THUMB2 && TARGET_HARD_FLOAT && TARGET_VFP
+ && ( register_operand (operands[0], DFmode)
+ || register_operand (operands[1], DFmode))"
"*
{
switch (which_alternative)