This patch cover tlsle tiny model tests, tls size truncation for tiny & small model included also.
All testcases pass native test. OK for trunk? 2015-08-26 Jiong Wang <jiong.w...@arm.com> gcc/testsuite/ * gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model. * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise. * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test for tiny model. * gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test for small model. -- Regards, Jiong
Index: gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c (revision 0) +++ gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c (working copy) @@ -0,0 +1,8 @@ +/* { dg-do run } */ +/* { dg-require-effective-target tls_native } */ +/* { dg-options "-O2 -fpic -ftls-model=local-exec -mtls-size=12 -mcmodel=tiny --save-temps" } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_lo12" 2 } } */ +/* { dg-final { cleanup-saved-temps } } */ Index: gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c (revision 0) +++ gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c (working copy) @@ -0,0 +1,9 @@ +/* { dg-do run } */ +/* { dg-require-effective-target tls_native } */ +/* { dg-options "-O2 -fpic -ftls-model=local-exec -mtls-size=24 -mcmodel=tiny --save-temps" } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_lo12_nc" 2 } } */ +/* { dg-final { scan-assembler-times "#:tprel_hi12" 2 } } */ +/* { dg-final { cleanup-saved-temps } } */ Index: gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c (revision 0) +++ gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c (working copy) @@ -0,0 +1,10 @@ +/* { dg-do run } */ +/* { dg-require-effective-target tls_native } */ +/* { dg-require-effective-target aarch64_tlsle32 } */ +/* { dg-options "-O2 -fpic -ftls-model=local-exec -mtls-size=48 --save-temps" } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_g1" 2 } } */ +/* { dg-final { scan-assembler-times "#:tprel_g0_nc" 2 } } */ +/* { dg-final { cleanup-saved-temps } } */ Index: gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c =================================================================== --- gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c (revision 0) +++ gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c (working copy) @@ -0,0 +1,9 @@ +/* { dg-do run } */ +/* { dg-require-effective-target tls_native } */ +/* { dg-options "-O2 -fpic -ftls-model=local-exec -mtls-size=32 -mcmodel=tiny --save-temps" } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_lo12_nc" 2 } } */ +/* { dg-final { scan-assembler-times "#:tprel_hi12" 2 } } */ +/* { dg-final { cleanup-saved-temps } } */