From: jiwang Date: Fri, 2 Oct 2015 14:47:34 +0000 (+0000) Subject: [AArch64] Add more TLS local executable testcases X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=320e616ce4636a8685ba8444a5b30e14d016e100;p=thirdparty%2Fgcc.git [AArch64] Add more TLS local executable testcases 2015-10-02 Jiong Wang * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228395 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index efea8e42a49c..774f34775d03 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2015-10-02 Jiong Wang + + * 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. + 2015-10-02 Kirill Yukhin * gcc.target/i386/vect-pack-trunc-1.c: New test. diff --git a/gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c b/gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c new file mode 100644 index 000000000000..d9d439e10250 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c @@ -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" } */ +/* { dg-skip-if "TLS 12bit size for tiny" { aarch64*-*-* } { "-mcmodel=small" "-mcmodel=large" } { "" } } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_lo12" 2 } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c b/gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c new file mode 100644 index 000000000000..2dfb06ed7729 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c @@ -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" } */ +/* { dg-skip-if "TLS 24bit size for tiny" { aarch64*-*-* } { "-mcmodel=small" "-mcmodel=large" } { "" } } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_lo12_nc" 2 } } */ +/* { dg-final { scan-assembler-times "#:tprel_hi12" 2 } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c b/gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c new file mode 100644 index 000000000000..d9975f7842d0 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c @@ -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" } */ +/* { dg-skip-if "TLS size trunc for small" { aarch64*-*-* } { "-mcmodel=tiny" "-mcmodel=large" } { "" } } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_g1" 2 } } */ +/* { dg-final { scan-assembler-times "#:tprel_g0_nc" 2 } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c b/gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c new file mode 100644 index 000000000000..8274764de48d --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c @@ -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" } */ +/* { dg-skip-if "TLS size trunc for tiny" { aarch64*-*-* } { "-mcmodel=small" "-mcmodel=large" } { "" } } */ + +#include "tls_1.x" + +/* { dg-final { scan-assembler-times "#:tprel_lo12_nc" 2 } } */ +/* { dg-final { scan-assembler-times "#:tprel_hi12" 2 } } */