https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87511
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-10-10 CC| |wilco at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #1 from Wilco <wilco at gcc dot gnu.org> --- Confirmed. The issue is in aarch64_mask_and_shift_for_ubfiz_p: && (INTVAL (mask) & ((1 << INTVAL (shft_amnt)) - 1)) == 0; This evaluates the shift as a 32-bit int rather than HOST_WIDE_INT.