https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81622
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The aligned computation also looks like invalid IL, BIT_AND_EXPR should not have pointer arguments I believe (though please double check with Richard), so it should be first cast to corresponding integral type with the same precision, then masked and then cast back to the pointer type.