/* { dg-do compile } */ /* { dg-require-effective-target tls_native } */ /* { dg-require-effective-target fpic } */ /* { dg-options "-fPIC -fomit-frame-pointer -O2 -fdump-rtl-final" } */ /* Check whether the stack frame starting addresses of tls expanded calls in foo and goo are 16bytes aligned. */ static __thread char ccc1; void* foo() { return &ccc1; } __thread char ccc2; void* goo() { return &ccc2; } /* { 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" } } */ /* { 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" } } */ /* { dg-final { cleanup-rtl-dump "final" } } */