Predicate Vector Annotation

The predicate vector annotation .pred.vector explicitly specifies the predicate register contents using a user-defined value. The user-defined value is represented by a 64-bit binary number and each bit corresponds to a predicate register, respectively. A second optional operand can be used as a mask to selectively set only some of the predicate registers. Currently this annotation is ignored by the Intel® Itanium(TM) Assembler.

This annotation takes effect at the point of insertion and the assembler may use this information for further analysis. The .pred.vector annotation has the following syntax:

.pred.vector    val [,mask]

Where:

val

Specifies a number represented as a 64-bit binary number. Each bit represents a 1-bit value in each of the corresponding 64 predicate registers. If val is not within the 64-bit range, this annotation is ignored.

mask

Represents an optional mask value used to define a subset of the predicate register file.

Example Using a Predicate Vector Annotation with a Mask illustrates a predicate vector annotation that sets the predicate registers according to the specified value 0x9, and uses a mask of 0xffff to define a subset of the predicate register file.

Example: Using a Predicate Vector Annotation with a Mask

.pred.vector 0x9, 0xffff   //only refers to lowest 16-bits that
                         //are set in the mask.
                         //Values of p0-p15 are defined.