1  /* { dg-do compile } */
       2  /* { dg-require-effective-target tls_native } */
       3  /* { dg-require-effective-target fpic } */
       4  /* { dg-options "-fPIC -fomit-frame-pointer -O2 -fdump-rtl-final" } */
       5  
       6  /* Check whether the stack frame starting addresses of tls expanded calls
       7     in foo and goo are 16bytes aligned.  */
       8  static __thread char ccc1;
       9  void* foo()
      10  {
      11   return &ccc1;
      12  }
      13  
      14  __thread char ccc2;
      15  void* goo()
      16  {
      17   return &ccc2;
      18  }
      19  
      20  /* { dg-final { scan-rtl-dump "Function foo.*set\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*plus\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*const_int -8.*UNSPEC_TLS.*Function goo" "final" } } */
      21  /* { dg-final { scan-rtl-dump "Function goo.*set\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*plus\[^\r\n\]*sp\\)\[\r\n\]\[^\r\n\]*const_int -8.*UNSPEC_TLS" "final" } } */