diff options
author | Dominik Vogt <vogt@linux.vnet.ibm.com> | 2016-07-20 17:09:03 +0000 |
---|---|---|
committer | Andreas Krebbel <krebbel@gcc.gnu.org> | 2016-07-20 17:09:03 +0000 |
commit | fee21d65c0bab6356853d0e107778828a44f003b (patch) | |
tree | d8d37984656c7ddea77e519ad2887e8ea71b68f1 /gcc | |
parent | dd4786fe817eb2f3336120d1b0c9ae51aeb9f94f (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/s390/insv-1.c | 9 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/s390/insv-2.c | 15 |
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 } } +*/ |