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

Reply via email to