https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103431
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Created attachment 51881 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51881&action=edit gcc12-pr103431-wip.patch I've tried this, but that is actually incorrect too. Because for operands[1], what we actually want for operands[2] of 0 is not shift by 0, but actually not or the operand in.