This is the mail archive of the gcc@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: Question about vectorization limit


On 05/31/2013 10:20 AM, Richard Biener wrote:

So - I doubt that you both do not get any ICEs and more performance.

I added the second suggested patch:

Index: tree-vect-loop-manip.c
===================================================================
--- tree-vect-loop-manip.c	(revision 199454)
+++ tree-vect-loop-manip.c	(working copy)
@@ -985,7 +985,7 @@
/* All loops have an outer scope; the only case loop->outer is NULL is for
          the function itself.  */
       || !loop_outer (loop)
-      || loop->num_nodes != 2
+/*    || loop->num_nodes != 2  */
       || !empty_block_p (loop->latch)
       || !single_exit (loop)
/* Verify that new loop exit condition can be trivially modified. */

And I still get no ICE sicking 3.5 million lines of Fortran on this compiler. This is pretty suspicious - it might well be that checks further down will prohibit vectorization to do anything on loops like

SUBROUTINE XYZ(A, B, N)
DIMENSION A(N), B(N)
DO I = 1, N
   IF (A(I) > 0.0) THEN
      A(I) = B(I) / A(I)
   ELSE
      A(I) = B(I)
   ENDIF
ENDDO
END

--
Toon Moene - e-mail: toon@moene.org - phone: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
At home: http://moene.org/~toon/; weather: http://moene.org/~hirlam/
Progress of GNU Fortran: http://gcc.gnu.org/wiki/GFortran#news


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