https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78515
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think the bug is in compute_complex_assign_jump_func, it assumes that all 2+ operand GIMPLE_ASSIGNs are arithmetics (doesn't even consider 3 operand ones). So it happily records BIT_INSERT_EXPR that has 3 operands, but just checks 2 of those operands. I've also noticed in tree.def DEFTREECODE (BIT_INSERT_EXPR, "bit_field_insert", tcc_expression, 3) I would have expected "bit_insert_expr".