https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- s/32/TYPE_PRECISION (type)/ Anyway, if you want to turn it into masking, then it should not covert just the subtraction, but also addition and the constant operand doesn't have to be equal to the precision of type, but any multiple of it.