Hi, I am writing now the pipeline description in order to get a parallel code. My machine has many restrictions regarding which instruction can be parallelized with another. I am under the assumption that for each insn only one define_insn_reservation is matched. Is that correct? If so then the number of define_insn_reservation is very high since I have to put here all possible attribute permutations.
for example if I have 2 attributes - length and block and the resource definition goes as follows: (define_automaton "test") ; length (define_cpu_unit "slot_1, slot_2, slot3" "test") ;block (define_cpu_unit "blockA, blockB, blockC" "test") The define_reservation for length: (define_reservation "1_slot" "slot_1|slot_2|slot_3") (define_reservation "2_slot" "slot_1+slot_2|slot_2+slot_3") (define_reservation "3_slot" "slot_1+slot_2+slot_3") The define_reservation for blocks: (define_reservation "bA" "blockA") (define_reservation "bB" "blockB") (define_reservation "bC" "blockC") Now how many define_insn_reservation do I have to add in order to have all possibilities? If only one define_insn_reservation is matched for insn then I have to write 9 (3*3). If many than I can do it with 6 (3+3) . This example is simple but what if I have 10 attributes each one with 5 possible values? Then I have to write 5^10 define_insn_reservation. Which leads me to the assumption that there is another way to do it... Can someone please help? Thanks, Roy.