[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-22 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|WAITING |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-02-22 12:40:53
   date||


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-17 Thread mmitchel at gcc dot gnu dot org


-- 

mmitchel at gcc dot gnu dot org changed:

   What|Removed |Added

   Priority|P3  |P1


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-16 Thread bergner at gcc dot gnu dot org


--- Comment #8 from bergner at gcc dot gnu dot org  2010-02-16 20:02 ---
Thanks for the reduced testcase.  I'll have a look at what's wrong.


-- 


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-12 Thread janis at gcc dot gnu dot org


--- Comment #5 from janis at gcc dot gnu dot org  2010-02-12 20:35 ---
Created an attachment (id=19853)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19853action=view)
minimized executable testcase

Compile with -m64 -O2 -maltivec -ftree-vectorize -fdata-sections.


-- 


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-12 Thread janis at gcc dot gnu dot org


--- Comment #6 from janis at gcc dot gnu dot org  2010-02-12 20:36 ---
In the attached testcase wrong code is generated for the loop in subroutine
sub3 that sets 12 of the elements of array k to zero.  While minimizing the
testcase I saw different kinds of bad code for that array, but with this
version it's:

vxor 31,31,31
ld 9,@toc(2)
ld 29,@toc(2)
li 0,16 
stvx 31,0,29
add 9,9,9
stvx 31,0,9
stvx 31,9.0

Needless to say, doubling the array address has bad consequences.  It would
make
 sense if the instruction were instead add 9,29,0

I'm planning to stare at dump files for awhile but won't complain if someone
else figures it out first.


-- 


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-12 Thread pthaugen at gcc dot gnu dot org


--- Comment #7 from pthaugen at gcc dot gnu dot org  2010-02-12 23:16 
---
This looks like an ira/reload bug.  The ira dump is where the offending insns
first show up.

(insn 17 26 244 3 pr42431.f:27 (set (mem:V4SI (reg/f:DI 29 29 [255]) [4 S16
A128])
(reg:V4SI 108 31 [269])) 942 {*altivec_movv4si} (expr_list:REG_EQUAL
(const_vector:V4SI [
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
])
(nil)))

(insn 244 17 245 3 pr42431.f:27 (set (reg:DI 9 9)
(mem/u/c:DI (plus:DI (reg:DI 2 2)
(const:DI (unspec:DI [
(symbol_ref/u:DI (*.LC2) [flags 0x2])
] 49))) [7 S8 A8])) 373 {*movdi_internal64} (nil))

(insn 245 244 20 3 pr42431.f:27 (set (reg:DI 9 9)
(plus:DI (reg:DI 9 9)
(reg:DI 9 9))) 83 {*adddi3_internal1} (nil))

(insn 20 245 246 3 pr42431.f:27 (set (mem:V4SI (reg:DI 9 9) [4 S16 A128])
(reg:V4SI 108 31 [269])) 942 {*altivec_movv4si} (expr_list:REG_EQUAL
(const_vector:V4SI [
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
(const_int 0 [0x0])
])
(nil)))


insns 244/245 are not present in the prior (sched1) dump. insn 245 should be
adding the constant 16 to gpr9 instead of adding r9.


-- 

pthaugen at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pthaugen at gcc dot gnu dot
   ||org


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-02-09 Thread janis at gcc dot gnu dot org


--- Comment #4 from janis at gcc dot gnu dot org  2010-02-09 22:38 ---
Peter and Mike, can one of you please look at this bug?  It looks like
something that you could figure out without a minimized testcase, but if it
helps I'll come up with one.  I can also do a regression hunt if that would
help, but I'd have to set things up on a new machine.


-- 


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-01-04 Thread janis at gcc dot gnu dot org


--- Comment #3 from janis at gcc dot gnu dot org  2010-01-04 18:06 ---
No testcase yet, I was hoping to get bergner or meissner to look at it since
they have access to the benchmark.


-- 


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2010-01-02 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2010-01-02 16:06 ---
Testcaese?


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections

2009-12-18 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

Summary|wrong code for 200.sixtrack |[4.5 Regression] wrong code
   |with vectorization and -|for 200.sixtrack with
   |fdata-sections  |vectorization and -fdata-
   ||sections
   Target Milestone|--- |4.5.0


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