aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Vogt <vogt@linux.vnet.ibm.com>2016-07-20 17:09:03 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2016-07-20 17:09:03 +0000
commitfee21d65c0bab6356853d0e107778828a44f003b (patch)
treed8d37984656c7ddea77e519ad2887e8ea71b68f1
parentdd4786fe817eb2f3336120d1b0c9ae51aeb9f94f (diff)
downloadgcc-fee21d65c0bab6356853d0e107778828a44f003b.zip
gcc-fee21d65c0bab6356853d0e107778828a44f003b.tar.gz
gcc-fee21d65c0bab6356853d0e107778828a44f003b.tar.bz2
S/390: Xfail some tests in insv-[12].c.
The attached patch XFAILs some of the "insv" testcases as discussed internally. Tested on s390x biarch and s390. gcc/testsuite/ChangeLog: 2016-07-20 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/insv-1.c: Xfail some tests. * gcc.target/s390/insv-2.c: Likewise. From-SVN: r238530
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.target/s390/insv-1.c9
-rw-r--r--gcc/testsuite/gcc.target/s390/insv-2.c15
3 files changed, 27 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7e801c0..a57bb1c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2016-07-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
+
+ * gcc.target/s390/insv-1.c: Xfail some tests.
+ * gcc.target/s390/insv-2.c: Likewise.
+
2016-07-20 Georg-Johann Lay <avr@gjlay.de>
* gcc.target/avr/torture/get-mem.c: New test.
diff --git a/gcc/testsuite/gcc.target/s390/insv-1.c b/gcc/testsuite/gcc.target/s390/insv-1.c
index e6c1b8b..8d464f5 100644
--- a/gcc/testsuite/gcc.target/s390/insv-1.c
+++ b/gcc/testsuite/gcc.target/s390/insv-1.c
@@ -108,4 +108,11 @@ foo4c (unsigned long a, unsigned long b)
#endif
}
-/* { dg-final { scan-assembler-times "risbg" 6 } } */
+/* The functions foo3, foo4, foo3b, foo4b no longer use risbg but rosbg instead.
+
+ On s390x, four risbg go away and four new ones appear in other functions ...
+ { dg-final { scan-assembler-times "risbg" 6 { target { s390x-*-* } } } }
+
+ but not on s390.
+ { dg-final { scan-assembler-times "risbg" 2 { target { s390-*-* } } } }
+*/
diff --git a/gcc/testsuite/gcc.target/s390/insv-2.c b/gcc/testsuite/gcc.target/s390/insv-2.c
index 2ba6d6c..70af123 100644
--- a/gcc/testsuite/gcc.target/s390/insv-2.c
+++ b/gcc/testsuite/gcc.target/s390/insv-2.c
@@ -108,4 +108,17 @@ foo4c (unsigned long a, unsigned long b)
#endif
}
-/* { dg-final { scan-assembler-times "risbgn" 6 } } */
+/* The functions foo3, foo4, foo3b, foo4b no longer use risbgn but rosbg instead
+ which is slightly worse. Combine prefers to use the simpler two insn
+ combinations possible with rosbg instead of the more complicated three insn
+ combinations that result in risbgn. This problem has been introduced with
+ the commit
+
+ S/390: Add patterns for r<nox>sbg instructions.
+
+ (3rd of May, 2016). This should be fixed some time in the future, but for
+ now just adapt the expected result:
+
+ { dg-final { scan-assembler-times "risbgn" 6 { xfail { *-*-* } } } }
+ { dg-final { scan-assembler-times "risbgn" 2 } }
+*/