1 /* { dg-do compile { target { ! ia32 } } } */
2 /* { dg-require-effective-target maybe_x32 } */
3 /* { dg-options "-O2 -mx32 -maddress-mode=short" } */
4 
5 struct rcu_reader_data
6 {
7   unsigned ctr;
8   _Bool waiting;
9 }
10 
11 extern __thread rcu_reader;
12 
rcu_read_lock()13 void rcu_read_lock()
14 {
15   struct rcu_reader_data *x = &rcu_reader;
16   _Bool val = 0;
17 
18   __atomic_store(&x->waiting, &val, 0);
19 }
20