Hi, After some of the recent patches which does cross jumping at the tree level (tail merge) and the patch for tree-ssa-ifcombine, this testcase fails as we merge the if statements that lead to abort. This patch fixes the problem by changing one of the calls to abort to call a different function (abort1).
Committed as obvious after testing on mips64-linux-gnu that the testcase passes now. Thanks, Andrew Pinski * gcc.target/mips/octeon-bbit-3.c: Change the second call to abort to call abort1 so that cross jumping does not happen.
Index: testsuite/gcc.target/mips/octeon-bbit-3.c =================================================================== --- testsuite/gcc.target/mips/octeon-bbit-3.c (revision 193124) +++ testsuite/gcc.target/mips/octeon-bbit-3.c (working copy) @@ -18,6 +18,7 @@ /* { dg-final { scan-assembler-not "ext\t" } } */ void abort (void); +void abort1 (void); void exit (int); typedef unsigned long long ulong64; @@ -39,7 +40,7 @@ f () if (bar.a != 0x1) abort (); else if (!bar.c) - abort (); + abort1 (); else exit (0); }