[lno] [patch] vectorizer update - support constants.

Dorit Naishlos DORIT@il.ibm.com
Thu Jan 22 22:05:00 GMT 2004





> Silly question, but why isn't that moved out of the loop?

The vectorizer actually generates the 0 initialization out of the loop, but
it is propagated into the store insn inside the loop during gcse:

(insn 17 16 18 1 (set (mem:V8HI (plus:SI (reg:SI 124)
                (reg:SI 127)) [3 S16 A128])
        (const_vector:V8HI [
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
                (const_int 0 [0x0])
            ])) 561 {*movv8hi_internal1} (nil)
    (nil))

...and unfortunately remains in the loop from that point.

dorit




                                                                                                                                     
                      Daniel Jacobowitz                                                                                              
                      <drow@mvista.com>         To:       gcc-patches@gcc.gnu.org                                                    
                      Sent by:                  cc:                                                                                  
                      gcc-patches-owner@        Subject:  Re: [lno] [patch] vectorizer update - support constants.                   
                      gcc.gnu.org                                                                                                    
                                                                                                                                     
                                                                                                                                     
                      22/01/2004 21:04                                                                                               
                                                                                                                                     




On Thu, Jan 22, 2004 at 03:38:05PM +0200, Dorit Naishlos wrote:
> with vectorization:
>
> L6:
>         vxor v0,v0,v0
>         stvx v0,r9,r0
> L2:
>         slwi r0,r2,4
>         addi r2,r2,1
>         bdnz L6

Silly question, but why isn't that moved out of the loop?

--
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer




More information about the Gcc-patches mailing list