mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-12 06:24:29 +08:00
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:
parent
5a2136e82c
commit
0fff422242
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user