S/390: Fix larl/PIC test case.
authorRobin Dapp <rdapp@linux.ibm.com>
Fri, 17 May 2019 12:18:09 +0000 (12:18 +0000)
committerRobin Dapp <rdapp@gcc.gnu.org>
Fri, 17 May 2019 12:18:09 +0000 (12:18 +0000)
This patch adds -march=z900 to a test case that expects larl for loading
a value via the GOT.  On z10 and later, lgrl is used which is tested in
a new, separate test case.

gcc/testsuite/ChangeLog:

2019-05-17  Robin Dapp  <rdapp@linux.ibm.com>

  * gcc.target/s390/global-array-element-pic.c: Add -march=z900.
  * gcc.target/s390/global-array-element-pic2.c: New test for z10+.

From-SVN: r271321

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/s390/global-array-element-pic.c
gcc/testsuite/gcc.target/s390/global-array-element-pic2.c [new file with mode: 0644]

index 650c25a89e52b41adb3c7dba814bfeefe9fdbb82..f63c04d4cba009c40db9cd1df8b2a2a95e2a339f 100644 (file)
@@ -1,3 +1,8 @@
+2019-05-17  Robin Dapp  <rdapp@linux.ibm.com>
+
+       * gcc.target/s390/global-array-element-pic.c: Add -march=z900.
+       * gcc.target/s390/global-array-element-pic2.c: New test for z10+.
+
 2019-05-17  Richard Biener  <rguenther@suse.de>
 
        * gcc.dg/gimplefe-41.c: New testcase.
index 7872120615187d3dd25b0c66a447da59114393cc..3569d5b2be71640d6f208909ae2a84ee03f25529 100644 (file)
@@ -1,6 +1,6 @@
 /* Test accesses to global array elements in PIC code.  */
 /* { dg-do compile } */
-/* { dg-options "-O1 -fPIC" } */
+/* { dg-options "-O1 -march=z900 -fPIC" } */
 
 extern char a[] __attribute__ ((aligned (2)));
 extern char *b;
diff --git a/gcc/testsuite/gcc.target/s390/global-array-element-pic2.c b/gcc/testsuite/gcc.target/s390/global-array-element-pic2.c
new file mode 100644 (file)
index 0000000..b9398a8
--- /dev/null
@@ -0,0 +1,13 @@
+/* Test accesses to global array elements in PIC code.  */
+/* { dg-do compile } */
+/* { dg-options "-O1 -march=z10 -fPIC" } */
+
+extern char a[] __attribute__ ((aligned (2)));
+extern char *b;
+
+void c()
+{
+  b = a + 4;
+  /* { dg-final { scan-assembler {(?n)\n\tlgrl\t%r\d+,a@GOTENT\n} } } */
+  /* { dg-final { scan-assembler-not {(?n)\n\tlarl\t%r\d+,a[^@]} } } */
+}