On 2025-01-06 11:34, Jakub Jelinek wrote:
That looks incorrect to me.
ppc_ieee128_ok just means that one can use the __ieee128 type (and only if
-mfloat128 option is passed).
What the tests care is whether real(16) is IEEE128 or IBM128.
That is dependent on what glibc gcc has been configured against, with what
configure options and whether -mabi=ieeelongdouble or -mabi=ibmlongdouble
options were used.
The long_double_ibm128 and long_double_ieee128 effective targets would
be slightly closer to what you want, but they actually test whether
that is the case when one uses dg-add-options long_double_ibm128 or
dg-add-options long_double_ieee128.
For the xfail, guess you want a test which will check what is the default...
So, e.g. (for powerpc* only) try to compile
integer function foo ()
integer, parameter :: kl = selected_real_kind (precision (0.0_8) + 1)
foo = precision (0.0_kl)
end
and see if it returns 33 (that is IEEE quad) or 31 (IBM double double).
Thanks, I've sent a v2.
Sid