/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-options "-O -mno-popcntb" } */
/* { dg-final { scan-assembler-not "stwbrx" } } */

void
write_reverse (unsigned long *addr, unsigned long val)
{
  unsigned long reverse = __builtin_bswap64 (val);
  __atomic_store_n (addr, reverse, __ATOMIC_RELAXED);
}