/* PR rtl-optimization/89354 */ | |
/* { dg-do run } */ | |
/* { dg-options "-O2" } */ | |
/* { dg-additional-options "-msse2" { target sse2_runtime } } */ | |
static unsigned long long q = 0; | |
__attribute__((noipa)) static void | |
foo (void) | |
{ | |
q = (q & ~0x1ffffffffULL) | 0x100000000ULL; | |
} | |
int | |
main () | |
{ | |
__asm volatile ("" : "+m" (q)); | |
foo (); | |
if (q != 0x100000000ULL) | |
__builtin_abort (); | |
return 0; | |
} |