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