summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 0817af2a2a3..73d141edc07 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -4785,11 +4785,10 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src)
return find_split_point (&SUBREG_REG (x), insn, false);
case MEM:
-#ifdef HAVE_lo_sum
/* If we have (mem (const ..)) or (mem (symbol_ref ...)), split it
using LO_SUM and HIGH. */
- if (GET_CODE (XEXP (x, 0)) == CONST
- || GET_CODE (XEXP (x, 0)) == SYMBOL_REF)
+ if (HAVE_lo_sum && (GET_CODE (XEXP (x, 0)) == CONST
+ || GET_CODE (XEXP (x, 0)) == SYMBOL_REF))
{
machine_mode address_mode = get_address_mode (x);
@@ -4799,7 +4798,6 @@ find_split_point (rtx *loc, rtx_insn *insn, bool set_src)
XEXP (x, 0)));
return &XEXP (XEXP (x, 0), 0);
}
-#endif
/* If we have a PLUS whose second operand is a constant and the
address is not valid, perhaps will can split it up using
@@ -5857,16 +5855,14 @@ combine_simplify_rtx (rtx x, machine_mode op0_mode, int in_dest,
SUBST (XEXP (x, 0), XEXP (XEXP (x, 0), 0));
break;
-#ifdef HAVE_lo_sum
case LO_SUM:
/* Convert (lo_sum (high FOO) FOO) to FOO. This is necessary so we
can add in an offset. find_split_point will split this address up
again if it doesn't match. */
- if (GET_CODE (XEXP (x, 0)) == HIGH
+ if (HAVE_lo_sum && GET_CODE (XEXP (x, 0)) == HIGH
&& rtx_equal_p (XEXP (XEXP (x, 0), 0), XEXP (x, 1)))
return XEXP (x, 1);
break;
-#endif
case PLUS:
/* (plus (xor (and <foo> (const_int pow2 - 1)) <c>) <-c>)