On Tue, Jan 25, 2022 at 08:52:34PM +0100, FX wrote:
> > With --disable-multilib, so no -m32 support, I still 
> > signaling_3.f90 failing.  In
> > 
> > ! { dg-do run { xfail { { i?86-*-* x86_64-*-* } && ilp32 } } }
> > ! x87 / x86-32 ABI is unsuitable for signaling NaNs
> 
> This just means the test shouldn’t be run on 32-bit Intel.
> 
> Can you run this:
> 
> #include <stdint.h>
> #include <stdio.h>
> #include "issignaling_fallback.h"
> 
> int main (void) {
>   long double z;
>  
>   z = __builtin_nansl("");
>   printf("%d\n", issignaling(z));
> 
>   z = __builtin_nanl("");
>   printf("%d\n", issignaling(z));
> }
> 
> compiled with -fsignaling-nans and the issignaling_fallback.h file from 
> libgfortran?
> 

% ~/work/x/bin/gcc -o -I. -fsignaling-nans -o z b.c && ./z
0
0

Quickly read issignaling_fallback.h.  It seems you're looking
for bit that distinguishes snan and qnan.  Still need to piece
together exactly what the bit manipulation functions are doing.
-- 
Steve

Reply via email to