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> 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 * 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, suppress this simplification. If the hard register is the stack,
frame, or argument pointer, leave this as a SUBREG. */ 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) < FIRST_PSEUDO_REGISTER
&& REGNO (op) != FRAME_POINTER_REGNUM && REGNO (op) != FRAME_POINTER_REGNUM
#if HARD_FRAME_POINTER_REGNUM != 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); rtx part = is_realpart ? XEXP (op, 0) : XEXP (op, 1);
unsigned int final_offset; 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); return simplify_subreg (outermode, part, GET_MODE (part), final_offset);
} }