diff options
| author | rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-10 14:06:38 +0000 |
|---|---|---|
| committer | rearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-10 14:06:38 +0000 |
| commit | dd080cc90df726069ec538f8e02086ff6919b106 (patch) | |
| tree | 47e9800349f7a68a54d4fc92ef19480d68ff4457 | |
| parent | 7824be885cd219f5634d9878d8989e312a674ba7 (diff) | |
| download | ppe42-gcc-dd080cc90df726069ec538f8e02086ff6919b106.tar.gz ppe42-gcc-dd080cc90df726069ec538f8e02086ff6919b106.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52132 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 11 | ||||
| -rw-r--r-- | gcc/config/arm/arm.md | 12 |
2 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ce2348093c..9b53b5551cf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index 89e14c2d847..8b45862bac0 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -3963,7 +3963,7 @@ [(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. @@ -5095,8 +5095,8 @@ (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. @@ -5111,8 +5111,8 @@ "* 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. @@ -5186,7 +5186,7 @@ (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,*,*,*,*")] ) |

