diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-16 09:01:34 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-16 09:01:34 -0500 |
commit | 65e8fe02bbc0f5b4afb64a01d51b8a82ad27112c (patch) | |
tree | 58fdd88e5273b6c83039a26e2b17fbe75374c3b3 /gcc/emit-rtl.c | |
parent | d6a5ac336dc5c711e74e0617941d61ceb8fd4065 (diff) | |
download | gcc-65e8fe02bbc0f5b4afb64a01d51b8a82ad27112c.zip gcc-65e8fe02bbc0f5b4afb64a01d51b8a82ad27112c.tar.gz gcc-65e8fe02bbc0f5b4afb64a01d51b8a82ad27112c.tar.bz2 |
(gen_lowpart_common...
(gen_lowpart_common, gen_highpart, operand_subword): Test input
against RTX for FP, AP, and SP, not same register number.
From-SVN: r6795
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 01812c6..7b9187d 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -625,11 +625,11 @@ gen_lowpart_common (mode, x) || ! rtx_equal_function_value_matters) /* We want to keep the stack, frame, and arg pointers special. */ - && REGNO (x) != FRAME_POINTER_REGNUM + && x != frame_pointer_rtx #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM - && REGNO (x) != ARG_POINTER_REGNUM + && x != arg_pointer_rtx #endif - && REGNO (x) != STACK_POINTER_REGNUM) + && x != stack_pointer_rtx) return gen_rtx (REG, mode, REGNO (x) + word); else return gen_rtx (SUBREG, mode, x, word); @@ -935,11 +935,11 @@ gen_highpart (mode, x) && (! REG_FUNCTION_VALUE_P (x) || ! rtx_equal_function_value_matters) /* We want to keep the stack, frame, and arg pointers special. */ - && REGNO (x) != FRAME_POINTER_REGNUM + && x != frame_pointer_rtx #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM - && REGNO (x) != ARG_POINTER_REGNUM + && x != arg_pointer_rtx #endif - && REGNO (x) != STACK_POINTER_REGNUM) + && x != stack_pointer_rtx) return gen_rtx (REG, mode, REGNO (x) + word); else return gen_rtx (SUBREG, mode, x, word); @@ -1026,11 +1026,11 @@ operand_subword (op, i, validate_address, mode) && rtx_equal_function_value_matters) /* We want to keep the stack, frame, and arg pointers special. */ - || REGNO (op) == FRAME_POINTER_REGNUM + || op == frame_pointer_rtx #if FRAME_POINTER_REGNUM != ARG_POINTER_REGNUM - || REGNO (op) == ARG_POINTER_REGNUM + || op == arg_pointer_rtx #endif - || REGNO (op) == STACK_POINTER_REGNUM) + || op == stack_pointer_rtx) return gen_rtx (SUBREG, word_mode, op, i); else return gen_rtx (REG, word_mode, REGNO (op) + i); |