From 07d05ffdacf03e30bc013c814366295a9a32f9d7 Mon Sep 17 00:00:00 2001 From: Janis Johnson Date: Wed, 17 Nov 2004 23:47:21 +0000 Subject: [PATCH] target-supports.exp (check_effective_target_vect_int): New * lib/target-supports.exp (check_effective_target_vect_int): New (check_effective_target_vect_float): New (check_effective_target_vect_double): New. (is-effective-target): Support new effective targets keywords. * gcc.dg/vect/vect.exp: Set target-dependent vector flags and default action for dg-do. * gcc.dg/vect/pr16105.c: Use new support. * gcc.dg/vect/pr18400.c: Ditto. * gcc.dg/vect/pr18425.c: Ditto. * gcc.dg/vect/vect-1.c: Ditto. * gcc.dg/vect/vect-10.c: Ditto. * gcc.dg/vect/vect-11.c: Ditto. * gcc.dg/vect/vect-12.c: Ditto. * gcc.dg/vect/vect-13.c: Ditto. * gcc.dg/vect/vect-14.c: Ditto. * gcc.dg/vect/vect-15.c: Ditto. * gcc.dg/vect/vect-16.c: Ditto. * gcc.dg/vect/vect-17.c: Ditto. * gcc.dg/vect/vect-18.c: Ditto. * gcc.dg/vect/vect-19.c: Ditto. * gcc.dg/vect/vect-2.c: Ditto. * gcc.dg/vect/vect-20.c: Ditto. * gcc.dg/vect/vect-21.c: Ditto. * gcc.dg/vect/vect-22.c: Ditto. * gcc.dg/vect/vect-23.c: Ditto. * gcc.dg/vect/vect-24.c: Ditto. * gcc.dg/vect/vect-25.c: Ditto. * gcc.dg/vect/vect-26.c: Ditto. * gcc.dg/vect/vect-27.c: Ditto. * gcc.dg/vect/vect-27a.c: Ditto. * gcc.dg/vect/vect-28.c: Ditto. * gcc.dg/vect/vect-29.c: Ditto. * gcc.dg/vect/vect-29a.c: Ditto. * gcc.dg/vect/vect-3.c: Ditto. * gcc.dg/vect/vect-30.c: Ditto. * gcc.dg/vect/vect-31.c: Ditto. * gcc.dg/vect/vect-32.c: Ditto. * gcc.dg/vect/vect-33.c: Ditto. * gcc.dg/vect/vect-34.c: Ditto. * gcc.dg/vect/vect-35.c: Ditto. * gcc.dg/vect/vect-36.c: Ditto. * gcc.dg/vect/vect-37.c: Ditto. * gcc.dg/vect/vect-38.c: Ditto. * gcc.dg/vect/vect-4.c: Ditto. * gcc.dg/vect/vect-40.c: Ditto. * gcc.dg/vect/vect-41.c: Ditto. * gcc.dg/vect/vect-42.c: Ditto. * gcc.dg/vect/vect-43.c: Ditto. * gcc.dg/vect/vect-44.c: Ditto. * gcc.dg/vect/vect-45.c: Ditto. * gcc.dg/vect/vect-46.c: Ditto. * gcc.dg/vect/vect-47.c: Ditto. * gcc.dg/vect/vect-48.c: Ditto. * gcc.dg/vect/vect-48a.c: Ditto. * gcc.dg/vect/vect-49.c: Ditto. * gcc.dg/vect/vect-5.c: Ditto. * gcc.dg/vect/vect-50.c: Ditto. * gcc.dg/vect/vect-51.c: Ditto. * gcc.dg/vect/vect-52.c: Ditto. * gcc.dg/vect/vect-53.c: Ditto. * gcc.dg/vect/vect-54.c: Ditto. * gcc.dg/vect/vect-55.c: Ditto. * gcc.dg/vect/vect-56.c: Ditto. * gcc.dg/vect/vect-56a.c: Ditto. * gcc.dg/vect/vect-57.c: Ditto. * gcc.dg/vect/vect-58.c: Ditto. * gcc.dg/vect/vect-59.c: Ditto. * gcc.dg/vect/vect-6.c: Ditto. * gcc.dg/vect/vect-60.c: Ditto. * gcc.dg/vect/vect-61.c: Ditto. * gcc.dg/vect/vect-62.c: Ditto. * gcc.dg/vect/vect-63.c: Ditto. * gcc.dg/vect/vect-64.c: Ditto. * gcc.dg/vect/vect-65.c: Ditto. * gcc.dg/vect/vect-66.c: Ditto. * gcc.dg/vect/vect-67.c: Ditto. * gcc.dg/vect/vect-68.c: Ditto. * gcc.dg/vect/vect-69.c: Ditto. * gcc.dg/vect/vect-7.c: Ditto. * gcc.dg/vect/vect-72.c: Ditto. * gcc.dg/vect/vect-72a.c: Ditto. * gcc.dg/vect/vect-73.c: Ditto. * gcc.dg/vect/vect-74.c: Ditto. * gcc.dg/vect/vect-75.c: Ditto. * gcc.dg/vect/vect-76.c: Ditto. * gcc.dg/vect/vect-77.c: Ditto. * gcc.dg/vect/vect-77a.c: Ditto. * gcc.dg/vect/vect-78.c: Ditto. * gcc.dg/vect/vect-79.c: Ditto. * gcc.dg/vect/vect-8.c: Ditto. * gcc.dg/vect/vect-80.c: Ditto. * gcc.dg/vect/vect-82.c: Ditto. * gcc.dg/vect/vect-82_64.c: Ditto. * gcc.dg/vect/vect-83.c: Ditto. * gcc.dg/vect/vect-83_64.c: Ditto. * gcc.dg/vect/vect-9.c: Ditto. * gcc.dg/vect/vect-all.c: Ditto. * gcc.dg/vect/vect-none.c: Ditto. Co-Authored-By: Aldy Hernandez From-SVN: r90831 --- gcc/testsuite/ChangeLog | 102 +++++++++++++++++++++++++ gcc/testsuite/gcc.dg/vect/pr16105.c | 7 +- gcc/testsuite/gcc.dg/vect/pr18400.c | 5 +- gcc/testsuite/gcc.dg/vect/pr18425.c | 5 +- gcc/testsuite/gcc.dg/vect/vect-1.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-10.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-11.c | 5 +- gcc/testsuite/gcc.dg/vect/vect-12.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-13.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-14.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-15.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-16.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-17.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-18.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-19.c | 11 +-- gcc/testsuite/gcc.dg/vect/vect-2.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-20.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-21.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-22.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-23.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-24.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-25.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-26.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-27.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-27a.c | 4 +- gcc/testsuite/gcc.dg/vect/vect-28.c | 5 +- gcc/testsuite/gcc.dg/vect/vect-29.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-29a.c | 4 +- gcc/testsuite/gcc.dg/vect/vect-3.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-30.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-31.c | 5 +- gcc/testsuite/gcc.dg/vect/vect-32.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-33.c | 8 +- gcc/testsuite/gcc.dg/vect/vect-34.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-35.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-36.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-37.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-38.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-4.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-40.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-41.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-42.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-43.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-44.c | 11 +-- gcc/testsuite/gcc.dg/vect/vect-45.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-46.c | 11 +-- gcc/testsuite/gcc.dg/vect/vect-47.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-48.c | 11 +-- gcc/testsuite/gcc.dg/vect/vect-48a.c | 4 +- gcc/testsuite/gcc.dg/vect/vect-49.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-5.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-50.c | 12 ++- gcc/testsuite/gcc.dg/vect/vect-51.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-52.c | 12 ++- gcc/testsuite/gcc.dg/vect/vect-53.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-54.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-55.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-56.c | 9 +-- gcc/testsuite/gcc.dg/vect/vect-56a.c | 4 +- gcc/testsuite/gcc.dg/vect/vect-57.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-58.c | 12 ++- gcc/testsuite/gcc.dg/vect/vect-59.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-6.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-60.c | 10 +-- gcc/testsuite/gcc.dg/vect/vect-61.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-62.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-63.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-64.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-65.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-66.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-67.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-68.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-69.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-7.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-72.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-72a.c | 5 +- gcc/testsuite/gcc.dg/vect/vect-73.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-74.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-75.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-76.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-77.c | 8 +- gcc/testsuite/gcc.dg/vect/vect-77a.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-78.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-79.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-8.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-80.c | 11 +-- gcc/testsuite/gcc.dg/vect/vect-82.c | 1 - gcc/testsuite/gcc.dg/vect/vect-82_64.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-83.c | 1 - gcc/testsuite/gcc.dg/vect/vect-83_64.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-9.c | 7 +- gcc/testsuite/gcc.dg/vect/vect-all.c | 6 +- gcc/testsuite/gcc.dg/vect/vect-none.c | 6 +- gcc/testsuite/gcc.dg/vect/vect.exp | 53 +++++++++++-- gcc/testsuite/lib/target-supports.exp | 70 +++++++++++++++++ 95 files changed, 386 insertions(+), 505 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 56231e466b5f..5a23be6c3ab0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,105 @@ +2004-11-17 Janis Johnson + Aldy Hernandez + + * lib/target-supports.exp (check_effective_target_vect_int): New + (check_effective_target_vect_float): New + (check_effective_target_vect_double): New. + (is-effective-target): Support new effective targets keywords. + * gcc.dg/vect/vect.exp: Set target-dependent vector flags and + default action for dg-do. + * gcc.dg/vect/pr16105.c: Use new support. + * gcc.dg/vect/pr18400.c: Ditto. + * gcc.dg/vect/pr18425.c: Ditto. + * gcc.dg/vect/vect-1.c: Ditto. + * gcc.dg/vect/vect-10.c: Ditto. + * gcc.dg/vect/vect-11.c: Ditto. + * gcc.dg/vect/vect-12.c: Ditto. + * gcc.dg/vect/vect-13.c: Ditto. + * gcc.dg/vect/vect-14.c: Ditto. + * gcc.dg/vect/vect-15.c: Ditto. + * gcc.dg/vect/vect-16.c: Ditto. + * gcc.dg/vect/vect-17.c: Ditto. + * gcc.dg/vect/vect-18.c: Ditto. + * gcc.dg/vect/vect-19.c: Ditto. + * gcc.dg/vect/vect-2.c: Ditto. + * gcc.dg/vect/vect-20.c: Ditto. + * gcc.dg/vect/vect-21.c: Ditto. + * gcc.dg/vect/vect-22.c: Ditto. + * gcc.dg/vect/vect-23.c: Ditto. + * gcc.dg/vect/vect-24.c: Ditto. + * gcc.dg/vect/vect-25.c: Ditto. + * gcc.dg/vect/vect-26.c: Ditto. + * gcc.dg/vect/vect-27.c: Ditto. + * gcc.dg/vect/vect-27a.c: Ditto. + * gcc.dg/vect/vect-28.c: Ditto. + * gcc.dg/vect/vect-29.c: Ditto. + * gcc.dg/vect/vect-29a.c: Ditto. + * gcc.dg/vect/vect-3.c: Ditto. + * gcc.dg/vect/vect-30.c: Ditto. + * gcc.dg/vect/vect-31.c: Ditto. + * gcc.dg/vect/vect-32.c: Ditto. + * gcc.dg/vect/vect-33.c: Ditto. + * gcc.dg/vect/vect-34.c: Ditto. + * gcc.dg/vect/vect-35.c: Ditto. + * gcc.dg/vect/vect-36.c: Ditto. + * gcc.dg/vect/vect-37.c: Ditto. + * gcc.dg/vect/vect-38.c: Ditto. + * gcc.dg/vect/vect-4.c: Ditto. + * gcc.dg/vect/vect-40.c: Ditto. + * gcc.dg/vect/vect-41.c: Ditto. + * gcc.dg/vect/vect-42.c: Ditto. + * gcc.dg/vect/vect-43.c: Ditto. + * gcc.dg/vect/vect-44.c: Ditto. + * gcc.dg/vect/vect-45.c: Ditto. + * gcc.dg/vect/vect-46.c: Ditto. + * gcc.dg/vect/vect-47.c: Ditto. + * gcc.dg/vect/vect-48.c: Ditto. + * gcc.dg/vect/vect-48a.c: Ditto. + * gcc.dg/vect/vect-49.c: Ditto. + * gcc.dg/vect/vect-5.c: Ditto. + * gcc.dg/vect/vect-50.c: Ditto. + * gcc.dg/vect/vect-51.c: Ditto. + * gcc.dg/vect/vect-52.c: Ditto. + * gcc.dg/vect/vect-53.c: Ditto. + * gcc.dg/vect/vect-54.c: Ditto. + * gcc.dg/vect/vect-55.c: Ditto. + * gcc.dg/vect/vect-56.c: Ditto. + * gcc.dg/vect/vect-56a.c: Ditto. + * gcc.dg/vect/vect-57.c: Ditto. + * gcc.dg/vect/vect-58.c: Ditto. + * gcc.dg/vect/vect-59.c: Ditto. + * gcc.dg/vect/vect-6.c: Ditto. + * gcc.dg/vect/vect-60.c: Ditto. + * gcc.dg/vect/vect-61.c: Ditto. + * gcc.dg/vect/vect-62.c: Ditto. + * gcc.dg/vect/vect-63.c: Ditto. + * gcc.dg/vect/vect-64.c: Ditto. + * gcc.dg/vect/vect-65.c: Ditto. + * gcc.dg/vect/vect-66.c: Ditto. + * gcc.dg/vect/vect-67.c: Ditto. + * gcc.dg/vect/vect-68.c: Ditto. + * gcc.dg/vect/vect-69.c: Ditto. + * gcc.dg/vect/vect-7.c: Ditto. + * gcc.dg/vect/vect-72.c: Ditto. + * gcc.dg/vect/vect-72a.c: Ditto. + * gcc.dg/vect/vect-73.c: Ditto. + * gcc.dg/vect/vect-74.c: Ditto. + * gcc.dg/vect/vect-75.c: Ditto. + * gcc.dg/vect/vect-76.c: Ditto. + * gcc.dg/vect/vect-77.c: Ditto. + * gcc.dg/vect/vect-77a.c: Ditto. + * gcc.dg/vect/vect-78.c: Ditto. + * gcc.dg/vect/vect-79.c: Ditto. + * gcc.dg/vect/vect-8.c: Ditto. + * gcc.dg/vect/vect-80.c: Ditto. + * gcc.dg/vect/vect-82.c: Ditto. + * gcc.dg/vect/vect-82_64.c: Ditto. + * gcc.dg/vect/vect-83.c: Ditto. + * gcc.dg/vect/vect-83_64.c: Ditto. + * gcc.dg/vect/vect-9.c: Ditto. + * gcc.dg/vect/vect-all.c: Ditto. + * gcc.dg/vect/vect-none.c: Ditto. + 2004-11-17 Janis Johnson * lib/gcc-dg.exp (dg-skip-if): New function. diff --git a/gcc/testsuite/gcc.dg/vect/pr16105.c b/gcc/testsuite/gcc.dg/vect/pr16105.c index f8822ef51895..38295815b443 100644 --- a/gcc/testsuite/gcc.dg/vect/pr16105.c +++ b/gcc/testsuite/gcc.dg/vect/pr16105.c @@ -1,8 +1,5 @@ -/* { dg-do compile { target powerpc*-*-* i?86-*-* } } */ -/* { dg-do compile { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_float } */ #define VECTOR_SIZE 512 typedef float afloat __attribute__ ((__aligned__(16))); diff --git a/gcc/testsuite/gcc.dg/vect/pr18400.c b/gcc/testsuite/gcc.dg/vect/pr18400.c index 674ca48e1377..c3a68676a4eb 100644 --- a/gcc/testsuite/gcc.dg/vect/pr18400.c +++ b/gcc/testsuite/gcc.dg/vect/pr18400.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-funroll-loops -O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-funroll-loops -O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/pr18425.c b/gcc/testsuite/gcc.dg/vect/pr18425.c index c000a7a1ba03..758182a5b82b 100644 --- a/gcc/testsuite/gcc.dg/vect/pr18425.c +++ b/gcc/testsuite/gcc.dg/vect/pr18425.c @@ -1,6 +1,5 @@ -/* { dg-do compile { target powerpc*-*-* i?86-*-* x86_64-*-* } } */ -/* { dg-options "-S -O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-S -O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-1.c b/gcc/testsuite/gcc.dg/vect/vect-1.c index fc6d7ef0e948..3715b777566a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-1.c @@ -1,6 +1,6 @@ -/* { dg-do compile { target powerpc*-*-* i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/vect-10.c b/gcc/testsuite/gcc.dg/vect/vect-10.c index 3f5920ca3dc9..286c76a7e730 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-10.c +++ b/gcc/testsuite/gcc.dg/vect/vect-10.c @@ -1,7 +1,5 @@ -/* { dg-do compile { target powerpc*-*-* i?86-*-* x86_64-*-* sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/vect-11.c b/gcc/testsuite/gcc.dg/vect/vect-11.c index cfcc642f9134..ce4bdfc8fee2 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-11.c +++ b/gcc/testsuite/gcc.dg/vect/vect-11.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-12.c b/gcc/testsuite/gcc.dg/vect/vect-12.c index 18dd2a4e859f..76e610bbbf1f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-12.c +++ b/gcc/testsuite/gcc.dg/vect/vect-12.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-13.c b/gcc/testsuite/gcc.dg/vect/vect-13.c index 052abe12d182..992496651845 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-13.c +++ b/gcc/testsuite/gcc.dg/vect/vect-13.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -38,4 +36,6 @@ int main (void) return main1 (); } +/* These fail to vectorize on targets that don't have or model a vector + max operation. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-14.c b/gcc/testsuite/gcc.dg/vect/vect-14.c index e3417528143c..aceafa13e791 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-14.c +++ b/gcc/testsuite/gcc.dg/vect/vect-14.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-15.c b/gcc/testsuite/gcc.dg/vect/vect-15.c index cc42a5230c5b..c7d20a82294a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-15.c +++ b/gcc/testsuite/gcc.dg/vect/vect-15.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-16.c b/gcc/testsuite/gcc.dg/vect/vect-16.c index 3bbfbe7b8bcc..d24b0aa83d7a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-16.c +++ b/gcc/testsuite/gcc.dg/vect/vect-16.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-17.c b/gcc/testsuite/gcc.dg/vect/vect-17.c index 93f5bae1812d..e28d21cefe53 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-17.c +++ b/gcc/testsuite/gcc.dg/vect/vect-17.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -129,4 +124,6 @@ int main (void) return main1 (); } +/* These fail to vectorize on targets that don't have or model vector + bitwise operations. */ /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-18.c b/gcc/testsuite/gcc.dg/vect/vect-18.c index f7cb8b82f222..62f39d42810d 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-18.c +++ b/gcc/testsuite/gcc.dg/vect/vect-18.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -128,4 +123,6 @@ int main (void) return main1 (); } +/* These fail to vectorize on targets that don't have or model vector + bitwise operations. */ /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-19.c b/gcc/testsuite/gcc.dg/vect/vect-19.c index e1b793907c51..b323115c9e2c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-19.c +++ b/gcc/testsuite/gcc.dg/vect/vect-19.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ - +/* { dg-require-effective-target vect_int } */ + #include #include "tree-vect.h" @@ -128,4 +123,6 @@ int main (void) return main1 (); } +/* These fail to vectorize on targets that don't have or model vector + bitwise operations. */ /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-2.c b/gcc/testsuite/gcc.dg/vect/vect-2.c index b944cd8a8786..e4c08774ba11 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-2.c +++ b/gcc/testsuite/gcc.dg/vect/vect-2.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-20.c b/gcc/testsuite/gcc.dg/vect/vect-20.c index 8cd5e73651ef..1f98606557fd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-20.c +++ b/gcc/testsuite/gcc.dg/vect/vect-20.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -100,4 +95,6 @@ int main (void) return main1 (); } +/* These fail to vectorize on targets that don't have or model vector + bitwise operations. */ /* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" {xfail i?86-*-* x86_64-*-*} } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-21.c b/gcc/testsuite/gcc.dg/vect/vect-21.c index f4546c99f5fc..20709aa5e3e5 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-21.c +++ b/gcc/testsuite/gcc.dg/vect/vect-21.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ - +/* { dg-require-effective-target vect_int } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-22.c b/gcc/testsuite/gcc.dg/vect/vect-22.c index 2627922ef1ec..51c2b028dea3 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-22.c +++ b/gcc/testsuite/gcc.dg/vect/vect-22.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ - +/* { dg-require-effective-target vect_int } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-23.c b/gcc/testsuite/gcc.dg/vect/vect-23.c index c1e2502c69ef..85fd9cfe5789 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-23.c +++ b/gcc/testsuite/gcc.dg/vect/vect-23.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ - +/* { dg-require-effective-target vect_int } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-24.c b/gcc/testsuite/gcc.dg/vect/vect-24.c index b65d4f5bbfb9..72645650f915 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-24.c +++ b/gcc/testsuite/gcc.dg/vect/vect-24.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ - +/* { dg-require-effective-target vect_int } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-25.c b/gcc/testsuite/gcc.dg/vect/vect-25.c index 9430fa3f9807..bde05b15d5f6 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-25.c +++ b/gcc/testsuite/gcc.dg/vect/vect-25.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-26.c b/gcc/testsuite/gcc.dg/vect/vect-26.c index bde98feb0632..75e1db9c2dc3 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-26.c +++ b/gcc/testsuite/gcc.dg/vect/vect-26.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-27.c b/gcc/testsuite/gcc.dg/vect/vect-27.c index d2e8c9445599..428c9270853c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-27.c +++ b/gcc/testsuite/gcc.dg/vect/vect-27.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -43,5 +40,7 @@ int main (void) return main1 (); } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-27a.c b/gcc/testsuite/gcc.dg/vect/vect-27a.c index 9dd75498676b..f28f9c85b24c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-27a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-27a.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */ #include diff --git a/gcc/testsuite/gcc.dg/vect/vect-28.c b/gcc/testsuite/gcc.dg/vect/vect-28.c index 26ebfc1a6e5c..5ce659842a75 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-28.c +++ b/gcc/testsuite/gcc.dg/vect/vect-28.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-29.c b/gcc/testsuite/gcc.dg/vect/vect-29.c index c0383c7c8a63..58f3ec16a53b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-29.c +++ b/gcc/testsuite/gcc.dg/vect/vect-29.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -46,5 +43,7 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-29a.c b/gcc/testsuite/gcc.dg/vect/vect-29a.c index 13cd5c9d3f24..1e3c93cc4dc5 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-29a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-29a.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */ #include diff --git a/gcc/testsuite/gcc.dg/vect/vect-3.c b/gcc/testsuite/gcc.dg/vect/vect-3.c index 1f3d0f84ac0b..cb00ca8bc44f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-3.c +++ b/gcc/testsuite/gcc.dg/vect/vect-3.c @@ -1,7 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-30.c b/gcc/testsuite/gcc.dg/vect/vect-30.c index b2c18ef81a3b..056d689c81cf 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-30.c +++ b/gcc/testsuite/gcc.dg/vect/vect-30.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-31.c b/gcc/testsuite/gcc.dg/vect/vect-31.c index b15f1569ef40..77e524ecd8d1 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-31.c +++ b/gcc/testsuite/gcc.dg/vect/vect-31.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-32.c b/gcc/testsuite/gcc.dg/vect/vect-32.c index ef394a66df94..312e4053fb87 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-32.c +++ b/gcc/testsuite/gcc.dg/vect/vect-32.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-33.c b/gcc/testsuite/gcc.dg/vect/vect-33.c index 3c2edc4c9b80..dc37eb5eee5a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-33.c +++ b/gcc/testsuite/gcc.dg/vect/vect-33.c @@ -1,9 +1,5 @@ -/* { dg-do compile { target powerpc*-*-* } } */ -/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ -/* { dg-do compile { target sparc*-*-* } } */ -/* { dg-options "-S -O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-S -O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-34.c b/gcc/testsuite/gcc.dg/vect/vect-34.c index f147da80d73f..4ce8474d4a5d 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-34.c +++ b/gcc/testsuite/gcc.dg/vect/vect-34.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-35.c b/gcc/testsuite/gcc.dg/vect/vect-35.c index 775ee5aa3d33..f0943940b9a4 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-35.c +++ b/gcc/testsuite/gcc.dg/vect/vect-35.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-36.c b/gcc/testsuite/gcc.dg/vect/vect-36.c index 37536e028a28..f62ed8b0ec6a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-36.c +++ b/gcc/testsuite/gcc.dg/vect/vect-36.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-37.c b/gcc/testsuite/gcc.dg/vect/vect-37.c index 58929fd4c1dd..97cd0ec902be 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-37.c +++ b/gcc/testsuite/gcc.dg/vect/vect-37.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-38.c b/gcc/testsuite/gcc.dg/vect/vect-38.c index df2cf9c2c5db..6c2f80c02b8b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-38.c +++ b/gcc/testsuite/gcc.dg/vect/vect-38.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_double } */ #include #include "tree-vect.h" @@ -38,4 +35,4 @@ int main (void) } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail powerpc*-*-* } } } */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-4.c b/gcc/testsuite/gcc.dg/vect/vect-4.c index 36e20ede5992..d82903a5c5f8 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-4.c +++ b/gcc/testsuite/gcc.dg/vect/vect-4.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-40.c b/gcc/testsuite/gcc.dg/vect/vect-40.c index 2e5f845579e0..fa2139b3716c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-40.c +++ b/gcc/testsuite/gcc.dg/vect/vect-40.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-41.c b/gcc/testsuite/gcc.dg/vect/vect-41.c index ea0edf35e66b..f86039843fc3 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-41.c +++ b/gcc/testsuite/gcc.dg/vect/vect-41.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-42.c b/gcc/testsuite/gcc.dg/vect/vect-42.c index efd5f9bff391..acc5a57cc2e1 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-42.c +++ b/gcc/testsuite/gcc.dg/vect/vect-42.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-43.c b/gcc/testsuite/gcc.dg/vect/vect-43.c index f39433b7a0cc..29e0a2c12213 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-43.c +++ b/gcc/testsuite/gcc.dg/vect/vect-43.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-44.c b/gcc/testsuite/gcc.dg/vect/vect-44.c index 0dcfd7cf8a34..f1e4aae2d362 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-44.c +++ b/gcc/testsuite/gcc.dg/vect/vect-44.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" @@ -59,4 +54,6 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-45.c b/gcc/testsuite/gcc.dg/vect/vect-45.c index e53f5726a206..b970a8622d87 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-45.c +++ b/gcc/testsuite/gcc.dg/vect/vect-45.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-46.c b/gcc/testsuite/gcc.dg/vect/vect-46.c index d28c0151ce9a..647172eaf06f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-46.c +++ b/gcc/testsuite/gcc.dg/vect/vect-46.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" @@ -55,4 +50,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ +/* This fails to vectorize for 64-bit powerpc but there's no way to + specify that in an xfail list. */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-47.c b/gcc/testsuite/gcc.dg/vect/vect-47.c index ac9d219efca1..a16ebaa03c3d 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-47.c +++ b/gcc/testsuite/gcc.dg/vect/vect-47.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-48.c b/gcc/testsuite/gcc.dg/vect/vect-48.c index be00088d2919..dee986efddea 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-48.c +++ b/gcc/testsuite/gcc.dg/vect/vect-48.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" @@ -57,4 +52,6 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-48a.c b/gcc/testsuite/gcc.dg/vect/vect-48a.c index 0422edcbf6bf..8040c5310b99 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-48a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-48a.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */ #include diff --git a/gcc/testsuite/gcc.dg/vect/vect-49.c b/gcc/testsuite/gcc.dg/vect/vect-49.c index ef8049f2ebf6..c933070c3e83 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-49.c +++ b/gcc/testsuite/gcc.dg/vect/vect-49.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-5.c b/gcc/testsuite/gcc.dg/vect/vect-5.c index b0407ec7f4a6..38896053ac8c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-5.c +++ b/gcc/testsuite/gcc.dg/vect/vect-5.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-50.c b/gcc/testsuite/gcc.dg/vect/vect-50.c index 4f8c6cbf8f3d..9076b40cb1b1 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-50.c +++ b/gcc/testsuite/gcc.dg/vect/vect-50.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" @@ -54,4 +49,7 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. They also fail to vectorize for 64-bit powerpc but there's no + way to specify that in an xfail list. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-51.c b/gcc/testsuite/gcc.dg/vect/vect-51.c index 07f632ebd874..1a3befd79899 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-51.c +++ b/gcc/testsuite/gcc.dg/vect/vect-51.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-52.c b/gcc/testsuite/gcc.dg/vect/vect-52.c index a2c8e6c4aace..5ba0992b956f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-52.c +++ b/gcc/testsuite/gcc.dg/vect/vect-52.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" @@ -56,4 +51,7 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. They also fail to vectorize for 64-bit powerpc but there's no + way to specify that in an xfail list. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-53.c b/gcc/testsuite/gcc.dg/vect/vect-53.c index 89bdd6e6d597..49aba7d2bcc9 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-53.c +++ b/gcc/testsuite/gcc.dg/vect/vect-53.c @@ -1,10 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ - +/* { dg-require-effective-target vect_float } */ + #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-54.c b/gcc/testsuite/gcc.dg/vect/vect-54.c index 712b77c0a671..f7deb174e75f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-54.c +++ b/gcc/testsuite/gcc.dg/vect/vect-54.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" @@ -55,4 +50,6 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-55.c b/gcc/testsuite/gcc.dg/vect/vect-55.c index b799e28df174..016ff4d5918e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-55.c +++ b/gcc/testsuite/gcc.dg/vect/vect-55.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-56.c b/gcc/testsuite/gcc.dg/vect/vect-56.c index 725dc123a248..40b62b450f3b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-56.c +++ b/gcc/testsuite/gcc.dg/vect/vect-56.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" @@ -55,4 +50,6 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-56a.c b/gcc/testsuite/gcc.dg/vect/vect-56a.c index 5d8ed115f18d..2968040ac670 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-56a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-56a.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */ #include diff --git a/gcc/testsuite/gcc.dg/vect/vect-57.c b/gcc/testsuite/gcc.dg/vect/vect-57.c index 87862d03dd0f..8f970c4e1f72 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-57.c +++ b/gcc/testsuite/gcc.dg/vect/vect-57.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-58.c b/gcc/testsuite/gcc.dg/vect/vect-58.c index 8809bd7d18b6..73faab3874c2 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-58.c +++ b/gcc/testsuite/gcc.dg/vect/vect-58.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" @@ -56,4 +51,7 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. They also fail to vectorize for 64-bit powerpc but there's no + way to specify that in an xfail list. */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-59.c b/gcc/testsuite/gcc.dg/vect/vect-59.c index 0b5a00d3993d..29d7e2cf1c4f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-59.c +++ b/gcc/testsuite/gcc.dg/vect/vect-59.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-6.c b/gcc/testsuite/gcc.dg/vect/vect-6.c index 2c7d084d372f..1ddcdda30c0d 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-6.c +++ b/gcc/testsuite/gcc.dg/vect/vect-6.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-60.c b/gcc/testsuite/gcc.dg/vect/vect-60.c index 37f3d0e99822..06684e7001c4 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-60.c +++ b/gcc/testsuite/gcc.dg/vect/vect-60.c @@ -1,10 +1,4 @@ - -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" @@ -57,4 +51,6 @@ int main (void) return 0; } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-61.c b/gcc/testsuite/gcc.dg/vect/vect-61.c index 6df22a61c405..cf25daee6604 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-61.c +++ b/gcc/testsuite/gcc.dg/vect/vect-61.c @@ -1,7 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-62.c b/gcc/testsuite/gcc.dg/vect/vect-62.c index 7656bbe0a2c4..4138eb881e86 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-62.c +++ b/gcc/testsuite/gcc.dg/vect/vect-62.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-63.c b/gcc/testsuite/gcc.dg/vect/vect-63.c index 44d034125e63..aa80680dc9cd 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-63.c +++ b/gcc/testsuite/gcc.dg/vect/vect-63.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-64.c b/gcc/testsuite/gcc.dg/vect/vect-64.c index 6d2dba7d21b5..febc52f1b687 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-64.c +++ b/gcc/testsuite/gcc.dg/vect/vect-64.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-65.c b/gcc/testsuite/gcc.dg/vect/vect-65.c index b3a3149911c6..25ba878203cc 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-65.c +++ b/gcc/testsuite/gcc.dg/vect/vect-65.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-66.c b/gcc/testsuite/gcc.dg/vect/vect-66.c index 208bea24ff0f..423723d6cbff 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-66.c +++ b/gcc/testsuite/gcc.dg/vect/vect-66.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-67.c b/gcc/testsuite/gcc.dg/vect/vect-67.c index 4fa47f69c8d4..648000084c04 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-67.c +++ b/gcc/testsuite/gcc.dg/vect/vect-67.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-68.c b/gcc/testsuite/gcc.dg/vect/vect-68.c index a5ad5baf86b2..236acee48c9e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-68.c +++ b/gcc/testsuite/gcc.dg/vect/vect-68.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-69.c b/gcc/testsuite/gcc.dg/vect/vect-69.c index 57c634553c93..6794a283b71d 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-69.c +++ b/gcc/testsuite/gcc.dg/vect/vect-69.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-7.c b/gcc/testsuite/gcc.dg/vect/vect-7.c index 5eb1f1ee147a..4d33bad908b3 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-7.c +++ b/gcc/testsuite/gcc.dg/vect/vect-7.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-72.c b/gcc/testsuite/gcc.dg/vect/vect-72.c index 1a2ad070963d..f01cfdd9fb50 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-72.c +++ b/gcc/testsuite/gcc.dg/vect/vect-72.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -43,5 +40,7 @@ int main (void) return main1 (); } +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-72a.c b/gcc/testsuite/gcc.dg/vect/vect-72a.c index 71fda70badc5..1c5c912bd690 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-72a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-72a.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */ #include @@ -45,3 +43,4 @@ int main (void) /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ + diff --git a/gcc/testsuite/gcc.dg/vect/vect-73.c b/gcc/testsuite/gcc.dg/vect/vect-73.c index 26b110803d8d..b350bdf6cf65 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-73.c +++ b/gcc/testsuite/gcc.dg/vect/vect-73.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-74.c b/gcc/testsuite/gcc.dg/vect/vect-74.c index 593ba64b9227..d93eed46ef0c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-74.c +++ b/gcc/testsuite/gcc.dg/vect/vect-74.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-75.c b/gcc/testsuite/gcc.dg/vect/vect-75.c index 6293bc193d08..3ee2421bd6db 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-75.c +++ b/gcc/testsuite/gcc.dg/vect/vect-75.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-76.c b/gcc/testsuite/gcc.dg/vect/vect-76.c index 09529ee47753..47c14d7db62f 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-76.c +++ b/gcc/testsuite/gcc.dg/vect/vect-76.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-77.c b/gcc/testsuite/gcc.dg/vect/vect-77.c index 9f5697d60352..9afd983a731b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-77.c +++ b/gcc/testsuite/gcc.dg/vect/vect-77.c @@ -1,7 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" @@ -42,6 +39,7 @@ int main (void) return 0; } - +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-77a.c b/gcc/testsuite/gcc.dg/vect/vect-77a.c index afa0c494d3bf..7436b4e6307e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-77a.c +++ b/gcc/testsuite/gcc.dg/vect/vect-77a.c @@ -1,6 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mmmx" { target i?86-*-* x86_64-*-* } } */ #include @@ -43,5 +41,7 @@ int main (void) } +/* This fails to vectorize for 64-bit powerpc but there's no way to + specify that in an xfail list. */ /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-78.c b/gcc/testsuite/gcc.dg/vect/vect-78.c index 6566a206568c..35be16dbe282 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-78.c +++ b/gcc/testsuite/gcc.dg/vect/vect-78.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-79.c b/gcc/testsuite/gcc.dg/vect/vect-79.c index a350a2fb82ce..aae9caff0940 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-79.c +++ b/gcc/testsuite/gcc.dg/vect/vect-79.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-8.c b/gcc/testsuite/gcc.dg/vect/vect-8.c index d3513f76ba8b..960eb34c0dfb 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-8.c +++ b/gcc/testsuite/gcc.dg/vect/vect-8.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-80.c b/gcc/testsuite/gcc.dg/vect/vect-80.c index fd32ee820298..404c7c79bccc 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-80.c +++ b/gcc/testsuite/gcc.dg/vect/vect-80.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target mipsisa64*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mpaired-single" { target mipsisa64*-*-* } } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" @@ -47,4 +42,6 @@ int main (void) return 0; } -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ +/* These are not yet vectorized on targets that do not model alignment-handling + mechanisms. */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* mipsisa64*-*-* } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-82.c b/gcc/testsuite/gcc.dg/vect/vect-82.c index 133005c4f268..0328c16004c4 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-82.c +++ b/gcc/testsuite/gcc.dg/vect/vect-82.c @@ -1,5 +1,4 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-82_64.c b/gcc/testsuite/gcc.dg/vect/vect-82_64.c index 088e5d896ded..beb158560306 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-82_64.c +++ b/gcc/testsuite/gcc.dg/vect/vect-82_64.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-83.c b/gcc/testsuite/gcc.dg/vect/vect-83.c index 0b65f7660721..ce12629538a0 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-83.c +++ b/gcc/testsuite/gcc.dg/vect/vect-83.c @@ -1,5 +1,4 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-83_64.c b/gcc/testsuite/gcc.dg/vect/vect-83_64.c index f74d6992cf36..776adade0614 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-83_64.c +++ b/gcc/testsuite/gcc.dg/vect/vect-83_64.c @@ -1,5 +1,5 @@ /* { dg-do run { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ +/* { dg-options "-O2 -ftree-vectorize -mpowerpc64 -fdump-tree-vect-stats -maltivec" } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-9.c b/gcc/testsuite/gcc.dg/vect/vect-9.c index 61295dc7d1a6..98b9451845c5 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-9.c +++ b/gcc/testsuite/gcc.dg/vect/vect-9.c @@ -1,9 +1,4 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-do run { target sparc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -mcpu=ultrasparc -mvis" { target sparc*-*-* } } */ +/* { dg-require-effective-target vect_int } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-all.c b/gcc/testsuite/gcc.dg/vect/vect-all.c index bfdbcd6360f8..aba1f7d1ebe7 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-all.c +++ b/gcc/testsuite/gcc.dg/vect/vect-all.c @@ -1,7 +1,5 @@ -/* { dg-do run { target powerpc*-*-* } } */ -/* { dg-do run { target i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #include #include "tree-vect.h" diff --git a/gcc/testsuite/gcc.dg/vect/vect-none.c b/gcc/testsuite/gcc.dg/vect/vect-none.c index a9d44759d1d7..a7c05086c50e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-none.c +++ b/gcc/testsuite/gcc.dg/vect/vect-none.c @@ -1,6 +1,6 @@ -/* { dg-do compile { target powerpc*-*-* i?86-*-* x86_64-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -maltivec" { target powerpc*-*-* } } */ -/* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-stats -msse2" { target i?86-*-* x86_64-*-* } } */ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_float } */ #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/vect.exp b/gcc/testsuite/gcc.dg/vect/vect.exp index ee8394880ba1..8740fa3bbb7a 100644 --- a/gcc/testsuite/gcc.dg/vect/vect.exp +++ b/gcc/testsuite/gcc.dg/vect/vect.exp @@ -1,4 +1,4 @@ -# Copyright (C) 1997 Free Software Foundation, Inc. +# Copyright (C) 1997, 2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,17 +19,58 @@ # Load support procs. load_lib gcc-dg.exp -# If a testcase doesn't have special options, use these. -global DEFAULT_CFLAGS -if ![info exists DEFAULT_CFLAGS] then { - set DEFAULT_CFLAGS " -ansi -pedantic-errors" +# Set up flags used for tests that don't specify options. +set DEFAULT_VECTCFLAGS "" + +# These flags are used for all targets. +lappend DEFAULT_VECTCFLAGS "-O2" "-ftree-vectorize" "-fdump-tree-vect-stats" + +# If the target system supports vector instructions, the default action +# for a test is 'run', otherwise it's 'compile'. Save current default. +# Executing vector instructions on a system without hardware vector support +# is also disabled by a call to check_vect, but disabling execution here is +# more efficient. +global dg-do-what-default +set save-dg-do-what-default ${dg-do-what-default} + +# Skip these tests for targets that do not support generating vector +# code. Set additional target-dependent vector flags, which can be +# overridden by using dg-options in individual tests. +if [istarget "powerpc*-*-*"] { + # If there are powerpc targets to skip, do it here. + + lappend DEFAULT_VECTCFLAGS "-maltivec" + if [check_vmx_hw_available] { + set dg-do-what-default run + } else { + if [is-effective-target ilp32] { + # Specify a cpu that supports VMX for compile-only tests. + lappend DEFAULT_VECTCFLAGS "-mcpu=7400" + } + set dg-do-what-default compile + } +} elseif { [istarget "i?86-*-*"] || [istarget "x86_64-*-*"] } { + lappend DEFAULT_VECTCFLAGS "-msse2" + set dg-do-what-default run +} elseif [istarget "mipsisa64*-*-*"] { + lappend DEFAULT_VECTCFLAGS "-mpaired-single" + set dg-do-what-default run +} elseif [istarget "sparc*-*-*"] { + lappend DEFAULT_VECTFLAGS "-mcpu=ultrasparc -mvis" + set dg-do-what-default run +} else { + return } # Initialize `dg'. dg-init # Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "" $DEFAULT_CFLAGS +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \ + "" $DEFAULT_VECTCFLAGS + +# Clean up. +set dg-do-what-default ${save-dg-do-what-default} # All done. dg-finish diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index df1b4416cfc1..ae85837428cc 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -392,6 +392,73 @@ proc check_effective_target_lp64 { } { return $answer } +# Return 1 if the target supports hardware vectors of int, 0 otherwise. +# +# This won't change for different subtargets so cache the result. + +proc check_effective_target_vect_int { } { + global et_vect_int_saved + + if [info exists et_vect_int_saved] { + verbose "check_effective_target_vect_int: using cached result" 2 + } else { + set et_vect_int_saved 0 + if { [istarget i?86-*-*] + || [istarget powerpc*-*-*] + || [istarget x86_64-*-*] + || [istarget sparc*-*-*] } { + set et_vect_int_saved 1 + } + } + + verbose "check_effective_target_vect_int: returning $et_vect_int_saved" 2 + return $et_vect_int_saved +} + +# Return 1 if the target supports hardware vectors of float, 0 otherwise. +# +# This won't change for different subtargets so cache the result. + +proc check_effective_target_vect_float { } { + global et_vect_float_saved + + if [info exists et_vect_float_saved] { + verbose "check_effective_target_vect_float: using cached result" 2 + } else { + set et_vect_float_saved 0 + if { [istarget i?86-*-*] + || [istarget powerpc*-*-*] + || [istarget mipsisa64*-*-*] + || [istarget x86_64-*-*] } { + set et_vect_float_saved 1 + } + } + + verbose "check_effective_target_vect_float: returning $et_vect_float_saved" 2 + return $et_vect_float_saved +} + +# Return 1 if the target supports hardware vectors of double, 0 otherwise. +# +# This won't change for different subtargets so cache the result. + +proc check_effective_target_vect_double { } { + global et_vect_double_saved + + if [info exists et_vect_double_saved] { + verbose "check_effective_target_vect_double: using cached result" 2 + } else { + set et_vect_double_saved 0 + if { [istarget i?86-*-*] + || [istarget x86_64-*-*] } { + set et_vect_double_saved 1 + } + } + + verbose "check_effective_target_vect_double: returning $et_vect_double_saved" 2 + return $et_vect_double_saved +} + # Return 1 if the target matches the effective target 'arg', 0 otherwise. # This can be used with any check_* proc that takes no argument and # returns only 1 or 0. It could be used with check_* procs that take @@ -405,6 +472,9 @@ proc is-effective-target { arg } { "vmx_hw" { set selected [check_vmx_hw_available] } "named_sections" { set selected [check_named_sections_available] } "gc_sections" { set selected [check_gc_sections_available] } + "vect_int" { set selected [check_effective_target_vect_int] } + "vect_float" { set selected [check_effective_target_vect_float] } + "vect_double" { set selected [check_effective_target_vect_double] } default { error "unknown effective target selector `$arg'" } } verbose "is-effective-target: $arg $selected" 2