
Volume 3: Instruction Reference
3:25
br
Operation:
if (ip_relative_form)
// determine branch target
tmp_IP = IP + sign_ext((
imm
21
<< 4), 25);
else // indirect_form
tmp_IP = BR[
b
2
];
if (
btype
!= ‘ia’)
// for Itanium branches,
tmp_IP = tmp_IP & ~0xf;
// ignore bottom 4 bits of target
lower_priv_transition = 0;
switch (
btype
) {
case ‘cond’:
// simple conditional branch
tmp_taken = PR[
qp
];
break;
case ‘call’:
// call saves a return link
tmp_taken = PR[
qp
];
if (tmp_taken) {
BR[
b
1
] = IP + 16;
AR[PFS].pfm = CFM;
// ... and saves the stack frame
AR[PFS].pec = AR[EC];
AR[PFS].ppl = PSR.cpl;
alat_frame_update(CFM.sol, 0);
rse_preserve_frame(CFM.sol);
CFM.sof -= CFM.sol;
// new frame size is size of outs
CFM.sol = 0;
CFM.sor = 0;
CFM.rrb.gr = 0;
CFM.rrb.fr = 0;
CFM.rrb.pr = 0;
}
break;
case ‘ret’:
// return restores stack frame
Table 2-7.
Branch Whether Hint
bwh
Completer
Branch Whether Hint
spnt
Static Not-Taken
sptk
Static Taken
dpnt
Dynamic Not-Taken
dptk
Dynamic Taken
Table 2-8.
Sequential Prefetch Hint
ph
Completer
Sequential Prefetch Hint
few or
none
Few lines
many
Many lines
Table 2-9.
Branch Cache Deallocation Hint
dh
Completer
Branch Cache Deallocation Hint
none
Don’t deallocate
clr
Deallocate branch information
Summary of Contents for Itanium 9150M
Page 1: ......
Page 209: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault...
Page 405: ...3 396 Volume 3 Resource and Dependency Semantics...
Page 406: ...3 397 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index...
Page 407: ...3 398 Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Page 419: ...INDEX Index 12 Index for Volumes 1 2 3 and 4...
Page 420: ......