Hello! Attached patch fixes gcc.target/i386/pr65105-1.c:
a) As a runtime SSE2 test, we have to check for target SSE2 support and use proper test infrastructure. b) A runtime test can't check output assembly without -save-temps. The patch also use another misuse of -save-temps in gcc.target/i386 directory. The patch solves: UNRESOLVED: gcc.target/i386/pr65105-1.c scan-assembler por UNRESOLVED: gcc.target/i386/pr65105-1.c scan-assembler pand 2015-10-01 Uros Bizjak <ubiz...@gmail.com> * gcc.target/i386/pr65105-1.c: Require sse2 effective target. (main): Rename to sse2_test. Abort if count != 5. (dg-options): Add -save-temps. Use "-msse2 -mtune=slm" instead of -march=slm. * gcc.target/i386/pr46865-2.c (dg-options): Remove -save-temps. Tested on x86_64-linux-gnu {,-m32} and committed to mainline SVN. Uros.
Index: gcc.target/i386/pr65105-1.c =================================================================== --- gcc.target/i386/pr65105-1.c (revision 228292) +++ gcc.target/i386/pr65105-1.c (working copy) @@ -1,9 +1,12 @@ /* PR target/pr65105 */ /* { dg-do run { target { ia32 } } } */ -/* { dg-options "-O2 -march=slm" } */ +/* { dg-options "-O2 -msse2 -mtune=slm -save-temps" } */ +/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler "por" } } */ /* { dg-final { scan-assembler "pand" } } */ +#include "sse2-check.h" + #include "stdlib.h" static int count = 0; @@ -40,11 +43,13 @@ arr[5] = 0xff000000L; } -int -main (int argc, const char **argv) +static void +sse2_test (void) { long long arr[6]; fill_data (arr); test (arr); - return count - 5; + + if (count != 5) + __builtin_abort (); } Index: gcc.target/i386/pr46865-2.c =================================================================== --- gcc.target/i386/pr46865-2.c (revision 228292) +++ gcc.target/i386/pr46865-2.c (working copy) @@ -1,6 +1,6 @@ /* PR rtl-optimization/46865 */ /* { dg-do compile } */ -/* { dg-options "-O2 -save-temps" } */ +/* { dg-options "-O2" } */ extern unsigned long f;