aboutsummaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-02-19 00:35:51 +0000
committerJeff Law <law@gcc.gnu.org>1998-02-18 17:35:51 -0700
commitaff48bcaae5b53623c51f9119279275f4f2ca156 (patch)
tree627b2dcef94a9f2140fdc61bc5488fac086410db /gcc/combine.c
parent0a9bdce34de7641f636b82362c6e739a40c1c1ab (diff)
downloadgcc-aff48bcaae5b53623c51f9119279275f4f2ca156.zip
gcc-aff48bcaae5b53623c51f9119279275f4f2ca156.tar.gz
gcc-aff48bcaae5b53623c51f9119279275f4f2ca156.tar.bz2
emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
* emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__. * emit-rtl.c (hard-reg-set.h): Include. (get_lowpart_common): Don't make new REG for hard reg in a class that cannot change size. * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h. * combine.c: Revert previous patch. Co-Authored-By: Richard Kenner <kenner@vlsi1.ultra.nyu.edu> From-SVN: r18109
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c32
1 files changed, 0 insertions, 32 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index dc8cc63..81f4d9b 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3483,13 +3483,6 @@ simplify_rtx (x, op0_mode, last, in_dest)
if (GET_CODE (SUBREG_REG (x)) == REG
&& REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
-#ifdef CLASS_CANNOT_CHANGE_SIZE
- && (! (TEST_HARD_REG_BIT
- (reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE],
- REGNO (SUBREG_REG (x))))
- || (GET_MODE_SIZE (mode)
- == GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
-#endif
&& REGNO (SUBREG_REG (x)) != FRAME_POINTER_REGNUM
#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM
&& REGNO (SUBREG_REG (x)) != HARD_FRAME_POINTER_REGNUM
@@ -5113,20 +5106,6 @@ expand_compound_operation (x)
int modewidth;
rtx tem;
-#ifdef CLASS_CANNOT_CHANGE_SIZE
- /* When dealing with hard regs that cannot change size, don't even try
- expanding to shifts, since we wind up violating the rule. */
- if (GET_RTX_CLASS (GET_CODE (x)) == '1'
- && GET_CODE (XEXP (x, 0)) == REG
- && REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
- && (TEST_HARD_REG_BIT
- (reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE],
- REGNO (SUBREG_REG (x))))
- && (GET_MODE_SIZE (GET_MODE (x))
- != GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
- return x;
-#endif
-
switch (GET_CODE (x))
{
case ZERO_EXTEND:
@@ -6243,17 +6222,6 @@ force_to_mode (x, mode, mask, reg, just_select)
break;
case SUBREG:
-#ifdef CLASS_CANNOT_CHANGE_SIZE
- if (GET_CODE (SUBREG_REG (x)) == REG
- && REGNO (SUBREG_REG (x)) < FIRST_PSEUDO_REGISTER
- && (TEST_HARD_REG_BIT
- (reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE],
- REGNO (SUBREG_REG (x))))
- && (GET_MODE_SIZE (GET_MODE (x))
- != GET_MODE_SIZE (GET_MODE (SUBREG_REG (x)))))
- return x;
-#endif
-
if (subreg_lowpart_p (x)
/* We can ignore the effect of this SUBREG if it narrows the mode or
if the constant masks to zero all the bits the mode doesn't