aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2015-10-02 14:47:34 +0000
committerJiong Wang <jiwang@gcc.gnu.org>2015-10-02 14:47:34 +0000
commit0ff3ac5f445bb1b94a85e0cf765213eb713e87e3 (patch)
tree1071e728eea96b2351d0c7cd823eacf10662d448
parent1edc26adde4c280f42605745d3575a9e8c5ba9d1 (diff)
downloadgcc-0ff3ac5f445bb1b94a85e0cf765213eb713e87e3.zip
gcc-0ff3ac5f445bb1b94a85e0cf765213eb713e87e3.tar.gz
gcc-0ff3ac5f445bb1b94a85e0cf765213eb713e87e3.tar.bz2
[AArch64] Add more TLS local executable testcases
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. From-SVN: r228395
-rw-r--r--gcc/testsuite/ChangeLog9
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tlsle12_tiny_1.c8
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tlsle24_tiny_1.c9
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_small_1.c10
-rw-r--r--gcc/testsuite/gcc.target/aarch64/tlsle_sizeadj_tiny_1.c9
5 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index efea8e4..774f347 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+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.
+
2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
* 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 0000000..d9d439e
--- /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 0000000..2dfb06e
--- /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 0000000..d9975f7
--- /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 0000000..8274764
--- /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 } } */