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 <ja...@redhat.com> PR target/116675 * gcc.target/i386/pr116675.c: Add -save-temps to dg-options. Scan for pand\t rather than pand. --- gcc/testsuite/gcc.target/i386/pr116675.c.jj 2024-11-26 21:50:00.602855555 +0100 +++ gcc/testsuite/gcc.target/i386/pr116675.c 2024-11-28 14:51:18.579548566 +0100 @@ -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 } } */ Jakub