always define HAVE_lo_sum
[gcc.git] / gcc / combine.c
index 0817af2a2a376884f0843c01d62121106383bf78..73d141edc0787ff36334da8816355933657b1ba0 100644 (file)
@@ -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>)