On Wed, 23 May 2018, Michael Meissner wrote: > One of the problems I've faced over the years is the assumption that there is > only one type for a given size, and that isn't true for IF/KF/TFmode.
I think that's a different problem. The problem here is that "wider" is only a partial ordering between floating-point modes; neither IFmode nor KFmode is wider than the other. (While TFmode has the same set of values as whichever of IFmode and KFmode it corresponds to. And though IFmode is in some sense wider than DFmode, it's probably not a good idea to treat it as such given that it doesn't have the IEEE semantics of DFmode.) As a separate issue, anything that tries to deduce a floating-point mode from a size should have had a mode in the first place (for example, the *_TYPE_SIZE target macros for floating-point types really ought to be some kind of target hook that returns the required mode rather than a size). -- Joseph S. Myers jos...@codesourcery.com