]> gcc.gnu.org Git - gcc.git/commitdiff
target-supports.exp (check_effective_target_vect_no_max, [...]): New.
authorJanis Johnson <janis187@us.ibm.com>
Tue, 21 Dec 2004 18:03:31 +0000 (18:03 +0000)
committerJanis Johnson <janis@gcc.gnu.org>
Tue, 21 Dec 2004 18:03:31 +0000 (18:03 +0000)
* lib/target-supports.exp
(check_effective_target_vect_no_max,
check_effective_target_vect_no_bitwise,
check_effective_target_vect_no_align): New.
* gcc.dg/vect/vect-13.c: Use them.
* 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-20.c: Ditto.
* gcc.dg/vect/vect-27.c: Ditto.
* gcc.dg/vect/vect-29.c: Ditto.
* gcc.dg/vect/vect-44.c: Ditto.
* gcc.dg/vect/vect-48.c: Ditto.
* gcc.dg/vect/vect-50.c: Ditto.
* gcc.dg/vect/vect-52.c: Ditto.
* gcc.dg/vect/vect-54.c: Ditto.
* gcc.dg/vect/vect-56.c: Ditto.
* gcc.dg/vect/vect-58.c: Ditto.
* gcc.dg/vect/vect-60.c: Ditto.
* gcc.dg/vect/vect-72.c: Ditto.
* gcc.dg/vect/vect-80.c: Ditto.

From-SVN: r92466

19 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-13.c
gcc/testsuite/gcc.dg/vect/vect-17.c
gcc/testsuite/gcc.dg/vect/vect-18.c
gcc/testsuite/gcc.dg/vect/vect-19.c
gcc/testsuite/gcc.dg/vect/vect-20.c
gcc/testsuite/gcc.dg/vect/vect-27.c
gcc/testsuite/gcc.dg/vect/vect-29.c
gcc/testsuite/gcc.dg/vect/vect-44.c
gcc/testsuite/gcc.dg/vect/vect-48.c
gcc/testsuite/gcc.dg/vect/vect-50.c
gcc/testsuite/gcc.dg/vect/vect-52.c
gcc/testsuite/gcc.dg/vect/vect-54.c
gcc/testsuite/gcc.dg/vect/vect-56.c
gcc/testsuite/gcc.dg/vect/vect-58.c
gcc/testsuite/gcc.dg/vect/vect-60.c
gcc/testsuite/gcc.dg/vect/vect-72.c
gcc/testsuite/gcc.dg/vect/vect-80.c
gcc/testsuite/lib/target-supports.exp

index 640674a830b753f527998f9e2de9107f20d2a966..b1f391f27ee6a4141225216e58c4ad52544530d5 100644 (file)
@@ -1,3 +1,27 @@
+2004-12-21  Janis Johnson  <janis187@us.ibm.com>
+
+       * lib/target-supports.exp
+       (check_effective_target_vect_no_max,
+       check_effective_target_vect_no_bitwise,
+       check_effective_target_vect_no_align): New.
+       * gcc.dg/vect/vect-13.c: Use them.
+       * 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-20.c: Ditto.
+       * gcc.dg/vect/vect-27.c: Ditto.
+       * gcc.dg/vect/vect-29.c: Ditto.
+       * gcc.dg/vect/vect-44.c: Ditto.
+       * gcc.dg/vect/vect-48.c: Ditto.
+       * gcc.dg/vect/vect-50.c: Ditto.
+       * gcc.dg/vect/vect-52.c: Ditto.
+       * gcc.dg/vect/vect-54.c: Ditto.
+       * gcc.dg/vect/vect-56.c: Ditto.
+       * gcc.dg/vect/vect-58.c: Ditto.
+       * gcc.dg/vect/vect-60.c: Ditto.
+       * gcc.dg/vect/vect-72.c: Ditto.
+       * gcc.dg/vect/vect-80.c: Ditto.
+
 2004-12-21  Nathan Sidwell  <nathan@codesourcery.com>
 
        PR c++/14075
index 94048276ccb654dc7508938f22c8c44a7d11726c..0cec89bc2c625b4a236528b56bb8d4a8bd43d4e0 100644 (file)
@@ -36,6 +36,4 @@ 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-*-* sparc*-*-* alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_max } } } */
index 50f11331c0be36989104e3b230d443637c96ea4d..210e31486bea29ede8d40466c0b23cc89102b01f 100644 (file)
@@ -124,6 +124,4 @@ 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-*-* alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail vect_no_bitwise } } } */
index 991deb44bb4d983750c4398f6eba32c2d9302373..2f9f201584654a2aa123a4277db00a0cd600b385 100644 (file)
@@ -123,6 +123,4 @@ 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-*-* alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail vect_no_bitwise } } } */
index 49c8a5ce8ba5c058559e491688fb5e46f09bb870..681e5866ab42ba188b4acbb72240244c1682b499 100644 (file)
@@ -123,6 +123,4 @@ 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-*-* alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail vect_no_bitwise } } } */
index e2674af3b00df52f91ff6c53725ad1bfb04b2b23..73df78d9386d8f017f5864c5df17753a2af95637 100644 (file)
@@ -95,6 +95,4 @@ 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-*-* alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail vect_no_bitwise } } } */
index 7f020cfd67c1d0b39cfe2f30ca92450d993ee9cb..1c77877814a947e1fef36a5b92b91c25b6591d9c 100644 (file)
@@ -40,7 +40,5 @@ 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-*-* sparc*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
 
