This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

i386-cmov1.c broken


In auditing the GCC tests, I think that gcc.dg/i386-cmov1.c is passing
"by accident".

In particular, this test seems to be trying to verify that the "sar"
instruction is being used with "magic_namec" by scanning the assembly
file.

However, that's not actually happening.

The scan-assembler test:

  /* { dg-final { scan-assembler "sar.*magic_namec" } } */

which is trying to test for this is busted because "." in Tcl includes
"\n", i.e., the newline character.

Therefore, this pattern is matched because an "sar" instruction
appears in the test before the "magic_namec" usage.

If you agree with this assessment, would you please:

(a) Fix the test, by using "\[^\\n\]" in place of ".".

(b) XFAIL the tests, by using:

      { scan-assembler ... { xfail *-*-* } }

(c) Create a Bugzilla entry, if you think that entry should be used?

There are several other tests that also seem to be passing by
accident for the same reason, including:

- i386-mul.c 

  Uses an intermediate register, rather than the pattern expected.

- i386-ssetype-5.c

  Does not use "pandn" in one of the cases where that is expected.

It's probably that lots of the other i386-*.c tests have similar
issues.

Thanks,

--
Mark Mitchell
CodeSourcery, LLC
mark@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]