Implication Form of the .pred.rel Annotation

Format:

.pred.rel "imply" p1, p2

where

p1, p2 are predicate registers

The .pred.rel annotation of the form "imply" informs the assembler that if the first predicate is true then the second one is also. No assumptions are made when the first predicate is false; the second predicate’s value is undetermined. The implication form is ordered, meaning that the order of the predicates is important.

In the next example, if p1 is true, then p2 is also true.

.pred.rel "imply", p1, p2
(p1)mov r4=r5
(p2)br.cond.dpnt.few b0
mov r4=r5
; WAW on r4 is not reported as p1 implies p2

The implication form is a transitive relation. If p1 implies p2 and p2 implies p3, so p1 also implies p3.