User`s guide

MACRO Compiler Built-ins
C.3 Itanium Instruction Built-ins for OpenVMS I64 Systems
C.3 Itanium Instruction Built-ins for OpenVMS I64 Systems
Table C–3 Itanium Instruction Built-Ins for OpenVMS I64 Systems
Built-in Operands Description
IA64_BREAK <RQ> Generate a break instruction fault with the immediate
operand provided
IA64_GETINDREG <WQ,RQ,RQ> Generate a move-from-indirect-register instruction with
the first operand as the destination, the second operand as
a literal
1
specifying which indirect register file to access,
and the third operand as the index into the register file
IA64_GETREG <WQ,RQ> Generate a move-from-application-register or move-from-
control-register instruction with the first operand as the
destination and the second operand as a literal
2
specifying
which application or control register to read
IA64_LFETCH
IA64_LFETCH_EXCL
<RQ,RQ> Generate a line prefetch (’LFETCH’) or exclusive line
prefetch (’LFETCH.EXCL’) instruction using the first
operand as the address to prefetch and the second operand
for either the reg-base-update-form or the imm-base-
update-form; if the operand is the literal zero, the no-base-
update-form will be used
IA64_PROBER <WQ,RQ,RQ> Generate a probe.r instruction with the first argument
as the destination, the second argument as the virtual
address to probe, and the third operand as the privilege
level
IA64_PROBEW <WQ,RQ,RQ> Generate a probe.w instruction with the first argument
as the destination, the second argument as the virtual
address to probe, and the third operand as the privilege
level
IA64_RSM <RQ> Generate a reset system mask (’RSM’) instruction with the
specified mask
IA64_RUM <RQ> Generate a reset user mask (’RUM’) instruction with the
specified mask
IA64_SETREG <RQ,RQ> Generate a move-to-application-register or move-to-control-
register instruction with the first operand as a literal
2
specifying which application or control register to write
and the second operand as the value to write into the
register
IA64_SRLZD <> Generate a serialize data (’SRLZD’) instruction
IA64_SRLZI <> Generate a serialize instruction (’SRLZI’) instruction
IA64_SSM <RQ> Generate a set system mask (’SSM’) instruction with the
specified mask
IA64_SUM <RQ> Generate a set user mask (’SUM’) instruction with the
specified mask
IA64_TAK <WK,RQ> Generate a read translation access key (’TAK’) instruction
1
The list of valid indirect register files are located in file SYS$LIBRARY:STARLET.MLB, module $IA64REGDEF, with
prefixes of IA64_REG$_INDR.
2
The list of valid application and control registers are located in file SYS$LIBRARY:STARLET.MLB, module
$IA64REGDEF, with prefixes of IA64_REG$_AR and IA64_REG$_CR.
C–8 MACRO Compiler Built-ins