diff options
Diffstat (limited to 'content/zettel/3c2.md')
-rw-r--r-- | content/zettel/3c2.md | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/content/zettel/3c2.md b/content/zettel/3c2.md new file mode 100644 index 0000000..ad9070f --- /dev/null +++ b/content/zettel/3c2.md @@ -0,0 +1,23 @@ ++++ +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 |