aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr89354.c
blob: 0c58cc182eb65b28d7b7cde7723c145f8801632f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* 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;
}