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Ū 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.