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