On 05/08/2015 09:43 AM, Uros Bizjak wrote:
> @@ -1509,8 +1509,7 @@
> (and:DI (ashift:DI (match_operand:DI 1 "register_operand" "r")
> (match_operand:DI 2 "mul8_operand" "I"))
> (match_operand:DI 3 "immediate_operand" "i")))]
> - "HOST_BITS_PER_WIDE_INT == 64
> - && CONST_INT_P (operands[3])
> + "CONST_INT_P (operands[3])
Just noticed that we can eliminate this test if we use const_int_operand
instead.
> + "operands[2] = force_reg (DImode, GEN_INT (HOST_WIDE_INT_1 << 63));")
I bet we're now supposed to use HOST_WIDE_INT_1U, to avoid any ubsan shift
silliness.
> @@ -1929,7 +1925,7 @@ alpha_emit_set_const_1 (rtx target, machine_mode m
> temp = alpha_emit_set_const (subtarget, mode, new_const, i,
> no_output);
> if (!temp)
> {
> - new_const = (c << bits) | (((HOST_WIDE_INT) 1 << bits) - 1);
> + new_const = (c << bits) | ((HOST_WIDE_INT_1 << bits) - 1);
Likewise.
r~