
Volume 3: Instruction Reference
3:155
ld
val = mem_read(paddr, size, UM.be, mattr, otype,
bias |
ldhint
);
}
}
}
if (check_clear || advanced)
// remove any old ALAT entry
alat_inval_single_entry(GENERAL,
r
1
);
if (defer) {
if (speculative) {
GR[
r
1
] = natd_gr_read(paddr, size, UM.be, mattr, otype,
bias |
ldhint
);
GR[
r
1
].nat = 1;
} else {
GR[
r
1
] = 0;
// ld.a to sequential memory
GR[
r
1
].nat = 0;
}
} else {
// execute load normally
if (fill_form) {
// fill NaT on ld8.fill
bit_pos = GR[
r
3
]{8:3};
GR[
r
1
] = val;
GR[
r
1
].nat = AR[UNAT]{bit_pos};
} else {
// clear NaT on other types
if (size == 16) {
GR[
r
1
] = val;
AR[CSD] = val_ar;
}
else {
GR[
r
1
] = zero_ext(val, size * 8);
}
GR[
r
1
].nat = 0;
}
if ((check_no_clear || advanced) && ma_is_speculative(mattr))
// add entry to ALAT
ldtype
, GENERAL,
r
1
, paddr, size);
}
}
if (imm_base_update_form) {
// update base register
GR[
r
3
] = GR[
r
3
imm
9
, 9);
GR[
r
3
].nat = GR[
r
3
].nat;
} else if (reg_base_update_form) {
GR[
r
3
] = GR[
r
3
] + tmp_r2;
GR[
r
3
].nat = GR[
r
3
].nat || tmp_r2nat;
}
if ((reg_base_update_form || imm_base_update_form) && !GR[
r
3
].nat)
r
3
],
ldhint
| bias, itype);
}
Содержание Itanium 9150M
Страница 1: ......
Страница 209: ...3 200 Volume 3 Instruction Reference padd Interruptions Illegal Operation fault...
Страница 301: ...3 292 Volume 3 Pseudo Code Functions Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Страница 405: ...3 396 Volume 3 Resource and Dependency Semantics...
Страница 406: ...3 397 Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index...
Страница 407: ...3 398 Intel Itanium Architecture Software Developer s Manual Rev 2 3...
Страница 419: ...INDEX Index 12 Index for Volumes 1 2 3 and 4...
Страница 420: ......