1 /* PR rtl-optimization/89354 */
2 /* { dg-do run } */
3 /* { dg-options "-O2" } */
4 /* { dg-additional-options "-msse2" { target sse2_runtime } } */
5
6 static unsigned long long q = 0;
7
8 __attribute__((noipa)) static void
9 foo (void)
10 {
11 q = (q & ~0x1ffffffffULL) | 0x100000000ULL;
12 }
13
14 int
15 main ()
16 {
17 __asm volatile ("" : "+m" (q));
18 foo ();
19 if (q != 0x100000000ULL)
20 __builtin_abort ();
21 return 0;
22 }