As for 128-bit floating points on PPC, compiler should have three machine modes:
- IFmode, Always IBM extended double
- KFmode, Always IEEE 754R 128-bit floating point (implemented in D80374)
- TFmode, Matches the default for long double
- If -mabi=ieeelongdouble, TFmode is IEEE 754R 128-bit floating point, and the L/l suffixes produces IEEE 754R constants
- If -mabi=ibmlongdouble, TFmode is IBM extended double, and the L/l suffixes produces IBM extended double constants
__ibm128 is target-specific, right? So this should return NoFloat if someone requests IF or IC and the target doesn't support it, just like we do when the target doesn't support KF.