This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] MIPS: Prevent the p5600-bonding.c test from being run for the n32 and 64 ABIs
- From: Andrew Bennett <Andrew dot Bennett at imgtec dot com>
- To: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Cc: Matthew Fortune <Matthew dot Fortune at imgtec dot com>, "Moore, Catherine (Catherine_Moore at mentor dot com)" <Catherine_Moore at mentor dot com>
- Date: Wed, 22 Jul 2015 14:13:58 +0000
- Subject: [PATCH] MIPS: Prevent the p5600-bonding.c test from being run for the n32 and 64 ABIs
- Authentication-results: sourceware.org; auth=none
Hi,
The MIPS p5600-bonding.c test is currently failing for the n32 and n64
ABIs. The test is checking if the load/store bonding patterns correctly
match sequences of load/store instructions. There are currently no load/store
bonding patterns to match DI mode values. For the n32 and n64 ABIs the code
generated for the testcase produces DI mode load and stores; which means the
load/store bonding patterns are not matched and the test fails.
To fix this issue I have added a dg-skip-if option to the test to prevent it
from being run for the n32 and n64 ABIs. When support for load/store bonding
for DI mode values has been added this can be removed.
The patch has been tested on the mti/img elf/linux-gnu toolchains, and
there have been no new regressions.
The patch and ChangeLog are below.
Ok to commit?
Many thanks,
Andrew
testsuite/
gcc.target/mips/p5600-bonding.c (dg-skip-if): Don't run the test for the
n32 or n64 ABIs.
diff --git a/gcc/testsuite/gcc.target/mips/p5600-bonding.c b/gcc/testsuite/gcc.target/mips/p5600-bonding.c
index 0890ffa..20c26ca 100644
--- a/gcc/testsuite/gcc.target/mips/p5600-bonding.c
+++ b/gcc/testsuite/gcc.target/mips/p5600-bonding.c
@@ -1,6 +1,7 @@
/* { dg-do compile } */
/* { dg-options "-dp -mtune=p5600 -mno-micromips -mno-mips16" } */
/* { dg-skip-if "Bonding needs peephole optimization." { *-*-* } { "-O0" "-O1" } { "" } } */
+/* { dg-skip-if "There is no DI mode support for load/store bonding" { *-*-* } { "-mabi=n32" "-mabi=64" } { "" } } */
typedef int VINT32 __attribute__ ((vector_size((16))));
void