https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65837
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Well, /* Return the ARM builtin for CODE. */ tree arm_builtin_decl (unsigned code, bool initialize_p ATTRIBUTE_UNUSED) { if (code >= ARM_BUILTIN_MAX) return error_mark_node; return arm_builtin_decls[code]; } and LTO passes in true for initialize_p ... Thus it looks like arm is simply missing LTO support for builtins (eventually a new symptom here because of the way we stream compiler options now, with target attributes)