/* PR target/71245 */ | |
/* { dg-do compile { target ia32 } } */ | |
/* { dg-options "-O2 -march=pentium -mno-sse -mfpmath=387" } */ | |
typedef union | |
{ | |
unsigned long long ll; | |
double d; | |
} u_t; | |
u_t d = { .d = 5.0 }; | |
void foo_d (void) | |
{ | |
u_t tmp; | |
tmp.ll = __atomic_load_n (&d.ll, __ATOMIC_SEQ_CST); | |
tmp.d += 1.0; | |
__atomic_store_n (&d.ll, tmp.ll, __ATOMIC_SEQ_CST); | |
} | |
/* { dg-final { scan-assembler-not "(fistp|fild)" } } */ |