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  
      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  }