https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61729
--- Comment #1 from Segher Boessenkool <segher at gcc dot gnu.org> --- This testcase uses a 2-byte scoped enum, which doesn't get the integer promotions if I read the C++ standard correctly -- but it is passed via varargs, and the target code expects that to be promoted always. The -m64 code works correctly (it uses the generic varargs expansion code), but it is less efficient than it would be for promoted args as well. Should varargs in C++ get the integer promotions (like in C), or do we need to extend many ABIs to work with C++?