https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86973
--- Comment #1 from Michael Matz <matz at gcc dot gnu.org> --- I can reproduce the same error without any va-args: % cat bug.i extern void foo(void *); __attribute__((sysv_abi)) void a(__attribute__((__vector_size__(8 * sizeof(double)))) double b){ foo(0); } % ./cc1 -mabi=ms -mavx512f pr86973.i pr86973.i:4:5: internal compiler error: in expand_call, at calls.c:4218 4 | foo(0); So, are you absolutely sure that r222173 (which delayed expansion of va_arg until pass_stdarg) is the one that introduced this error? As far as I can determine this is some interaction between backend and call setup going wrong, which specifically is about a sysv_abi function (with large param) calling a ms_abi function.