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