This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed]: gcc.dg/vect: xfail using lp64_or_vect_no_align


This patch adds an ugly effective target keyword that combines two others.
Since it's unlikely to be used outside of the autovectorization tests it's
hidden away in gcc.dg/vect/vect.exp rather than cluttering up 
lib/target-supports.exp.

Tested on powerpc64-uknown-linux-gnu with -m64/-m32, i686-pc-linux-gnu,
and mipsisa64-elf.  I've checked it in.

2004-12-21  Janis Johnson  <janis187@us.ibm.com>

	* gcc.dg/vect/vect.exp
	(check_effective_target_lp64_or_vect_no_align): New.
	* gcc.dg/vect/vect-77.c: Use it.
	* gcc.dg/vect/vect-78.c: Use it.

Index: gcc/testsuite/gcc.dg/vect/vect.exp
===================================================================
RCS file: /opt/gcc-cvs/gcc/gcc/testsuite/gcc.dg/vect/vect.exp,v
retrieving revision 1.4
diff -u -p -r1.4 vect.exp
--- gcc/testsuite/gcc.dg/vect/vect.exp	23 Nov 2004 22:03:31 -0000	1.4
+++ gcc/testsuite/gcc.dg/vect/vect.exp	21 Dec 2004 00:35:45 -0000
@@ -69,6 +69,19 @@ if [istarget "powerpc*-*-*"] {
     return
 }
 
+# Return 1 if the effective target is LP64 or if the effective target
+# does not support a vector alignment mechanism.
+
+proc check_effective_target_lp64_or_vect_no_align { } {
+    if { [is-effective-target lp64]
+	  || [is-effective-target vect_no_align] } {
+	set answer 1
+    } else {
+	set answer 0
+    }
+    return $answer
+}
+
 # Initialize `dg'.
 dg-init
 
Index: gcc/testsuite/gcc.dg/vect/vect-77.c
===================================================================
RCS file: /opt/gcc-cvs/gcc/gcc/testsuite/gcc.dg/vect/vect-77.c,v
retrieving revision 1.6
diff -u -p -r1.6 vect-77.c
--- gcc/testsuite/gcc.dg/vect/vect-77.c	23 Nov 2004 22:03:30 -0000	1.6
+++ gcc/testsuite/gcc.dg/vect/vect-77.c	20 Dec 2004 23:46:45 -0000
@@ -39,6 +39,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-*-* sparc*-*-* alpha*-*-* } } } */
+/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { xfail lp64_or_vect_no_align } } } */
Index: gcc/testsuite/gcc.dg/vect/vect-78.c
===================================================================
RCS file: /opt/gcc-cvs/gcc/gcc/testsuite/gcc.dg/vect/vect-78.c,v
retrieving revision 1.7
diff -u -p -r1.7 vect-78.c
--- gcc/testsuite/gcc.dg/vect/vect-78.c	23 Nov 2004 22:03:31 -0000	1.7
+++ gcc/testsuite/gcc.dg/vect/vect-78.c	20 Dec 2004 23:47:25 -0000
@@ -40,4 +40,4 @@ int main (void)
   return 0;
 }
 
-/* { 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 lp64_or_vect_no_align } } } */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]