https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68809
--- Comment #3 from vries at gcc dot gnu.org --- Hmm, apparently char 0 and int 0 are equal as far as operand_equal_p is concerned: ... (gdb) p gimple_phi_arg_def (p1, 0) $3 = (tree_node *) 0x7ffff61463a8 (gdb) p gimple_phi_arg_def (p2, 0) $4 = (tree_node *) 0x7ffff604f048 (gdb) call debug_tree ($3) <integer_cst 0x7ffff61463a8 type <integer_type 0x7ffff60365e8 char> constant 0> (gdb) call debug_tree ($4) <integer_cst 0x7ffff604f048 type <integer_type 0x7ffff60367e0 int> constant 0> (gdb) p operand_equal_p (gimple_phi_arg_def (p1, 0), gimple_phi_arg_def (p2, 0), 0) $5 = 1 ...