blob: fc32f63ee695923623b09463d44d4affb5d40b41 [file] [log] [blame]
/* PR rtl-optimization/61446 */
/* { dg-do compile { target { ia32 } } } */
/* { dg-options "-O2 -march=corei7 -mfpmath=387" } */
unsigned long long
foo (float a)
{
const double dfa = a;
const unsigned int hi = dfa / 0x1p32f;
const unsigned int lo = dfa - (double) hi * 0x1p32f;
return ((unsigned long long) hi << (4 * (8))) | lo;
}