summaryrefslogtreecommitdiffstats
path: root/content/zettel/2b1b.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/zettel/2b1b.md')
-rw-r--r--content/zettel/2b1b.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/content/zettel/2b1b.md b/content/zettel/2b1b.md
new file mode 100644
index 0000000..1d060fa
--- /dev/null
+++ b/content/zettel/2b1b.md
@@ -0,0 +1,31 @@
++++
+title = "Classes of phi-predicated instructions"
+author = "Yann Herklotz"
+tags = []
+categories = []
+backlinks = ["2b1a"]
+forwardlinks = ["2b1c"]
+zettelid = "2b1b"
++++
+
+There are various types of instructions that are needed.
+
+Phi function
+: This is used to select the right value of the current register from
+ the two alternatives that were generated by predicated instructions.
+
+Predicated memory
+: Memory operations need to be predicated, as these cannot have
+ side-effects, and therefore have to stall the pipeline if the
+ predicate is not evaluated yet.
+
+Unconditional compares
+: These are the operations that update the values of the predicates
+ for the instructions, and also have to have the predicate updated
+ immediately.
+
+Internal join
+: This instruction is needed to update the predicates to a join block,
+ and performs the join of all of the input predicates. This means
+ that if any of the control flow of those instructions was taken,
+ that the predicate will be set to true.