From: Dominik Vogt Date: Wed, 20 Jul 2016 17:09:03 +0000 (+0000) Subject: S/390: Xfail some tests in insv-[12].c. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fee21d65c0bab6356853d0e107778828a44f003b;p=gcc.git 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 * gcc.target/s390/insv-1.c: Xfail some tests. * gcc.target/s390/insv-2.c: Likewise. From-SVN: r238530 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7e801c00a44..a57bb1c7794 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-07-20 Dominik Vogt + + * gcc.target/s390/insv-1.c: Xfail some tests. + * gcc.target/s390/insv-2.c: Likewise. + 2016-07-20 Georg-Johann Lay * 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 e6c1b8bc544..8d464f5493e 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 2ba6d6c88ac..70af123c4ff 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 rsbg 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 } } +*/