summaryrefslogtreecommitdiffstats
path: root/content/zettel/3c2.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/3c2.md')
-rw-r--r--content/zettel/3c2.md23
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