lfetch Operation Font Conventions
if (PR[qp]) {
itype = READ|NON_ACCESS;
itype |= (lftype == ‘fault') ? LFETCH_FAULT : LFETCH;

if (reg_base_update_form || imm_base_update_form)
check_target_register
(r3);

if (lftype == ‘fault') { // faulting form
if ( GR[r3].nat && !PSR.ed) // fault on NaT address
register_nat_consumption_fault(itype);
}

excl_hint = (exclusive_form) ? EXCLUSIVE : 0;
if (!GR[r3].nat && !PSR.ed) {// faulting form already faulted if r3 is nat paddr = tlb_translate(GR[r3], 1, itype, PSR.cpl, &mattr, &defer);
if (!defer)
mem_promote
(paddr, mattr, lfhint | excl_hint);
}

if (imm_base_update_form) {
GR[r3] = GR[r3] + sign_ext(imm9, 9);
GR[r3].nat = GR[r3].nat;
} else if (reg_base_update_form) {
GR[r3] = GR[r3] + GR[r2];
GR[r3].nat = GR[r2].nat || GR[r3].nat;
}

if ((reg_base_update_form || imm_base_update_form) && !GR[r3].nat)
mem_implicit_prefetch
(GR[r3],lfhint |excl_hint, itype);
}