On Tue, Jul 10, 2012 at 8:20 AM, Steven Bosscher <stevenb....@gmail.com> wrote: > Hello, > > These look like typos: > > * "power4-store-update" wants "iuX,iuY" for X=1|2 and Y=1|2. The > "iu2,iu1" case appeared twice. > * "power4-three" wants "iuX,iuX,iuY|iuX,iuY,iuY" for X=1|2 and Y=1|2. > The "iu1,iu1,iu2" case appeared twice. > > Bootstrapped&tested on powerpc64-unknown-linux-gnu. > OK for trunk? > > Note, it'd be nice if the size of the power4iu automaton could be > reduced somehow. It is by far the largest automaton in the rs6000 back > end, accounting for ~40% of the total.
Steven, The change to the power3-three reservation is okay. The change to power4-store-update looks incorrect or at least incomplete. These reservations and others were changed by Vlad in March/April 2004 to fix a consistency check that he introduced at the time. Note that the dispatch units for the final choice also is wrong and duplicated from the previous line for power4-store-update: |(du3_power4+du4_power4,lsu2_power4)\ |(du3_power4+du4_power4,lsu2_power4))+\ It looks like the final line should be du4_power4+du1_power4,lsu1_power4 On POWER4, the dispatch slot forces specific function units. I don't remember and don't have the documents handy to know if the function units for store-update should be 2-1 2-2 1-1 1-2 or 2-1 2-2 1-2 1-1 I think it is the latter. If you look at the thread from 2009, we discuss that the POWER4 scheduler description already is an approximation because an accurate description creates an unreasonably large automata. A lot of the problem is the 1 cycle delay for dependent integer ops. Thanks, David