User`s guide

MACRO Compiler Directives
B.2 MACRO Compiler Specialized Directives
.DEFINE_PAL (OpenVMS Alpha only)
.DISABLE
.ENABLE
.EXCEPTION_ENTRY (OpenVMS Alpha only)
.GLOBAL_LABEL
.JSB_ENTRY
.JSB32_ENTRY
.LINKAGE_PSECT (OpenVMS Alpha only)
.PRESERVE
.SET_REGISTERS
.SYMBOL_ALIGNMENT
.USE_LINKAGE (OpenVMS I64 only)
You can use certain arguments to these directives to indicate register sets. You
express a register set by listing the registers, separated by commas, within angle
brackets. For example:
<R1,R2,R3>
If only one register is in the set, no angle brackets are needed. For example:
R1
.BRANCH_LIKELY
Instructs the compiler that the following branch will likely be taken.
Format
.BRANCH_LIKELY
There are no parameters for this directive.
Description
The Alpha hardware predicts that forward conditional branches are not taken and
that backwards conditional branches are taken. Based on the Alpha architecture,
those assumptions are built into the compiler and influences the code generated
for conditional branches.
When .BRANCH_LIKELY precedes a forward conditional branch, the compiler
will change the conditional branch and reorder the code such that the unlikely
path will be a forward branch instead of the likely branch.
The Itanium architecture includes branch prediction explicitly on each branch
instruction. However, the compiler will still reorder the code to conform to the
assumption that forward branches are not taken and backward branches are
taken. The compiler will set the branch prediction flags as appropriate.
B–2 Specialized Directives