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]

Re: [patch] extend.texi MIPS PS/3D Support


Yes, it should. Generic vectors should not be created by the vectorizer (yet).

Ah, I thought that the vectorizer created its vector types with a separate routine, but that has been fixed a while ago. The attached patch should help.


It was bootstrapped and passes the vectorizer testsuite. Full regtest on i686-pc-linux-gnu is in progress. Ok for mainline?

Paolo

2004-09-29 Paolo Bonzini <bonzini@gnu.org>

	* tree-vectorizer.c (vectorizable_operation): Only look at the
	optab in the case of vector modes; otherwise, bail out.
Index: tree-vectorizer.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-vectorizer.c,v
retrieving revision 2.12
diff -u -r2.12 tree-vectorizer.c
--- tree-vectorizer.c	25 Sep 2004 14:48:03 -0000	2.12
+++ tree-vectorizer.c	29 Sep 2004 07:31:24 -0000
@@ -1408,6 +1408,17 @@
       return false;
     }
   vec_mode = TYPE_MODE (vectype);
+  if (GET_MODE_CLASS (vec_mode) != MODE_VECTOR_INT
+      && GET_MODE_CLASS (vec_mode) != MODE_VECTOR_FLOAT)
+    {
+      /* TODO: tree-complex.c sometimes can parallelize operations
+	 on generic vectors.  We can vectorize the loop in that case,
+	 but then we should re-run the lowering pass.  */
+      if (vect_debug_details (NULL))
+	fprintf (dump_file, "vector mode not supported by target.");
+      return false;
+    }
+
   if (optab->handlers[(int) vec_mode].insn_code == CODE_FOR_nothing)
     {
       if (vect_debug_details (NULL))

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