Re: Scheduling automaton question

2011-02-11 Thread Vladimir Makarov
On 02/11/2011 07:33 AM, Bernd Schmidt wrote: Suppose I have two insns, one reserving (A|B|C), and the other reserving A. I'm observing that when the first one is scheduled in an otherwise empty state, it reserves the A unit and blocks the second one from being scheduled in the same cycle. This is

Re: Scheduling automaton question

2011-02-11 Thread Bernd Schmidt
On 02/11/2011 07:43 PM, Frédéric RISS wrote: > Le vendredi 11 février 2011 à 13:33 +0100, Bernd Schmidt a écrit : >> Suppose I have two insns, one reserving (A|B|C), and the other reserving >> A. I'm observing that when the first one is scheduled in an otherwise >> empty state, it reserves the A un

Re: Scheduling automaton question

2011-02-11 Thread Frédéric RISS
Le vendredi 11 février 2011 à 13:33 +0100, Bernd Schmidt a écrit : > Suppose I have two insns, one reserving (A|B|C), and the other reserving > A. I'm observing that when the first one is scheduled in an otherwise > empty state, it reserves the A unit and blocks the second one from being > schedule

Re: Scheduling automaton question

2011-02-11 Thread Alex Turjan
Hi, According to me at this moment the scheduler does not support your needs. I was confronted with a similar problem as yours and I solved it by implementing the TARGET_SCHED_DFA_NEW_CYCLE hook. Inside of the function which supports this hook I choose/set the insn reservation that makes possib

Re: Scheduling automaton question

2011-02-11 Thread Bernd Schmidt
On 02/11/2011 02:13 PM, Alexander Monakov wrote: > Could you please clarify a bit: would the modified behavior match what your > target CPU does? The current behavior matches CPUs without lookahead in > instruction dispatch: the first insn goes to the first matching execution > unit (A), the secon

Re: Scheduling automaton question

2011-02-11 Thread Alexander Monakov
On Fri, 11 Feb 2011, Bernd Schmidt wrote: > Suppose I have two insns, one reserving (A|B|C), and the other reserving > A. I'm observing that when the first one is scheduled in an otherwise > empty state, it reserves the A unit and blocks the second one from being > scheduled in the same cycle. T