diff options
author | Nick Clifton <nickc@cambridge.redhat.com> | 2002-01-16 16:54:21 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2002-01-16 16:54:21 +0000 |
commit | ab8081c171034a815d0eca70af7c517c8e6f4ba6 (patch) | |
tree | 06f03dceeed2de05f3016fd1b2ddb9a3b4af8a93 | |
parent | 54c5eaff957df6b16d212eab6d0632fefcbb6511 (diff) | |
download | gcc-ab8081c171034a815d0eca70af7c517c8e6f4ba6.zip gcc-ab8081c171034a815d0eca70af7c517c8e6f4ba6.tar.gz gcc-ab8081c171034a815d0eca70af7c517c8e6f4ba6.tar.bz2 |
Do not accept the IP register as a DFmode operand
From-SVN: r48914
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ab046ed..ca4a661 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -4,6 +4,8 @@ to frame pointer initialisation instruction. (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer initialisation instruction. + (soft_df_operand): Do not accept the IP register. + (nonimmediate_soft_df_operand): Do not accept the IP register. 2002-01-16 Jakub Jelinek <jakub@redhat.com> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 8ef7355..f69d751 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -3362,9 +3362,9 @@ soft_df_operand (op, mode) if (GET_CODE (op) == SUBREG) op = SUBREG_REG (op); - if (REGNO (op) == IP_REGNUM) - return FALSE; - return TRUE; + /* The IP register must not be used, since its higher + numbered counterpart is 13 - the stack pointer. */ + return REGNO (op) != IP_REGNUM; } if (mode != VOIDmode && GET_MODE (op) != mode) @@ -3401,9 +3401,9 @@ nonimmediate_soft_df_operand (op, mode) if (GET_CODE (op) == SUBREG) op = SUBREG_REG (op); - if (REGNO (op) == IP_REGNUM) - return FALSE; - return TRUE; + /* The IP register must not be used, since its higher + numbered counterpart is 13 - the stack pointer. */ + return REGNO (op) != IP_REGNUM; } if (mode != VOIDmode && GET_MODE (op) != mode) |