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

Reply via email to