Hi Vlad, > There is not enough information to say what is wrong. It > would be better if you send gcc output when > -fsched-verbose=10 is used.
Cheers, Jon ;; ====================================================== ;; -- basic block 0 from 18 to 32 -- before reload ;; ====================================================== ;; --------------- forward dependences: ------------ ;; --- Region Dependences --- b 0 bb 0 ;; insn code bb dep prio cost reservation ;; ---- ---- -- --- ---- ---- ----------- ;; 18 10 0 0 6 2 x,m : 20 19 ;; 19 92 0 1 4 1 x : 20 ;; 20 10 0 2 3 3 x,m*2 : ;; 22 10 0 0 6 2 x,m : 24 23 ;; 23 92 0 1 4 1 x : 24 ;; 24 10 0 2 3 3 x,m*2 : ;; 26 10 0 0 6 2 x,m : 28 27 ;; 27 92 0 1 4 1 x : 28 ;; 28 10 0 2 3 3 x,m*2 : ;; 30 10 0 0 6 2 x,m : 32 31 ;; 31 92 0 1 4 1 x : 32 ;; 32 10 0 2 3 3 x,m*2 : ;; Ready list after queue_to_ready: 30 26 22 18 ;; Ready list after ready_sort: 30 26 22 18 ;; Ready list (t = 0): 30 26 22 18 ;; 0--> 18 r41=[`x'] :x,m ;; dependences resolved: insn 19 into queue with cost=2 ;; Ready-->Q: insn 19: queued for 2 cycles. ;; Ready list (t = 0): 30 26 22 ;; Ready list after queue_to_ready: 30 26 22 ;; Ready list after ready_sort: 30 26 22 ;; Ready list (t = 1): 30 26 22 ;; 1--> 22 r43=[`y'] :x,m ;; dependences resolved: insn 23 into queue with cost=2 ;; Ready-->Q: insn 23: queued for 2 cycles. ;; Ready list (t = 1): 30 26 ;; Q-->Ready: insn 19: moving to ready without stalls ;; Ready list after queue_to_ready: 19 30 26 ;; Ready list after ready_sort: 19 30 26 ;; Ready list (t = 2): 19 30 26 ;; 2--> 26 r45=[`z'] :x,m ;; dependences resolved: insn 27 into queue with cost=2 ;; Ready-->Q: insn 27: queued for 2 cycles. ;; Ready list (t = 2): 19 30 ;; Q-->Ready: insn 23: moving to ready without stalls ;; Ready list after queue_to_ready: 23 19 30 ;; Ready list after ready_sort: 23 19 30 ;; Ready list (t = 3): 23 19 30 ;; 3--> 30 r47=[`w'] :x,m ;; dependences resolved: insn 31 into queue with cost=2 ;; Ready-->Q: insn 31: queued for 2 cycles. ;; Ready list (t = 3): 23 19 ;; Q-->Ready: insn 27: moving to ready without stalls ;; Ready list after queue_to_ready: 27 23 19 ;; Ready list after ready_sort: 27 23 19 ;; Ready list (t = 4): 27 23 19 ;; 4--> 19 {r41=r41+0x1;clobber System, CC.A;}:x ;; dependences resolved: insn 20 into queue with cost=1 ;; Ready-->Q: insn 20: queued for 1 cycles. ;; Ready list (t = 4): 27 23 ;; Q-->Ready: insn 20: moving to ready without stalls ;; Q-->Ready: insn 31: moving to ready without stalls ;; Ready list after queue_to_ready: 31 20 27 23 ;; Ready list after ready_sort: 20 31 27 23 ;; Ready list (t = 5): 20 31 27 23 ;; 5--> 23 {r43=r43+0x1;clobber System, CC.A;}:x ;; dependences resolved: insn 24 into queue with cost=1 ;; Ready-->Q: insn 24: queued for 1 cycles. ;; Ready list (t = 5): 20 31 27 ;; Q-->Ready: insn 24: moving to ready without stalls ;; Ready list after queue_to_ready: 24 20 31 27 ;; Ready list after ready_sort: 24 20 31 27 ;; Ready list (t = 6): 24 20 31 27 ;; 6--> 27 {r45=r45+0x1;clobber System, CC.A;}:x ;; dependences resolved: insn 28 into queue with cost=1 ;; Ready-->Q: insn 28: queued for 1 cycles. ;; Ready list (t = 6): 24 20 31 ;; Q-->Ready: insn 28: moving to ready without stalls ;; Ready list after queue_to_ready: 28 24 20 31 ;; Ready list after ready_sort: 28 24 20 31 ;; Ready list (t = 7): 28 24 20 31 ;; 7--> 31 {r47=r47+0x1;clobber System, CC.A;}:x ;; dependences resolved: insn 32 into queue with cost=1 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 7): 28 24 20 ;; Q-->Ready: insn 32: moving to ready without stalls ;; Ready list after queue_to_ready: 32 28 24 20 ;; Ready list after ready_sort: 32 28 24 20 ;; Ready list (t = 8): 32 28 24 20 ;; 8--> 20 [`x']=r41 :x,m*2 ;; Ready list (t = 8): 32 28 24 ;; Ready list after queue_to_ready: 32 28 24 ;; Ready list after ready_sort: 32 28 24 ;; Ready list (t = 9): 32 28 24 ;; Ready-->Q: insn 24: queued for 1 cycles. ;; Ready list (t = 9): 32 28 ;; Ready-->Q: insn 28: queued for 1 cycles. ;; Ready list (t = 9): 32 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 9): ;; Q-->Ready: insn 32: moving to ready without stalls ;; Q-->Ready: insn 28: moving to ready without stalls ;; Q-->Ready: insn 24: moving to ready without stalls ;; Ready list after queue_to_ready: 24 28 32 ;; Ready list after ready_sort: 32 28 24 ;; Ready list (t = 10): 32 28 24 ;; 10--> 24 [`y']=r43 :x,m*2 ;; Ready list (t = 10): 32 28 ;; Ready list after queue_to_ready: 32 28 ;; Ready list after ready_sort: 32 28 ;; Ready list (t = 11): 32 28 ;; Ready-->Q: insn 28: queued for 1 cycles. ;; Ready list (t = 11): 32 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 11): ;; Q-->Ready: insn 32: moving to ready without stalls ;; Q-->Ready: insn 28: moving to ready without stalls ;; Ready list after queue_to_ready: 28 32 ;; Ready list after ready_sort: 32 28 ;; Ready list (t = 12): 32 28 ;; 12--> 28 [`z']=r45 :x,m*2 ;; Ready list (t = 12): 32 ;; Ready list after queue_to_ready: 32 ;; Ready list after ready_sort: 32 ;; Ready list (t = 13): 32 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 13): ;; Q-->Ready: insn 32: moving to ready without stalls ;; Ready list after queue_to_ready: 32 ;; Ready list after ready_sort: 32 ;; Ready list (t = 14): 32 ;; 14--> 32 [`w']=r47 :x,m*2 ;; Ready list (t = 14): ;; Ready list (final): ;; total time = 14 ;; new head = 18 ;; new tail = 32 ;; Procedure interblock/speculative motions == 0/0 ;; ====================================================== ;; -- basic block 0 from 18 to 46 -- after reload ;; ====================================================== ;; --------------- forward dependences: ------------ ;; --- Region Dependences --- b 0 bb 0 ;; insn code bb dep prio cost reservation ;; ---- ---- -- --- ---- ---- ----------- ;; 18 10 0 0 4 2 x,m : 46 20 19 ;; 22 10 0 0 4 2 x,m : 46 24 23 ;; 26 10 0 0 4 2 x,m : 46 28 27 ;; 30 10 0 0 4 2 x,m : 46 32 31 ;; 19 92 0 1 2 1 x : 46 20 ;; 23 92 0 1 2 1 x : 46 24 ;; 27 92 0 1 2 1 x : 46 28 ;; 31 92 0 1 2 1 x : 46 32 ;; 20 10 0 2 1 3 x,m*2 : 46 ;; 24 10 0 2 1 3 x,m*2 : 46 ;; 28 10 0 2 1 3 x,m*2 : 46 ;; 32 10 0 2 1 3 x,m*2 : 46 ;; 46 85 0 12 1 1 x : ;; Ready list after queue_to_ready: 30 26 22 18 ;; Ready list after ready_sort: 30 26 22 18 ;; Ready list (t = 0): 30 26 22 18 ;; 0--> 18 r4=[`x'] :x,m ;; dependences resolved: insn 19 into queue with cost=2 ;; Ready-->Q: insn 19: queued for 2 cycles. ;; Ready list (t = 0): 30 26 22 ;; Ready list after queue_to_ready: 30 26 22 ;; Ready list after ready_sort: 30 26 22 ;; Ready list (t = 1): 30 26 22 ;; 1--> 22 r5=[`y'] :x,m ;; dependences resolved: insn 23 into queue with cost=2 ;; Ready-->Q: insn 23: queued for 2 cycles. ;; Ready list (t = 1): 30 26 ;; Q-->Ready: insn 19: moving to ready without stalls ;; Ready list after queue_to_ready: 19 30 26 ;; Ready list after ready_sort: 19 30 26 ;; Ready list (t = 2): 19 30 26 ;; 2--> 26 r6=[`z'] :x,m ;; dependences resolved: insn 27 into queue with cost=2 ;; Ready-->Q: insn 27: queued for 2 cycles. ;; Ready list (t = 2): 19 30 ;; Q-->Ready: insn 23: moving to ready without stalls ;; Ready list after queue_to_ready: 23 19 30 ;; Ready list after ready_sort: 23 19 30 ;; Ready list (t = 3): 23 19 30 ;; 3--> 30 r7=[`w'] :x,m ;; dependences resolved: insn 31 into queue with cost=2 ;; Ready-->Q: insn 31: queued for 2 cycles. ;; Ready list (t = 3): 23 19 ;; Q-->Ready: insn 27: moving to ready without stalls ;; Ready list after queue_to_ready: 27 23 19 ;; Ready list after ready_sort: 27 23 19 ;; Ready list (t = 4): 27 23 19 ;; 4--> 19 {r4=r4+0x1;clobber System, CC.A;} :x ;; dependences resolved: insn 20 into queue with cost=1 ;; Ready-->Q: insn 20: queued for 1 cycles. ;; Ready list (t = 4): 27 23 ;; Q-->Ready: insn 20: moving to ready without stalls ;; Q-->Ready: insn 31: moving to ready without stalls ;; Ready list after queue_to_ready: 31 20 27 23 ;; Ready list after ready_sort: 20 31 27 23 ;; Ready list (t = 5): 20 31 27 23 ;; 5--> 23 {r5=r5+0x1;clobber System, CC.A;} :x ;; dependences resolved: insn 24 into queue with cost=1 ;; Ready-->Q: insn 24: queued for 1 cycles. ;; Ready list (t = 5): 20 31 27 ;; Q-->Ready: insn 24: moving to ready without stalls ;; Ready list after queue_to_ready: 24 20 31 27 ;; Ready list after ready_sort: 24 20 31 27 ;; Ready list (t = 6): 24 20 31 27 ;; 6--> 27 {r6=r6+0x1;clobber System, CC.A;} :x ;; dependences resolved: insn 28 into queue with cost=1 ;; Ready-->Q: insn 28: queued for 1 cycles. ;; Ready list (t = 6): 24 20 31 ;; Q-->Ready: insn 28: moving to ready without stalls ;; Ready list after queue_to_ready: 28 24 20 31 ;; Ready list after ready_sort: 28 24 20 31 ;; Ready list (t = 7): 28 24 20 31 ;; 7--> 31 {r7=r7+0x1;clobber System, CC.A;} :x ;; dependences resolved: insn 32 into queue with cost=1 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 7): 28 24 20 ;; Q-->Ready: insn 32: moving to ready without stalls ;; Ready list after queue_to_ready: 32 28 24 20 ;; Ready list after ready_sort: 32 28 24 20 ;; Ready list (t = 8): 32 28 24 20 ;; 8--> 20 [`x']=r4 :x,m*2 ;; Ready list (t = 8): 32 28 24 ;; Ready list after queue_to_ready: 32 28 24 ;; Ready list after ready_sort: 32 28 24 ;; Ready list (t = 9): 32 28 24 ;; Ready-->Q: insn 24: queued for 1 cycles. ;; Ready list (t = 9): 32 28 ;; Ready-->Q: insn 28: queued for 1 cycles. ;; Ready list (t = 9): 32 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 9): ;; Second chance ;; Q-->Ready: insn 32: moving to ready without stalls ;; Q-->Ready: insn 28: moving to ready without stalls ;; Q-->Ready: insn 24: moving to ready without stalls ;; Ready list after queue_to_ready: 24 28 32 ;; Ready list after ready_sort: 32 28 24 ;; Ready list (t = 10): 32 28 24 ;; 10--> 24 [`y']=r5 :x,m*2 ;; Ready list (t = 10): 32 28 ;; Ready list after queue_to_ready: 32 28 ;; Ready list after ready_sort: 32 28 ;; Ready list (t = 11): 32 28 ;; Ready-->Q: insn 28: queued for 1 cycles. ;; Ready list (t = 11): 32 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 11): ;; Second chance ;; Q-->Ready: insn 32: moving to ready without stalls ;; Q-->Ready: insn 28: moving to ready without stalls ;; Ready list after queue_to_ready: 28 32 ;; Ready list after ready_sort: 32 28 ;; Ready list (t = 12): 32 28 ;; 12--> 28 [`z']=r6 :x,m*2 ;; Ready list (t = 12): 32 ;; Ready list after queue_to_ready: 32 ;; Ready list after ready_sort: 32 ;; Ready list (t = 13): 32 ;; Ready-->Q: insn 32: queued for 1 cycles. ;; Ready list (t = 13): ;; Second chance ;; Q-->Ready: insn 32: moving to ready without stalls ;; Ready list after queue_to_ready: 32 ;; Ready list after ready_sort: 32 ;; Ready list (t = 14): 32 ;; 14--> 32 [`w']=r7 :x,m*2 ;; dependences resolved: insn 46 into ready ;; Ready list (t = 14): 46 ;; Ready list after queue_to_ready: 46 ;; Ready list after ready_sort: 46 ;; Ready list (t = 15): 46 ;; 15--> 46 {use ra;return;} :x ;; Ready list (t = 15): ;; Ready list (final): ;; total time = 15 ;; new head = 33 ;; new tail = 46