/* { dg-do compile { target { ! ia32 } } } */ /* { dg-require-effective-target maybe_x32 } */ /* { dg-options "-O2 -mx32 -maddress-mode=short" } */ struct rcu_reader_data { unsigned ctr; _Bool waiting; } extern __thread rcu_reader; void rcu_read_lock() { struct rcu_reader_data *x = &rcu_reader; _Bool val = 0; __atomic_store(&x->waiting, &val, 0); }