[Bug target/42431] [4.5 Regression] wrong code for 200.sixtrack with vectorization and -fdata-sections
-- 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
-- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
--- 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
-- 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