/* { dg-do compile } */ typedef __UINT64_TYPE__ UINT64; typedef union { struct { unsigned short lo4; unsigned short lo3; unsigned short lo2; unsigned short lo1; } i; long double f; } BID_BINARY80LDOUBLE; UINT64 __binary80_to_bid32 (long double x) { BID_BINARY80LDOUBLE x_in; x_in.f = x; return (x_in.i.lo4 + ((UINT64)x_in.i.lo3 << 16) + ((UINT64)x_in.i.lo2 << 32) + ((UINT64)x_in.i.lo1 << 48)); }