[patch] lno branch merge - vectorizer patch #3

Dorit Naishlos DORIT@il.ibm.com
Mon Sep 20 08:54:00 GMT 2004


Committed, along with new testcases vect-[62-69].c that were left out of
the patch, and a fix to vect-13.c that caused a failure on ix86 (attached).

(See attached file: patch.Sept20)

dorit



                                                                                                                                      
                      Mark Mitchell                                                                                                   
                      <mark@codesourcery        To:       Ira Rosen/Haifa/IBM@IBMIL                                                   
                      .com>                     cc:       gcc-patches@gcc.gnu.org, Dorit Naishlos/Haifa/IBM@IBMIL, Ayal               
                      Sent by:                   Zaks/Haifa/IBM@IBMIL                                                                 
                      gcc-patches-owner@        Subject:  Re: [patch] lno branch merge - vectorizer patch #3                          
                      gcc.gnu.org                                                                                                     
                                                                                                                                      
                                                                                                                                      
                      15/09/2004 20:54                                                                                                
                                                                                                                                      




Ira Rosen wrote:

>Hi,
>
>This patch adds vectorization support for additional forms of data
>references along with relevant new test-cases.
>We now support multidimensional arrays, pointer accesses with initial
value
>that is not restricted to an SSE_NAME (e.g: p=&a[16]-4B), and array
>accesses with initial value that is not restricted to INTEGER_CST (e.g:
>a[i+off]). Bootstrapped and passed the vectorizer testcases ans SPEC on
>ppc-darwin.
>
I think you should also run the entire testsuite with the vectorizer
hard-wired on.  Have you done that?

+ #define VECT_SMODULO(x,y) ((x) % (y) < 0 ? ((x) % (y) + (y)) : (x) % (y))

This needs a comment.

!   if (!evolution_function_is_constant_p (access_fn))
!     {
!       if (!vect_is_simple_iv_evolution (loop_containing_stmt (DR_STMT
(dr))->num,
!                     access_fn, &init, &step, true))
!     {
!       if (vect_debug_details (NULL))

That should be:

  if (!e_f_i_c_p (access_fn)
       && !v_i_s_i_e (...)
       && vec_debug_details (NULL))

not three nested ifs.  And vec_debug_details should probaby go at the
outside since it will usually be false, avoiding computations implied by
the other functions.

Patch OK with those changes.

--
Mark Mitchell
CodeSourcery, LLC
(916) 791-8304
mark@codesourcery.com


-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.Sept20
Type: application/octet-stream
Size: 23618 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20040920/006d93ae/attachment.obj>


More information about the Gcc-patches mailing list