------- Comment #1 from nemet at gcc dot gnu dot org 2009-08-25 23:05 ------- It's also a regression if the load-immediates can dual issue. I.e. see below how the code gets worse between sched1 and sched2 on octeon.
I am cc'ing Vlad in case he has some ideas. ;; ====================================================== ;; -- basic block 2 from 7 to 10 -- before reload ;; ====================================================== ;; 0--> 7 r195=0x7 :octeon_pipe0|octeon_pipe1 ;; 0--> 9 r196=0x4 :octeon_pipe0|octeon_pipe1 ;; 1--> 8 [$4]=r195 :octeon_pipe0 ;; 2--> 10 [$5]=r196 :octeon_pipe0 ;; Ready list (final): ;; total time = 2 ;; new head = 7 ;; new tail = 10 ;; Procedure interblock/speculative motions == 0/0 ;; ====================================================== ;; -- basic block 2 from 7 to 18 -- after reload ;; ====================================================== ;; 0--> 7 $2=0x7 :octeon_pipe0|octeon_pipe1 ;; 1--> 8 [$4]=$2 :octeon_pipe0 ;; 1--> 14 $2=0x4 :octeon_pipe0|octeon_pipe1 ;; 2--> 10 [$5]=$2 :octeon_pipe0 ;; 3--> 18 return :octeon_pipe0 ;; Ready list (final): ;; total time = 3 ;; new head = 7 ;; new tail = 18 -- nemet at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |vmakarov at gcc dot gnu dot | |org, nemet at gcc dot gnu | |dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2009-08-25 23:05:53 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41171