Partial unrolling vs. pipelining where II>1

You can unroll a loop by two and pipeline with an Initiation of two. Though why would you do that instead of leaving the loop rolled and pipelining with an initiation interval of one? Same goes for unrolling “everything” and then applying an Initiation interval that was the number of iterations. It’s generally bad, but where could it help (if at all)?

1 Like