[committed] testsuite: Fix up pr116675.c test [PR116675]
Checks
Commit Message
On Wed, Nov 20, 2024 at 08:02:34PM +0800, Cui, Lili wrote:
> PR target/116675
> * gcc.target/i386/pr116675.c: New test.
The test uses dg-do run and scan-assembler* at the same time,
that obviously doesn't work when pr116675.s isn't created at all,
so one gets
PASS: gcc.target/i386/pr116675.c execution test
gcc.target/i386/pr116675.c: output file does not exist
UNRESOLVED: gcc.target/i386/pr116675.c scan-assembler-times pand 4
gcc.target/i386/pr116675.c: output file does not exist
UNRESOLVED: gcc.target/i386/pr116675.c scan-assembler-times pandn 4
gcc.target/i386/pr116675.c: output file does not exist
UNRESOLVED: gcc.target/i386/pr116675.c scan-assembler-times por 4
The usual way to handle that is adding -save-temps option.
The test FAILs after that change though, for simple reason, the pand
regex doesn't match just pand instructions, but also the pandn ones.
I've added \t there to make sure it matches only pand.
Though, wonder if it wouldn't be safer to split the test into two,
one with just the 4 functions (why noinline, noclone rather than
noipa, btw?), that one would be dg-do compile and have the scan-assembler*
directives, and then another one which includes the first one and is
dg-do run and contains the runtime checking of those. Because with the
checking (main etc.) one risks that those instructions can appear in there
as well.
In any case, I've committed this as obvious after testing it on
x86_64-linux -m32/-m64.
2024-11-28 Jakub Jelinek <jakub@redhat.com>
PR target/116675
* gcc.target/i386/pr116675.c: Add -save-temps to dg-options.
Scan for pand\t rather than pand.
Jakub
@@ -1,6 +1,6 @@
/* { dg-do run } */
-/* { dg-options "-O2 -msse2 -mno-ssse3" } */
-/* { dg-final { scan-assembler-times "pand" 4 } } */
+/* { dg-options "-O2 -msse2 -mno-ssse3 -save-temps" } */
+/* { dg-final { scan-assembler-times "pand\t" 4 } } */
/* { dg-final { scan-assembler-times "pandn" 4 } } */
/* { dg-final { scan-assembler-times "por" 4 } } */