aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1994-03-16 09:01:34 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1994-03-16 09:01:34 -0500
commit65e8fe02bbc0f5b4afb64a01d51b8a82ad27112c (patch)
tree58fdd88e5273b6c83039a26e2b17fbe75374c3b3 /gcc/emit-rtl.c
parentd6a5ac336dc5c711e74e0617941d61ceb8fd4065 (diff)
downloadgcc-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.c18
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);