From f1fa08e32787c1e275ff0bad5036f32c7725dde1 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Sun, 27 Jul 2014 09:50:56 +0000 Subject: [PATCH] re PR rtl-optimization/61926 (const-anchor optimisation is sensitive to ordering) gcc/testsuite/ PR rtl-optimization/61926 * gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c: Reverse argument order. * gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c: New XFAILed tests that match the original order. From-SVN: r213093 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/gcc.target/mips/const-anchor-1.c | 4 ++-- gcc/testsuite/gcc.target/mips/const-anchor-2.c | 4 ++-- gcc/testsuite/gcc.target/mips/const-anchor-3.c | 11 +++++++++++ gcc/testsuite/gcc.target/mips/const-anchor-4.c | 10 ++++++++++ 5 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 gcc/testsuite/gcc.target/mips/const-anchor-3.c create mode 100644 gcc/testsuite/gcc.target/mips/const-anchor-4.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2d835c9639c..ba3c09c2401 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2014-07-27 Richard Sandiford + + PR rtl-optimization/61926 + * gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c: + Reverse argument order. + * gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c: + New XFAILed tests that match the original order. + 2014-07-26 Marek Polacek PR c/61077 diff --git a/gcc/testsuite/gcc.target/mips/const-anchor-1.c b/gcc/testsuite/gcc.target/mips/const-anchor-1.c index a5f01e4ec1a..c2726cc25fb 100644 --- a/gcc/testsuite/gcc.target/mips/const-anchor-1.c +++ b/gcc/testsuite/gcc.target/mips/const-anchor-1.c @@ -2,9 +2,9 @@ (0x1234000) used to build another constant. */ /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ /* { dg-final { scan-assembler-not "0x12330000|305332224" } } */ -/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,-1" } } */ +/* { dg-final { scan-assembler "\td?addiu\t\\\$4,\\\$\[0-9\]*,-1" } } */ NOMIPS16 void f () { - g (0x12340001, 0x1233ffff); + g (0x1233ffff, 0x12340001); } diff --git a/gcc/testsuite/gcc.target/mips/const-anchor-2.c b/gcc/testsuite/gcc.target/mips/const-anchor-2.c index 8dad5a70b27..4932648061b 100644 --- a/gcc/testsuite/gcc.target/mips/const-anchor-2.c +++ b/gcc/testsuite/gcc.target/mips/const-anchor-2.c @@ -1,9 +1,9 @@ /* Derive a constant (0x30001) from another constant. */ /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ /* { dg-final { scan-assembler-not "0x300000|196608" } } */ -/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,32763" } } */ +/* { dg-final { scan-assembler "\td?addiu\t\\\$4,\\\$\[0-9\]*,32763" } } */ NOMIPS16 void f () { - g (0x28006, 0x30001); + g (0x30001, 0x28006); } diff --git a/gcc/testsuite/gcc.target/mips/const-anchor-3.c b/gcc/testsuite/gcc.target/mips/const-anchor-3.c new file mode 100644 index 00000000000..5988cc40967 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/const-anchor-3.c @@ -0,0 +1,11 @@ +/* Derive a constant (0x1233ffff) from an intermediate value + (0x1234000) used to build another constant. */ +/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ +/* See PR61926 for the XFAILs. */ +/* { dg-final { scan-assembler-not "0x12330000|305332224" { xfail *-*-* } } } */ +/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,-1" { xfail *-*-* } } } */ + +NOMIPS16 void f () +{ + g (0x12340001, 0x1233ffff); +} diff --git a/gcc/testsuite/gcc.target/mips/const-anchor-4.c b/gcc/testsuite/gcc.target/mips/const-anchor-4.c new file mode 100644 index 00000000000..a9e2631caf7 --- /dev/null +++ b/gcc/testsuite/gcc.target/mips/const-anchor-4.c @@ -0,0 +1,10 @@ +/* Derive a constant (0x30001) from another constant. */ +/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */ +/* See PR61926 for the XFAILs. */ +/* { dg-final { scan-assembler-not "0x300000|196608" { xfail *-*-* } } } */ +/* { dg-final { scan-assembler "\td?addiu\t\\\$5,\\\$\[0-9\]*,32763" { xfail *-*-* } } } */ + +NOMIPS16 void f () +{ + g (0x28006, 0x30001); +}