OSDN Git Service

PR target/24861
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Nov 2005 22:14:38 +0000 (22:14 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 16 Nov 2005 22:14:38 +0000 (22:14 +0000)
* arm.md (split for movsf with immediate): Restrict split to insns
that set a general register.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107104 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/arm/arm.md

index d0ef8fc..5c7ce8e 100644 (file)
@@ -1,3 +1,9 @@
+2005-11-16  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       PR target/24861
+       * arm.md (split for movsf with immediate): Restrict split to insns
+       that set a general register.
+
 2005-11-16  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * config/ia64/unwind-ia64.c (uw_advance_context): New.  Call
index 1b671fa..aa28c3f 100644 (file)
   "
 )
 
+;; Transform a floating-point move of a constant into a core register into
+;; an SImode operation.
 (define_split
-  [(set (match_operand:SF 0 "nonimmediate_operand" "")
+  [(set (match_operand:SF 0 "arm_general_register_operand" "")
        (match_operand:SF 1 "immediate_operand" ""))]
   "TARGET_ARM
-   && !(TARGET_HARD_FLOAT && TARGET_FPA)
    && reload_completed
    && GET_CODE (operands[1]) == CONST_DOUBLE"
   [(set (match_dup 2) (match_dup 3))]