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. Automaton `power4iu' 8128 NDFA states, 68391 NDFA arcs 12609 DFA states, 104521 DFA arcs 10894 minimal DFA states, 89248 minimal DFA arcs 683 all insns 23 insn equivalence classes 0 locked states 107203 transition comb vector els, 250562 trans table els: use simple vect 250562 min delay table els, compression factor 1 (All:) 124282 all allocated states, 493955 all allocated arcs 811237 all allocated alternative states 248236 all transition comb vector els, 613376 all trans table els 613376 all min delay table els 0 all locked states For comparison, power7iu: Automaton `power7iu' 7697 NDFA states, 23034 NDFA arcs 3738 DFA states, 10277 DFA arcs 3690 minimal DFA states, 10056 minimal DFA arcs 683 all insns 9 insn equivalence classes 0 locked states 10690 transition comb vector els, 33210 trans table els: use comb vect 33210 min delay table els, compression factor 1 I don't understand well enough how the scheduler descriptions are translated to DFAs, so I don't really understand why the power4iu automaton needs so many table elts, but the above seems disproportional to me. Ciao! Steven * config/rs6000/power4.md (power4-store-update): Fix reservation. (power4-three): Likewise. Index: config/rs6000/power4.md =================================================================== --- config/rs6000/power4.md (revision 189388) +++ config/rs6000/power4.md (working copy) @@ -145,7 +145,7 @@ |(du3_power4+du4_power4,lsu2_power4))+\ ((nothing,iu2_power4,iu1_power4)\ |(nothing,iu2_power4,iu2_power4)\ - |(nothing,iu1_power4,iu2_power4)\ + |(nothing,iu1_power4,iu1_power4)\ |(nothing,iu1_power4,iu2_power4))") (define_insn_reservation "power4-store-update-indexed" 12 @@ -212,7 +212,7 @@ ((iu1_power4,nothing,iu2_power4,nothing,iu2_power4)\ |(iu2_power4,nothing,iu2_power4,nothing,iu1_power4)\ |(iu2_power4,nothing,iu1_power4,nothing,iu1_power4)\ - |(iu1_power4,nothing,iu2_power4,nothing,iu2_power4))") + |(iu1_power4,nothing,iu1_power4,nothing,iu2_power4))") (define_insn_reservation "power4-insert" 4 (and (eq_attr "type" "insert_word")