On Tue, 30 Aug 2016, Uros Bizjak wrote: > I didn't find a way around this limitation, so I propose to disable > _FloatN on alpha with the attached patch.
If your ABI requires binary32 values to be promoted in variable arguments, I'd think you could do that with a new target hook that specifies a type to promote to in variable arguments (when such promotion otherwise would not occur), affecting code generation for both function calls and va_arg (but not for unprototyped function calls, only for variable arguments). (TS 18661 allows conversion to the same type to act as a convertFormat operation, so it's allowed for such argument passing to convert sNaNs to qNaNs, which would be the effect of having such conversions to and from binary64 in the call path.) (Ideally of course such a hook would take effect *after* the front end, but various existing such hooks operate in the front end so I don't think it's a problem for a new hook to do so as well.) -- Joseph S. Myers jos...@codesourcery.com