http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58723
--- Comment #7 from Tobias Burnus <burnus at gcc dot gnu.org> --- (In reply to Tobias Burnus from comment #6) > (In reply to Richard Biener from comment #5) > > Created attachment 31299 [details] > > Patch fixing the testcase (but otherwise untested - we don't have too many > > internal fn testcases). > Doesn't work for me. If one dumps the bb, one finds a call to GOMP_SIMD_VF. Using the following patch on top of yours fixes the issue for the reduced test case and for the compilation to the *.o files in the real-world code: --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -4066,5 +4070,5 @@ expand_call_inline (basic_block bb, gimple stmt, copy_body_data *id) /* From here on, we're only interested in CALL_EXPRs. */ - if (gimple_code (stmt) != GIMPLE_CALL) + if (gimple_code (stmt) != GIMPLE_CALL || gimple_call_internal_p (stmt)) goto egress; * * * Unfortunately, the lto1 phase still fails for the big code. For that one, I get: xpboolean.cc:3744:8: internal compiler error: in expand_GOMP_SIMD_VF, at internal-fn.c:137 0x7b48b7 expand_GOMP_SIMD_VF ../../gcc/internal-fn.c:137 0x5fe497 expand_call_stmt ../../gcc/cfgexpand.c:2164 0x5fe497 expand_gimple_stmt_1 ../../gcc/cfgexpand.c:3143 0x5fe497 expand_gimple_stmt ../../gcc/cfgexpand.c:3295