https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61750
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work| |5.0 Known to fail| |4.9.2 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Index: gcc/tree-ssa-forwprop.c =================================================================== --- gcc/tree-ssa-forwprop.c (revision 217764) +++ gcc/tree-ssa-forwprop.c (working copy) @@ -3178,7 +3178,9 @@ simplify_vce (gimple_stmt_iterator *gsi) && (INTEGRAL_TYPE_P (TREE_TYPE (def_op)) || POINTER_TYPE_P (TREE_TYPE (def_op))) && (TYPE_PRECISION (TREE_TYPE (op)) - == TYPE_PRECISION (TREE_TYPE (def_op)))) + == TYPE_PRECISION (TREE_TYPE (def_op))) + && (TYPE_SIZE (TREE_TYPE (op)) + == TYPE_SIZE (TREE_TYPE (def_op)))) { TREE_OPERAND (gimple_assign_rhs1 (stmt), 0) = def_op; update_stmt (stmt); fixes it, went in via the match-and-simplify merge to trunk.