Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 915

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

alloc
alloc — Allocate Stack Frame
(
) alloc
Format:
qp
r
A new stack frame is allocated on the general register stack, and the Previous Function
Description:
State register (PFS) is copied to GR
of GR
and subsequent instructions in the same instruction group use the new frame.
r
1
The four parameters,
of rotating) specify the sizes of the regions of the stack frame.
Figure 2-2.
The size of the frame (sof) is determined by
grow or shrink the size of the current register stack frame. The size of the local region
(sol) is given by
given as separate operands in the instruction only as a hint to the assembler about how
the local registers are to be used.
The rotating registers must fit within the stack frame and be a multiple of 8 in number.
If this instruction attempts to change the size of CFM.sor, and the register rename base
registers (CFM.rrb.gr, CFM.rrb.fr, CFM.rrb.pr) are not all zero, then the instruction will
cause a Reserved Register/Field fault.
Although the assembler does not allow illegal combinations of operands for alloc, illegal
combinations can be encoded in the instruction. Attempting to allocate a stack frame
larger than 96 registers, or with the rotating region larger than the stack frame, or with
the size of locals larger than the stack frame, or specifying a qualifying predicate other
than PR 0, will cause an Illegal Operation fault.
This instruction must be the first instruction in an instruction group and must either be
in instruction slot 0 or in instruction slot 1 of a template having a stop after slot 0;
otherwise, the results are undefined.
If insufficient registers are available to allocate the desired frame alloc will stall the
processor until enough dirty registers are written to the backing store. Such mandatory
RSE stores may cause the data related faults listed below.
3:16
= ar.pfs,
,
,
,
i
l
o
r
1
(size of inputs),
i
Stack Frame
GR32
sor
+
. There is no real distinction between inputs and locals. They are
i
l
. The change of frame size is immediate. The write
r
1
(size of locals),
(size of outputs), and
l
o
Local
Output
sof
sol
+
+
. Note that this instruction may
i
l
o
M34
(size
r
Volume 3: Instruction Reference

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 and is the answer not in the manual?

Questions and answers

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents