]>
Commit | Line | Data |
---|---|---|
d37a91e5 | 1 | // PR target/86314 |
9eaf1141 | 2 | // { dg-do run { target sync_int_long_stack } } |
d37a91e5 JJ |
3 | // { dg-options "-O2" } |
4 | ||
5 | __attribute__((noinline, noclone)) unsigned long | |
6 | foo (unsigned long *p) | |
7 | { | |
8 | unsigned long m = 1UL << ((*p & 1) ? 1 : 0); | |
9 | unsigned long n = __atomic_fetch_or (p, m, __ATOMIC_SEQ_CST); | |
10 | return (n & m) == 0; | |
11 | } | |
12 | ||
13 | int | |
14 | main () | |
15 | { | |
16 | unsigned long v = 1; | |
17 | if (foo (&v) != 1) | |
18 | __builtin_abort (); | |
19 | return 0; | |
20 | } |