X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FStgPrimFloat.c;h=95210948872edf01f00d379dafbeb635db21caff;hb=0d88de0b114a391712bc117d42928b49fba4d66a;hp=5bd6aebb1cd1923608653d27599a247baca98af4;hpb=0065d5ab628975892cea1ec7303f968c3338cbe1;p=ghc-hetmet.git diff --git a/rts/StgPrimFloat.c b/rts/StgPrimFloat.c index 5bd6aeb..9521094 100644 --- a/rts/StgPrimFloat.c +++ b/rts/StgPrimFloat.c @@ -48,7 +48,7 @@ #define FMSBIT 0x80000000 #endif -#ifdef WORDS_BIGENDIAN +#if defined(WORDS_BIGENDIAN) || defined(FLOAT_WORDS_BIGENDIAN) #define L 1 #define H 0 #else @@ -307,11 +307,18 @@ union stg_ieee754_dbl unsigned int mantissa0:20; unsigned int mantissa1:32; #else +#if FLOAT_WORDS_BIGENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +#else unsigned int mantissa1:32; unsigned int mantissa0:20; unsigned int exponent:11; unsigned int negative:1; #endif +#endif } ieee; /* This format makes it easier to see if a NaN is a signalling NaN. */ struct { @@ -323,12 +330,20 @@ union stg_ieee754_dbl unsigned int mantissa0:19; unsigned int mantissa1:32; #else +#if FLOAT_WORDS_BIGENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +#else unsigned int mantissa1:32; unsigned int mantissa0:19; unsigned int quiet_nan:1; unsigned int exponent:11; unsigned int negative:1; #endif +#endif } ieee_nan; };