The patch removes unneeded dg-require-effective-target directives for compile-only testcases, adds missing dg-do compile and dg-do run in a couple of cases.
2015-06-17 Uros Bizjak <ubiz...@gmail.com> * gcc.target/i386/pr54592.c: Remove dg-require-effective-target. * gcc.target/i386/pr52252-atom.c: Ditto. * gcc.target/i386/vect-div-1.c: Ditto. * gcc.target/i386/rotate-5.c: Ditto. * gcc.target/i386/pr50202.c: Ditto. * gcc.target/i386/pr37843-3.c: Ditto. * gcc.target/i386/avx2-vect-aggressive-1.c: Ditto. * gcc.target/i386/pr53397-1.c: Ditto. * gcc.target/i386/pr55934.c: Ditto. * gcc.target/i386/pr37843-4.c: Ditto. * gcc.target/i386/pr60451.c: Ditto. * gcc.target/i386/pr53397-2.c: Ditto. * gcc.target/i386/vectorize1.c: Ditto. * gcc.target/i386/extract-insert-combining.c: Ditto. * gcc.target/i386/pr53759.c: Ditto. * gcc.target/i386/pr52252-core.c: Ditto. * gcc.target/i386/rotate-3.c: Ditto. * gcc.target/i386/sse-20.c: Ditto. * gcc.target/i386/rotate-4.c: Ditto. * gcc.target/i386/pr61403.c: Ditto. * gcc.target/i386/pr60205-2.c: Add dg-do compile directive. * gcc.target/i386/pr60901.c: Ditto. * gcc.target/i386/pr59794-7.c: Ditto. * gcc.target/i386/pr62208.c: Ditto. * gcc.target/i386/pr53416.c: Ditto. * gcc.target/i386/asm-dialect-1.c: Ditto. * gcc.target/i386/pr50038.c: Ditto. * gcc.target/i386/47698.c: Ditto. * gcc.target/i386/avx512vl-vpmuludq-1.c: Ditto. * gcc.target/i386/pr59794-2.c: Ditto. * gcc.target/i386/pr59794-3.c: Ditto. * gcc.target/i386/pr39058.c: Ditto. * gcc.target/i386/pr60205-1.c: Ditto. * gcc.target/i386/fma4-256-nmsubXX.c: Add dg-do run directive. * gcc.target/i386/sse2-movq-2.c: Ditto. Tested on x86_64-linux-gnu {,-m32} and committed to mainline SVN. Uros.
Index: gcc.target/i386/pr54592.c =================================================================== --- gcc.target/i386/pr54592.c (revision 224544) +++ gcc.target/i386/pr54592.c (working copy) @@ -1,7 +1,6 @@ /* PR target/54592 */ /* { dg-do compile } */ /* { dg-options "-Os -msse2" } */ -/* { dg-require-effective-target sse2 } */ #include <emmintrin.h> Index: gcc.target/i386/pr52252-atom.c =================================================================== --- gcc.target/i386/pr52252-atom.c (revision 224544) +++ gcc.target/i386/pr52252-atom.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target ssse3 } */ /* { dg-options "-O2 -ftree-vectorize -mssse3 -mtune=slm" } */ #define byte unsigned char Index: gcc.target/i386/vect-div-1.c =================================================================== --- gcc.target/i386/vect-div-1.c (revision 224544) +++ gcc.target/i386/vect-div-1.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target sse2 } } */ +/* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -fno-common -msse2" } */ unsigned short b[1024] = { 0 }; Index: gcc.target/i386/rotate-5.c =================================================================== --- gcc.target/i386/rotate-5.c (revision 224544) +++ gcc.target/i386/rotate-5.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target avx } */ /* { dg-options "-O3 -mavx -fdump-tree-vect-details" } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ Index: gcc.target/i386/pr60205-2.c =================================================================== --- gcc.target/i386/pr60205-2.c (revision 224544) +++ gcc.target/i386/pr60205-2.c (working copy) @@ -1,4 +1,5 @@ /* PR target/60205 */ +/* { dg-do compile } */ /* { dg-options "-O2 -mno-avx512f" } */ /* { dg-skip-if "no AVX512F vector" { *-*-mingw* } } */ Index: gcc.target/i386/pr50202.c =================================================================== --- gcc.target/i386/pr50202.c (revision 224544) +++ gcc.target/i386/pr50202.c (working copy) @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-options "-O -fno-tree-dse -fno-dce -msse4" } */ -/* { dg-require-effective-target sse4 } */ typedef char __v16qi __attribute__ ((__vector_size__ (16))); Index: gcc.target/i386/pr37843-3.c =================================================================== --- gcc.target/i386/pr37843-3.c (revision 224544) +++ gcc.target/i386/pr37843-3.c (working copy) @@ -1,7 +1,6 @@ /* Test for stack alignment with sibcall optimization. */ /* { dg-do compile { target { ia32 && nonpic } } } */ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ -/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ /* { dg-final { scan-assembler-not "call\[\\t \]*_?foo" } } */ /* { dg-final { scan-assembler "jmp\[\\t \]*_?foo" } } */ Index: gcc.target/i386/avx2-vect-aggressive-1.c =================================================================== --- gcc.target/i386/avx2-vect-aggressive-1.c (revision 224544) +++ gcc.target/i386/avx2-vect-aggressive-1.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target avx2 } */ /* { dg-options "-mavx2 -O3 -fopenmp-simd -fdump-tree-vect-details" } */ #define N 256 Index: gcc.target/i386/pr53397-1.c =================================================================== --- gcc.target/i386/pr53397-1.c (revision 224544) +++ gcc.target/i386/pr53397-1.c (working copy) @@ -1,6 +1,5 @@ /* Prefetching when the step is loop invariant. */ /* { dg-do compile } */ -/* { dg-require-effective-target sse2 } */ /* { dg-options "-O3 -msse2 -fprefetch-loop-arrays -fdump-tree-aprefetch-details --param min-insn-to-prefetch-ratio=3 --param simultaneous-prefetches=10 -fdump-tree-aprefetch-details" } */ Index: gcc.target/i386/pr60901.c =================================================================== --- gcc.target/i386/pr60901.c (revision 224544) +++ gcc.target/i386/pr60901.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-do compile } */ /* { dg-options "-O -fselective-scheduling -fschedule-insns -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fno-tree-dominator-opts" } */ extern int n; Index: gcc.target/i386/pr59794-7.c =================================================================== --- gcc.target/i386/pr59794-7.c (revision 224544) +++ gcc.target/i386/pr59794-7.c (working copy) @@ -1,4 +1,5 @@ /* PR target/59794 */ +/* { dg-do compile } */ /* { dg-options "-O2 -mno-avx" } */ /* { dg-skip-if "no AVX vector" { *-*-mingw* } } */ Index: gcc.target/i386/pr55934.c =================================================================== --- gcc.target/i386/pr55934.c (revision 224544) +++ gcc.target/i386/pr55934.c (working copy) @@ -1,6 +1,5 @@ /* PR inline-asm/55934 */ /* { dg-do compile } */ -/* { dg-require-effective-target sse } */ /* { dg-options "-std=c99 -msse" } */ _Complex float foo (void) Index: gcc.target/i386/pr37843-4.c =================================================================== --- gcc.target/i386/pr37843-4.c (revision 224544) +++ gcc.target/i386/pr37843-4.c (working copy) @@ -1,7 +1,6 @@ /* Test for stack alignment with sibcall optimization. */ /* { dg-do compile { target { ia32 && nonpic } } } */ /* { dg-options "-O2 -msse2 -mpreferred-stack-boundary=4 -mstackrealign" } */ -/* { dg-require-effective-target sse2 } */ /* { dg-final { scan-assembler-not "andl\[\\t \]*\\$-16,\[\\t \]*%\[re\]?sp" } } */ /* { dg-final { scan-assembler-not "call\[\\t \]*_?foo" } } */ /* { dg-final { scan-assembler "jmp\[\\t \]*_?foo" } } */ Index: gcc.target/i386/pr60451.c =================================================================== --- gcc.target/i386/pr60451.c (revision 224544) +++ gcc.target/i386/pr60451.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -ftree-vectorize -msse2" } */ void Index: gcc.target/i386/pr62208.c =================================================================== --- gcc.target/i386/pr62208.c (revision 224544) +++ gcc.target/i386/pr62208.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-do compile } */ /* { dg-options "-O3 -fwhole-program -march=x86-64" } */ int *a; Index: gcc.target/i386/pr53397-2.c =================================================================== --- gcc.target/i386/pr53397-2.c (revision 224544) +++ gcc.target/i386/pr53397-2.c (working copy) @@ -1,6 +1,5 @@ /* Not prefetching when the step is loop variant. */ /* { dg-do compile } */ -/* { dg-require-effective-target sse2 } */ /* { dg-options "-O3 -msse2 -fprefetch-loop-arrays -fdump-tree-aprefetch-details --param min-insn-to-prefetch-ratio=3 --param simultaneous-prefetches=10 -fdump-tree-aprefetch-details" } */ double data[16384]; Index: gcc.target/i386/pr53416.c =================================================================== --- gcc.target/i386/pr53416.c (revision 224544) +++ gcc.target/i386/pr53416.c (working copy) @@ -1,4 +1,5 @@ /* PR target/53416 */ +/* { dg-do compile } */ /* { dg-options "-O2 -mrdrnd" } */ int test (void) Index: gcc.target/i386/vectorize1.c =================================================================== --- gcc.target/i386/vectorize1.c (revision 224544) +++ gcc.target/i386/vectorize1.c (working copy) @@ -1,6 +1,6 @@ /* PR middle-end/28915 */ +/* { dg-do compile } */ /* { dg-options "-msse -O2 -ftree-vectorize -fdump-tree-vect" } */ -/* { dg-require-effective-target sse } */ extern char lanip[3][40]; typedef struct Index: gcc.target/i386/asm-dialect-1.c =================================================================== --- gcc.target/i386/asm-dialect-1.c (revision 224544) +++ gcc.target/i386/asm-dialect-1.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-do compile } */ /* { dg-options "-masm=intel" } */ /* { dg-require-effective-target masm_intel } */ Index: gcc.target/i386/pr50038.c =================================================================== --- gcc.target/i386/pr50038.c (revision 224544) +++ gcc.target/i386/pr50038.c (working copy) @@ -1,4 +1,5 @@ /* PR target/50038 */ +/* { dg-do compile } */ /* { dg-options "-O2" } */ void Index: gcc.target/i386/47698.c =================================================================== --- gcc.target/i386/47698.c (revision 224544) +++ gcc.target/i386/47698.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-do compile } */ /* { dg-options "-Os" } */ /* { dg-final { scan-assembler-not "cmov" } } */ Index: gcc.target/i386/avx512vl-vpmuludq-1.c =================================================================== --- gcc.target/i386/avx512vl-vpmuludq-1.c (revision 224544) +++ gcc.target/i386/avx512vl-vpmuludq-1.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-do compile } */ /* { dg-options "-mavx512vl -O2" } */ /* { dg-final { scan-assembler-times "vpmuludq\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ /* { dg-final { scan-assembler-times "vpmuludq\[ \\t\]+\[^\{\n\]*%ymm\[0-9\]+\{%k\[1-7\]\}{z}(?:\n|\[ \\t\]+#)" 1 } } */ Index: gcc.target/i386/pr59794-2.c =================================================================== --- gcc.target/i386/pr59794-2.c (revision 224544) +++ gcc.target/i386/pr59794-2.c (working copy) @@ -1,4 +1,5 @@ /* PR target/59794 */ +/* { dg-do compile } */ /* { dg-prune-output "ABI for passing parameters" } */ /* { dg-options "-O2 -mno-sse" } */ /* { dg-skip-if "no SSE vector" { *-*-mingw* } } */ Index: gcc.target/i386/extract-insert-combining.c =================================================================== --- gcc.target/i386/extract-insert-combining.c (revision 224544) +++ gcc.target/i386/extract-insert-combining.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target sse4 } */ /* { dg-options "-msse4.2 -O3" } */ /* { dg-final { scan-assembler-times "(?:vmovd|movd)\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]" 3 } } */ /* { dg-final { scan-assembler-times "(?:vpaddd|paddd)\[ \\t\]+\[^\{\n\]*%xmm\[0-9\]" 2 } } */ Index: gcc.target/i386/pr53759.c =================================================================== --- gcc.target/i386/pr53759.c (revision 224544) +++ gcc.target/i386/pr53759.c (working copy) @@ -1,7 +1,6 @@ /* PR target/53759 */ /* { dg-do compile } */ /* { dg-options "-O2 -mavx" } */ -/* { dg-require-effective-target avx } */ #include <xmmintrin.h> Index: gcc.target/i386/fma4-256-nmsubXX.c =================================================================== --- gcc.target/i386/fma4-256-nmsubXX.c (revision 224544) +++ gcc.target/i386/fma4-256-nmsubXX.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-do run } */ /* { dg-require-effective-target fma4 } */ /* { dg-options "-O2 -mfma4" } */ Index: gcc.target/i386/pr59794-3.c =================================================================== --- gcc.target/i386/pr59794-3.c (revision 224544) +++ gcc.target/i386/pr59794-3.c (working copy) @@ -1,4 +1,5 @@ /* PR target/59794 */ +/* { dg-do compile } */ /* { dg-prune-output "ABI for passing parameters" } */ /* { dg-options "-O2 -mno-avx" } */ /* { dg-skip-if "no AVX vector" { *-*-mingw* } } */ Index: gcc.target/i386/pr52252-core.c =================================================================== --- gcc.target/i386/pr52252-core.c (revision 224544) +++ gcc.target/i386/pr52252-core.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target ssse3 } */ /* { dg-options "-O2 -ftree-vectorize -mssse3 -mtune=corei7" } */ #define byte unsigned char Index: gcc.target/i386/rotate-3.c =================================================================== --- gcc.target/i386/rotate-3.c (revision 224544) +++ gcc.target/i386/rotate-3.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target avx2 } */ /* { dg-options "-O3 -mavx2 -fdump-tree-vect-details" } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ Index: gcc.target/i386/sse2-movq-2.c =================================================================== --- gcc.target/i386/sse2-movq-2.c (revision 224544) +++ gcc.target/i386/sse2-movq-2.c (working copy) @@ -1,4 +1,4 @@ -/* { dg-do compile { target { ! { ia32 } } } } */ +/* { dg-do run { target { ! { ia32 } } } } */ /* { dg-require-effective-target sse2 } */ /* { dg-options "-O2 -msse2" } */ Index: gcc.target/i386/sse-20.c =================================================================== --- gcc.target/i386/sse-20.c (revision 224544) +++ gcc.target/i386/sse-20.c (working copy) @@ -1,6 +1,6 @@ /* PR target/13685 */ +/* { dg-do compile } */ /* { dg-options "-Os -msse" } */ -/* { dg-require-effective-target sse } */ typedef float __m128 __attribute__ ((vector_size (16))); typedef int __m64 __attribute__ ((vector_size (8))); Index: gcc.target/i386/rotate-4.c =================================================================== --- gcc.target/i386/rotate-4.c (revision 224544) +++ gcc.target/i386/rotate-4.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target avx } */ /* { dg-options "-O3 -mavx -fdump-tree-vect-details" } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ Index: gcc.target/i386/pr39058.c =================================================================== --- gcc.target/i386/pr39058.c (revision 224544) +++ gcc.target/i386/pr39058.c (working copy) @@ -1,4 +1,5 @@ /* PR inline-asm/39058 */ +/* { dg-do compile } */ /* { dg-options "-O2" } */ double Index: gcc.target/i386/pr61403.c =================================================================== --- gcc.target/i386/pr61403.c (revision 224544) +++ gcc.target/i386/pr61403.c (working copy) @@ -1,5 +1,4 @@ /* { dg-do compile } */ -/* { dg-require-effective-target sse4 } */ /* { dg-options "-O2 -ffast-math -ftree-vectorize -msse4.2 -mtune=corei7" } */ #include <math.h> Index: gcc.target/i386/pr60205-1.c =================================================================== --- gcc.target/i386/pr60205-1.c (revision 224544) +++ gcc.target/i386/pr60205-1.c (working copy) @@ -1,4 +1,5 @@ /* PR target/60205 */ +/* { dg-do compile } */ /* { dg-prune-output "ABI for passing parameters" } */ /* { dg-options "-O2 -mno-avx512f" } */ /* { dg-skip-if "no AVX512F vector" { *-*-mingw* } } */