--- /dev/null
+digraph fence_sw {
+margin=0
+ranksep=.3;
+
+N1 [label="A: fence(release)", shape=none];
+N2 [label="X: v.store(1)", shape=none];
+N3 [label="Y: v.store(2)", shape=none];
+N4 [label="Z: v.load()", shape=none];
+N5 [label="B: fence(acquire)", shape=none];
+N6 [style=invis, shape=point];
+
+//N1 -> N5 [label="sw", color=blue, penwidth=3, constraint=false];
+N2 -> N3 [label="hrs", color="#555555"];
+N3 -> N4 [label="rf", color=red];
+N1 -> N2 [label="sb", color=blue, weight=100];
+N4 -> N5 [label="sb", color=blue, weight=100];
+N2 -> N6 [style=invis];
+N6 -> N3 [style=invis];
+{rank=same; N3 N4 N6}
+}