simplify-rtx.c (simplify_subreg): Fix CONCAT simplification; fix hard register simplification.

* simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
	fix hard register simplification.

From-SVN: r42529
This commit is contained in:
Jan Hubicka 2001-05-24 19:48:42 +02:00 committed by Jan Hubicka
parent 5a2136e82c
commit 0fff422242
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
Thu May 24 19:47:19 CEST 2001 Jan Hubicka <jh@suse.cz>
* simplify-rtx.c (simplify_subreg): Fix CONCAT simplification;
fix hard register simplification.
Thu May 24 00:15:17 2001 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* sparc/sol2.h (CPLUSPLUS_CPP_SPEC): Add all of CPP_SPEC instead

View File

@ -2346,7 +2346,7 @@ simplify_subreg (outermode, op, innermode, byte)
suppress this simplification. If the hard register is the stack,
frame, or argument pointer, leave this as a SUBREG. */
if (REG_P (op) == REG
if (REG_P (op)
&& REGNO (op) < FIRST_PSEUDO_REGISTER
&& REGNO (op) != FRAME_POINTER_REGNUM
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
@ -2389,7 +2389,7 @@ simplify_subreg (outermode, op, innermode, byte)
rtx part = is_realpart ? XEXP (op, 0) : XEXP (op, 1);
unsigned int final_offset;
final_offset = SUBREG_BYTE (op) % (GET_MODE_UNIT_SIZE (innermode) / 2);
final_offset = byte % (GET_MODE_UNIT_SIZE (innermode) / 2);
return simplify_subreg (outermode, part, GET_MODE (part), final_offset);
}