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
This commit is contained in:
Jim Wilson 1999-03-01 15:06:46 +00:00 committed by Jim Wilson
parent b4d34be1f3
commit 03db53b18c
3 changed files with 12 additions and 4 deletions

View File

@ -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:

View File

@ -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

View File

@ -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))) \