OSDN Git Service

PR target/817
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Apr 2002 14:06:38 +0000 (14:06 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Apr 2002 14:06:38 +0000 (14:06 +0000)
* arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
for the fact that the pool entry uses two words.
(movdf_hard_insn): Similarly.  Also, ADR instruction can span
1k bytes.
(movdf_soft_insn): Similarly.
(movxf_hard_insn): Adjust neg_pool_range attribute to allow
for the fact that the pool entry uses three words.

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

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

index 5ce2348..9b53b55 100644 (file)
@@ -1,3 +1,14 @@
+2002-04-10  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/817
+       * arm.md (arm_movdi): Adjust neg_pool_range attribute to allow
+       for the fact that the pool entry uses two words.
+       (movdf_hard_insn): Similarly.  Also, ADR instruction can span
+       1k bytes.
+       (movdf_soft_insn): Similarly.
+       (movxf_hard_insn): Adjust neg_pool_range attribute to allow
+       for the fact that the pool entry uses three words.
+
 2002-04-10  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/mips/mips.c (mips_va_arg): When using the struct version
index 89e14c2..8b45862 100644 (file)
   [(set_attr "length" "8")
    (set_attr "type" "*,load,store2")
    (set_attr "pool_range" "*,1020,*")
-   (set_attr "neg_pool_range" "*,1012,*")]
+   (set_attr "neg_pool_range" "*,1008,*")]
 )
 
 ;;; ??? This should have alternatives for constants.
    (set_attr "predicable" "yes")
    (set_attr "type"
     "load,store2,*,store2,load,ffarith,ffarith,f_load,f_store,r_mem_f,f_mem_r")
-   (set_attr "pool_range" "*,*,*,*,252,*,*,1024,*,*,*")
-   (set_attr "neg_pool_range" "*,*,*,*,244,*,*,1012,*,*,*")]
+   (set_attr "pool_range" "*,*,*,*,1020,*,*,1024,*,*,*")
+   (set_attr "neg_pool_range" "*,*,*,*,1008,*,*,1008,*,*,*")]
 )
 
 ;; Software floating point version.  This is essentially the same as movdi.
   "* return output_move_double (operands);"
   [(set_attr "length" "8,8,8")
    (set_attr "type" "*,load,store2")
-   (set_attr "pool_range" "252")
-   (set_attr "neg_pool_range" "244")]
+   (set_attr "pool_range" "1020")
+   (set_attr "neg_pool_range" "1008")]
 )
 
 ;;; ??? This should have alternatives for constants.
    (set_attr "predicable" "yes")
    (set_attr "type" "ffarith,ffarith,f_load,f_store,r_mem_f,f_mem_r,*")
    (set_attr "pool_range" "*,*,1024,*,*,*,*")
-   (set_attr "neg_pool_range" "*,*,1012,*,*,*,*")]
+   (set_attr "neg_pool_range" "*,*,1004,*,*,*,*")]
 )
 \f