https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80006
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The premature promotion probably comes from targetm.calls.promote_prototypes, which currently takes effect in the front ends (affecting the IR generated for both caller and callee). I think such a promotion should preferably take place as a lowering step somewhere after the front end, and the IR produced by the front ends should not have this particular dependence on the target architecture, but don't know how hard it would be to move this out of the front ends.