diff options
author | Yvan Roux <yvan.roux@linaro.org> | 2015-11-26 10:45:49 +0100 |
---|---|---|
committer | Linaro Code Review <review@review.linaro.org> | 2015-11-30 09:52:36 +0000 |
commit | d8f1cc7e34db47ee20a043acc5143f17d49f37f7 (patch) | |
tree | c03ad3b331ec40f41dc3f1a071a8c35b6a0dff4f | |
parent | 5b9b542276ad2a6649af97dc77daa8cfb6b57be0 (diff) |
gcc/testsuite/
Backport from trunk r228395.
2015-10-02 Jiong Wang <jiong.wang@arm.com>
* 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.
Change-Id: I922512298300a77984cff741830830bb1227a67a
4 files changed, 36 insertions, 0 deletions
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 00000000000..d9d439e1025 --- /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 00000000000..2dfb06ed772 --- /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 00000000000..d9975f7842d --- /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 00000000000..8274764de48 --- /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 } } */ |