]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
target-supports.exp (check_effective_target_vect_no_int_max): Rename from check_effec...
authorRichard Henderson <rth@redhat.com>
Wed, 29 Jun 2005 18:25:12 +0000 (11:25 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Wed, 29 Jun 2005 18:25:12 +0000 (11:25 -0700)
        * lib/target-supports.exp (check_effective_target_vect_no_int_max):
        Rename from check_effective_target_vect_no_max.
        (check_effective_target_vect_no_int_add): New.
        * gcc.dg/vect/vect-13.c: Use vect_no_int_max.
        * gcc.dg/vect/vect-91.c: Use vect_no_int_add.
        * gcc.dg/vect/vect-reduc-3.c: Likewise.
        * gcc.dg/vect/vect-reduc-1.c: Use both.
        * gcc.dg/vect/vect-reduc-2.c: Likewise.

From-SVN: r101435

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-13.c
gcc/testsuite/gcc.dg/vect/vect-91.c
gcc/testsuite/gcc.dg/vect/vect-reduc-1.c
gcc/testsuite/gcc.dg/vect/vect-reduc-2.c
gcc/testsuite/gcc.dg/vect/vect-reduc-3.c
gcc/testsuite/lib/target-supports.exp

index 10b2817eeb770df9c8efc12288dc3152ed49848e..0c5663fdf6eb6ce0dca22e87cd3d7dc5bf7572fc 100644 (file)
@@ -1,3 +1,14 @@
+2005-05-29  Richard Henderson  <rth@redhat.com>
+
+       * lib/target-supports.exp (check_effective_target_vect_no_int_max):
+       Rename from check_effective_target_vect_no_max.
+       (check_effective_target_vect_no_int_add): New.
+       * gcc.dg/vect/vect-13.c: Use vect_no_int_max.
+       * gcc.dg/vect/vect-91.c: Use vect_no_int_add.
+       * gcc.dg/vect/vect-reduc-3.c: Likewise.
+       * gcc.dg/vect/vect-reduc-1.c: Use both.
+       * gcc.dg/vect/vect-reduc-2.c: Likewise.
+
 2005-05-29  Richard Henderson  <rth@redhat.com>
 
        * lib/target-supports.exp (check_effective_target_vect_no_max): 
index 9e6f4f92511b2b3a2afafb3e65de750a9794ee02..dcafcaf2da61e87cdf97a999041b4223e41f1a8c 100644 (file)
@@ -36,6 +36,6 @@ int main (void)
   return main1 ();
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_max } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_int_max } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 80afd692d354209ee1adb916ed6b0fe781fc27fd..96099f4fe0b0b3e77388d9fed1abac43d75d3144 100644 (file)
@@ -63,7 +63,7 @@ main3 ()
 /* Currently only the loops in main2 and main3 get vectorized. After the merge 
    of the datarefs-analysis cleanups from autovect-branch to mainline, the loop
    in main1 will also be vectorized.  */ 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" { xfail vect_no_int_add } } } */
 /* { dg-final { scan-tree-dump-times "Vectorizing an unaligned access" 0 "vect" } } */
 /* { dg-final { scan-tree-dump-times "accesses have the same alignment." 2 "vect" } } */
 /* { dg-final { scan-tree-dump-times "Alignment of access forced using peeling" 2 "vect" } } */
index a58257993809724749e0999e593285a07f237414..660c2df9529c524fe541cbd600689e71be046b24 100644 (file)
@@ -50,5 +50,5 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail { vect_no_int_add || vect_no_int_max } } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index ef4499f761d1d54caaa9598d7f2750d592c971e6..37635eaf2d32e277f41444fba410c87d7a8ca9a2 100644 (file)
@@ -47,5 +47,5 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail i?86-*-* x86_64-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 3 loops" 1 "vect" { xfail { vect_no_int_add || vect_no_int_max } } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index 001183721aa6ee67aa102e14a2ce4e1275b2f2a7..486ac53d09de64774622ca2485edf3ca8faa34b5 100644 (file)
@@ -36,5 +36,5 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail vect_no_int_add } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */
index d00850ad3f031eb19e1add922161f29241cd083f..7605114a722378c33c94a1c793645151842289e1 100644 (file)
@@ -962,24 +962,45 @@ proc check_effective_target_vect_double { } {
 }
 
 # Return 1 if the target plus current options does not support a vector
-# max instruction, 0 otherwise.
+# max instruction on "int", 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
+proc check_effective_target_vect_no_int_max { } {
+    global et_vect_no_int_max_saved
 
-    if [info exists et_vect_no_max_saved] {
-       verbose "check_effective_target_vect_no_max: using cached result" 2
+    if [info exists et_vect_no_int_max_saved] {
+       verbose "check_effective_target_vect_no_int_max: using cached result" 2
     } else {
-       set et_vect_no_max_saved 0
+       set et_vect_no_int_max_saved 0
        if { [istarget sparc*-*-*]
             || [istarget alpha*-*-*] } {
-           set et_vect_no_max_saved 1
+           set et_vect_no_int_max_saved 1
        }
     }
-    verbose "check_effective_target_vect_no_max: returning $et_vect_no_max_saved" 2
-    return $et_vect_no_max_saved
+    verbose "check_effective_target_vect_no_int_max: returning $et_vect_no_int_max_saved" 2
+    return $et_vect_no_int_max_saved
+}
+
+# Return 1 if the target plus current options does not support a vector
+# add instruction on "int", 0 otherwise.
+#
+# This won't change for different subtargets so cache the result.
+
+proc check_effective_target_vect_no_int_add { } {
+    global et_vect_no_int_add_saved
+
+    if [info exists et_vect_no_int_add_saved] {
+       verbose "check_effective_target_vect_no_int_add: using cached result" 2
+    } else {
+       set et_vect_no_int_add_saved 0
+       # Alpha only supports vector add on V8QI and V4HI.
+       if { [istarget alpha*-*-*] } {
+           set et_vect_no_int_add_saved 1
+       }
+    }
+    verbose "check_effective_target_vect_no_int_add: returning $et_vect_no_int_add_saved" 2
+    return $et_vect_no_int_add_saved
 }
 
 # Return 1 if the target plus current options does not support vector