diff options
author | Jim Wilson <wilson@cygnus.com> | 1999-03-01 15:06:46 +0000 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1999-03-01 07:06:46 -0800 |
commit | 03db53b18c9575ad103381ae5e13ccbb48c3b139 (patch) | |
tree | 3a00b2acfbe85c8be95fbda0e1ce9f763fc81186 /gcc | |
parent | b4d34be1f3b2b3aeda8dc00857e4603dd6a78d85 (diff) | |
download | gcc-03db53b18c9575ad103381ae5e13ccbb48c3b139.zip gcc-03db53b18c9575ad103381ae5e13ccbb48c3b139.tar.gz gcc-03db53b18c9575ad103381ae5e13ccbb48c3b139.tar.bz2 |
Patch to fix coldfire bugs found by PlumHall testing.
* config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs. Fix comments.
* config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of
HImode reg when TARGET_5200.
From-SVN: r25516
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/m68k/lb1sf68.asm | 6 | ||||
-rw-r--r-- | gcc/config/m68k/m68k.h | 4 |
3 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8dd6b0f..c82c8f2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Mon Mar 1 15:03:51 1999 Jim Wilson <wilson@cygnus.com> + + * config/m68k/lb1sf68.asm (udivsi3): Change jmi to jcs. Fix comments. + * config/m68k/m68k.h (LEGITIMATE_INDEX_REG_P): Reject SIGN_EXTEND of + HImode reg when TARGET_5200. + Mon Mar 1 21:44:30 1999 J"orn Rennecke <amylaar@cygnus.co.uk> From Toshiyasu Morita: diff --git a/gcc/config/m68k/lb1sf68.asm b/gcc/config/m68k/lb1sf68.asm index 9e33ccb..ef40a34 100644 --- a/gcc/config/m68k/lb1sf68.asm +++ b/gcc/config/m68k/lb1sf68.asm @@ -382,9 +382,9 @@ L1: addl d0,d0 | shift reg pair (p,a) one bit left addxl d2,d2 movl d2,d3 | subtract b from p, store in tmp. subl d1,d3 - jmi L2 | if the result is not is negative, set the - bset IMM (0),d0 | low order bit of a to 1 and store tmp in p. - movl d3,d2 + jcs L2 | if no carry, + bset IMM (0),d0 | set the low order bit of a to 1, + movl d3,d2 | and store tmp in p. L2: subql IMM (1),d4 jcc L1 moveml sp@,d2-d4 | restore data registers diff --git a/gcc/config/m68k/m68k.h b/gcc/config/m68k/m68k.h index 23c2fb3..268b639 100644 --- a/gcc/config/m68k/m68k.h +++ b/gcc/config/m68k/m68k.h @@ -1463,9 +1463,11 @@ __transfer_from_trampoline () \ && (TARGET_68020 || (unsigned) INTVAL (XEXP (X, 0)) + 0x80 < 0x100)) \ { rtx go_temp = XEXP (X, 1); GO_IF_INDEXING (go_temp, ADDR); } } } +/* coldfire/5200 does not allow HImode index registers. */ #define LEGITIMATE_INDEX_REG_P(X) \ ((GET_CODE (X) == REG && REG_OK_FOR_INDEX_P (X)) \ - || (GET_CODE (X) == SIGN_EXTEND \ + || (! TARGET_5200 \ + && GET_CODE (X) == SIGN_EXTEND \ && GET_CODE (XEXP (X, 0)) == REG \ && GET_MODE (XEXP (X, 0)) == HImode \ && REG_OK_FOR_INDEX_P (XEXP (X, 0))) \ |