index 379e16526ddfe8b047439715635a0eb4bd1ebd1d..4d71bca7c7602dddd117b871814b027a8f7a6923 100644 (file)
@@ -43,7 +43,5 @@ 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-*-* sparc*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
 
index f1e4aae2d362605c99660e0608a7df1ca57f5262..b14a3a3835f5faaf6faa699f2f7f2b1d0b4bd2c2 100644 (file)
@@ -54,6 +54,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index dee986efddea646c1a656ff23edbdb3751697694..48c569648b0ddbf31a1e9b7cd5c94d94353e4584 100644 (file)
@@ -52,6 +52,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index 9076b40cb1b172b3a090f1b51c72c2bf70ff1862..feac1c59baf4ec183b34bb8461bb9371df6c92ca 100644 (file)
@@ -49,7 +49,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index 5ba0992b956f6f73333062bc2ea060cc3699449d..745f36204b592198389a6f659f203e808158a401 100644 (file)
@@ -51,7 +51,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index f7deb174e75f0411c27475c1a1ed5534e260c74a..86f2cdfe6c9d9e1671c86cd6a6a705259ce220a5 100644 (file)
@@ -50,6 +50,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index 40b62b450f3bf65a38091ac87915f2394afb70f5..e3cb64101ddea7cf1c89616aa852c979ef90bc5e 100644 (file)
@@ -50,6 +50,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index 73faab3874c2474faf5c5a61f8b0754985d553fc..feb8ab364e614f42eb1d51719488a327d0069d31 100644 (file)
@@ -51,7 +51,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index 06684e7001c4150e7d5116286a97babb6bb6d871..d3225e12591215773f4cc08c55dc2ea0c0bd1dce 100644 (file)
@@ -51,6 +51,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index 694e5ad8603d54f0ce2dd1b167213b2ac1110c88..12a88099935b3f1dfdf4b37af9ff34ee4374a394 100644 (file)
@@ -40,7 +40,5 @@ 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-*-* sparc*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
 
index 404c7c79bccc4f378ae64420f5b00c6cca9bb926..3b6869259fbda530da3b6a316743885929da11c5 100644 (file)
@@ -42,6 +42,4 @@ 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*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_align } } } */
index d1d94f0f2c9ecb419538c57b0a6f6bf3f300716d..7987680ffe6d69ca26d7ea7b38dcc9be0c33ef33 100644 (file)
@@ -526,6 +526,74 @@ proc check_effective_target_vect_double { } {
     return $et_vect_double_saved
 }
 
+# Return 1 if the target plus current options does not support a vector
+# max instruction, 0 otherwise.
+#
+# This won't change for different subtargets so cache the result.
+
+proc check_effective_target_vect_no_max { } {
+    global et_vect_no_max_saved
+
+    if [info exists et_vect_no_max_saved] {
+       verbose "check_effective_target_vect_no_max: using cached result" 2
+    } else {
+       set et_vect_no_max_saved 0
+       if { [istarget i?86-*-*]
+            || [istarget x86_64-*-*]
+            || [istarget sparc*-*-*]
+            || [istarget alpha*-*-*] } {
+           set et_vect_no_max_saved 1
+       }
+    }
+    verbose "check_effective_target_vect_no_max: returning $et_vect_no_max_saved" 2
+    return $et_vect_no_max_saved
+}
+
+# Return 1 if the target plus current options does not support vector
+# bitwise instructions, 0 otherwise.
+#
+# This won't change for different subtargets so cache the result.
+
+proc check_effective_target_vect_no_bitwise { } {
+    global et_vect_no_bitwise_saved
+
+    if [info exists et_vect_no_bitwise_saved] {
+       verbose "check_effective_target_vect_no_bitwise: using cached result" 2
+    } else {
+       set et_vect_no_bitwise_saved 0
+       if { [istarget i?86-*-*]
+            || [istarget x86_64-*-*]
+            || [istarget alpha-*-*] } {
+           set et_vect_no_bitwise_saved 1
+       }
+    }
+    verbose "check_effective_target_vect_no_bitwise: returning $et_vect_no_bitwise_saved" 2
+    return $et_vect_no_bitwise_saved
+}
+
+# Return 1 if the target plus current options does not support a vector
+# alignment mechanism, 0 otherwise.
+#
+# This won't change for different subtargets so cache the result.
+
+proc check_effective_target_vect_no_align { } {
+    global et_vect_no_align_saved
+
+    if [info exists et_vect_no_align_saved] {
+       verbose "check_effective_target_vect_no_align: using cached result" 2
+    } else {
+       set et_vect_no_align_saved 0
+       if { [istarget i?86-*-*]
+            || [istarget x86_64-*-*]
+            || [istarget mipsisa64*-*-*]
+            || [istarget sparc*-*-*] } {
+           set et_vect_no_align_saved 1
+       }
+    }
+    verbose "check_effective_target_vect_no_align: returning $et_vect_no_align_saved" 2
+    return $et_vect_no_align_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
This page took 0.119686 seconds and 5 git commands to generate.