[Bug target/18506] Altivec definitions of vec_init

2005-08-08 Thread cvs-commit at gcc dot gnu dot org

--- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-08-08 
16:36 ---
Subject: Bug 18506

CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED]   2005-08-08 16:36:27

Modified files:
gcc: ChangeLog 
gcc/config/rs6000: altivec.md rs6000.c rs6000.h rs6000-protos.h 

Log message:
PR target/18506
* config/rs6000/altivec.md (vec_initmode): New.
(vec_setmode): New.
(vec_extractmode): New.
* config/rs6000/rs6000.c (rs6000_expand_vector_init): New.
(rs6000_expand_vector_set): New.
(rs6000_expand_vector_extract): New.
(rs6000_legitimate_offset_address_p): Offset addresses are valid
for Altivec modes before reload.
(altivec_expand_vec_init_builtin): New.
(get_element_number): New.
(altivec_expand_vec_set_builtin): New.
(altivec_expand_vec_ext_builtin): New.
(altivec_expand_builtin): Expand vec_init, vec_set, and vec_ext
builtins.
(altivec_init_builtins): Init vec_init, vec_set, and vec_ext
builtins.
* config/rs6000/rs6000.h (rs6000_builtins): Add
ALTIVEC_BUILTIN_VEC_INIT_mode, ALTIVEC_BUILTIN_VEC_SET_mode,
ALTIVEC_BUILTIN_VEC_EXT_mode.
* config/rs6000/rs6000-protos.h: Declare new functions.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gccr1=2.9679r2=2.9680
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/altivec.md.diff?cvsroot=gccr1=1.41r2=1.42
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gccr1=1.857r2=1.858
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.h.diff?cvsroot=gccr1=1.381r2=1.382
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000-protos.h.diff?cvsroot=gccr1=1.105r2=1.106



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18506


[Bug target/18506] Altivec definitions of vec_init

2005-08-08 Thread dje at gcc dot gnu dot org

--- Additional Comments From dje at gcc dot gnu dot org  2005-08-08 18:04 
---
Patch committed

-- 
   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18506


[Bug target/18506] Altivec definitions of vec_init

2004-11-17 Thread dorit at il dot ibm dot com

--- Additional Comments From dorit at il dot ibm dot com  2004-11-17 11:09 
---
(In reply to comment #1)
 PR 10469 looks like a testcase where this could improve the code generation.\

gcc.dg/vect/vect-25.c is a testcase too.

This is what is currently generated (the invariant is in r3):

mr r9,r3
mr r10,r3
mr r11,r3
mr r12,r3 
L6:
addi r7,r1,1104
stw r9,0(r7)
stw r10,4(r7)
stw r11,8(r7)
stw r12,12(r7)
lvx v0,0,r7
stvx v0,0,r2
addi r2,r2,16
bdnz L6

instead of:

stw r3,0(r2)
lvewx v0,0,r2
vspltw v0,v0,0
L4:
stvx v0,r2,r0
addi r2,r2,16
bdnz L4 



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18506


[Bug target/18506] Altivec definitions of vec_init

2004-11-15 Thread dje at gcc dot gnu dot org


-- 
   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |aldyh at gcc dot gnu dot org
   |dot org |
 Status|UNCONFIRMED |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18506


[Bug target/18506] Altivec definitions of vec_init

2004-11-15 Thread pinskia at gcc dot gnu dot org

--- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-15 
22:51 ---
PR 10469 looks like a testcase where this could improve the code generation.

-- 
   What|Removed |Added

OtherBugsDependingO||10469
  nThis||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18506