diff options
author | Paul Brook <paul@codesourcery.com> | 2004-04-26 10:32:53 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-04-26 10:32:53 +0000 |
commit | 778ebdd91d49f5203e1c0321672b02aa22ce694a (patch) | |
tree | 3534f72acbfb253e499d368ebfdf56950dc5de74 /gcc | |
parent | 874e7baa4ce28aedab159353f0c40846a7b771e5 (diff) | |
download | gcc-778ebdd91d49f5203e1c0321672b02aa22ce694a.zip gcc-778ebdd91d49f5203e1c0321672b02aa22ce694a.tar.gz gcc-778ebdd91d49f5203e1c0321672b02aa22ce694a.tar.bz2 |
* config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets.
From-SVN: r81180
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 12 |
2 files changed, 9 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6cb1567..454d85b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2004-04-26 Paul Brook <paul@codesourcery.com> + + * config/arm/arm.c (arm_legitimate_index_p): Correct maverick offsets. + 2004-04-25 Roger Sayle <roger@eyesopen.com> * fold-const.c (fold): Prefer fold_convert (negate_expr (...)) to diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 1c2f2b2..0591643 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3089,17 +3089,15 @@ arm_legitimate_index_p (enum machine_mode mode, rtx index, RTX_CODE outer, HOST_WIDE_INT range; enum rtx_code code = GET_CODE (index); - if (TARGET_HARD_FLOAT && TARGET_FPA && GET_MODE_CLASS (mode) == MODE_FLOAT) + /* Standard coprocessor addressing modes. */ + if (TARGET_HARD_FLOAT + && (TARGET_FPA || TARGET_MAVERICK) + && (GET_MODE_CLASS (mode) == MODE_FLOAT + || (TARGET_MAVERICK && mode == DImode))) return (code == CONST_INT && INTVAL (index) < 1024 && INTVAL (index) > -1024 && (INTVAL (index) & 3) == 0); - if (TARGET_HARD_FLOAT && TARGET_MAVERICK - && (GET_MODE_CLASS (mode) == MODE_FLOAT || mode == DImode)) - return (code == CONST_INT - && INTVAL (index) < 255 - && INTVAL (index) > -255); - if (arm_address_register_rtx_p (index, strict_p) && GET_MODE_SIZE (mode) <= 4) return 1; |