+++ title = "The need for duplicate loops" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["3c1"] forwardlinks = ["2b1", "1c6c", "1c6b", "2b2", "3c3"] zettelid = "3c2" +++ One problem with loop pipelining is that it may require duplicate loops, because if the loop iteration number is dynamic, the loop might only be executed once, which would not work in the pipelined loop version if a prologue and an epilogue are used. However, maybe with predicated execution ([\#2b1]) and not generating a prologue and an epilogue ([\#1c6c]), this might actually still be possible. However, the loop cannot be unrolled, which means that rotating registers ([\#1c6b], [\#2b2]) would also have to be supported. [\#2b1]: /zettel/2b1 [\#1c6c]: /zettel/1c6c [\#1c6b]: /zettel/1c6b [\#2b2]: /zettel/2b2