From: Richard Kenner Date: Wed, 16 Mar 1994 14:01:34 +0000 (-0500) Subject: (gen_lowpart_common... X-Git-Tag: misc/cutover-egcs-0~7148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=65e8fe02bbc0f5b4afb64a01d51b8a82ad27112c;p=thirdparty%2Fgcc.git (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 --- diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 01812c68ba98..7b9187d12cb5 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);