+2011-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/49504
+ * rtlanal.c (nonzero_bits1): Properly handle addition or
+ subtraction a pointer in Pmode if pointers extend unsigned.
+
2011-06-24 Martin Jambor <mjambor@suse.cz>
PR tree-optimizations/49516
if (result_low > 0)
nonzero &= ~(((unsigned HOST_WIDE_INT) 1 << result_low) - 1);
-
-#ifdef POINTERS_EXTEND_UNSIGNED
- /* If pointers extend unsigned and this is an addition or subtraction
- to a pointer in Pmode, all the bits above ptr_mode are known to be
- zero. */
- /* As we do not know which address space the pointer is refering to,
- we can do this only if the target does not support different pointer
- or address modes depending on the address space. */
- if (target_default_pointer_address_modes_p ()
- && POINTERS_EXTEND_UNSIGNED > 0 && GET_MODE (x) == Pmode
- && (code == PLUS || code == MINUS)
- && REG_P (XEXP (x, 0)) && REG_POINTER (XEXP (x, 0)))
- nonzero &= GET_MODE_MASK (ptr_mode);
-#endif
}
break;