(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
abi/
aarch64_guard1.C
// Check that the initialization guard variable is an 8-byte aligned,
// 8-byte doubleword and that only the least significant bit is used
// for initialization guard variables.
// { dg-do compile { target aarch64*-*-* } }
// { dg-options "-O -fdump-tree-original -fno-section-anchors" }

int bar();

int *foo ()
{
  static int x = bar ();
  return &x;
}

// { dg-final { scan-assembler _ZGVZ3foovE1x,8,8 } }
// { dg-final { scan-tree-dump "& 1" "original" } }