http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55920
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-11 17:04:45 UTC --- I'd very much prefer to keep PR54971 fix in. As for #c3, I believe it would be enough to test the mode, so perhaps tree repl = get_access_replacement (lacc); enum machine_mode mode = DECL_MODE (repl); and compare that to TYPE_MODE (TREE_TYPE (rhs)). At least that would match what cfgexpand.c is actually checking, otherwise it looks reasonable. And if #c4 works, that would be even better.