diff options
author | Nick Clifton <nickc@cambridge.redhat.com> | 2002-01-11 16:15:36 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2002-01-11 16:15:36 +0000 |
commit | 96ae8197d279fbb1d801ae88ff36ca963b5e741a (patch) | |
tree | e7d7365066ab86350e372b03a0302f18cbd5ba84 | |
parent | 9b78058234e46b63a561443a0ce26ee0461d01b1 (diff) | |
download | gcc-96ae8197d279fbb1d801ae88ff36ca963b5e741a.zip gcc-96ae8197d279fbb1d801ae88ff36ca963b5e741a.tar.gz gcc-96ae8197d279fbb1d801ae88ff36ca963b5e741a.tar.bz2 |
Correct test of 'remainder' and 'subtargets'.
From-SVN: r48776
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6e68eab..bad4bcb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-01-11 Nick Clifton <nickc@cambridge.redhat.com> + + * config/arm/arm.c (arm_gen_constant): Correct test of 'remainder' + and 'subtargets'. + 2002-01-11 Andreas Jaeger <aj@suse.de>, Brad Lucier <lucier@math.purdue.edu> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 76ce21c..7cad98b 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -1631,15 +1631,15 @@ arm_gen_constant (code, mode, val, target, source, subtargets, generate) if (code == SET || code == MINUS) { new_src = (subtargets ? gen_reg_rtx (mode) : target); - if (can_invert) + if (can_invert && code != MINUS) temp1 = ~temp1; } else { - if (remainder || !subtargets) - new_src = target; - else + if (remainder && subtargets) new_src = gen_reg_rtx (mode); + else + new_src = target; if (can_invert) temp1 = ~temp1; else if (can_negate) |