This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[patch] arm/vfp.md: Fix PR target/27374.
- From: Kazu Hirata <kazu at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: paul at codesourcery dot com
- Date: Mon, 1 May 2006 14:57:30 -0700
- Subject: [patch] arm/vfp.md: Fix PR target/27374.
Hi,
Attached is a patch to fix PR target/27374.
The output templates for case 3 and case 4 are simply wrong. fmdrr
and fmrrd take three arguments.
Unfortunately, I do not have a testcase that triggers this bug with
the current version of gcc.
Tested on arm-none-eabi. Committed to mainline and 4.1 as approved by
Paul Brook in private communication.
Kazu Hirata
2006-05-01 Kazu Hirata <kazu@codesourcery.com>
PR target/27374
* config/arm/vfp.md (*arm_movdi_vfp): Correct the output
templates for case 3 and 4.
Index: config/arm/vfp.md
===================================================================
--- config/arm/vfp.md (revision 113428)
+++ config/arm/vfp.md (working copy)
@@ -160,9 +160,9 @@ (define_insn "*arm_movdi_vfp"
case 2:
return output_move_double (operands);
case 3:
- return \"fmdrr%?\\t%P0, %1\\t%@ int\";
+ return \"fmdrr%?\\t%P0, %Q1, %R1\\t%@ int\";
case 4:
- return \"fmrrd%?\\t%0, %1\\t%@ int\";
+ return \"fmrrd%?\\t%Q0, %R0, %P1\\t%@ int\";
case 5:
return \"fcpyd%?\\t%P0, %P1\\t%@ int\";
case 6: