lfdu

Load Floating-Point Double with Update

lfdu FRT,D(RA)

Loads a doubleword from memory into a floating-point register and updates the base address register.

Details

The doubleword in storage addressed by EA is loaded into register FRT. The effective address (EA) is the sum of the contents of register RA, or the value 0 if RA=0, and the value D, sign-extended to 64 bits. If RA=0, the instruction form is invalid.

Pseudocode Operation

if RA = 0 then
    b ← 0
else
    b ← (RA)
EA ← b + EXTS(D)
FRT ← MEM(EA, 8)
RA ← EA

Programming Note

The base register (RA) is updated with the effective address after the memory access. RA must not be 0 and must differ from the destination register; violating this constraint produces undefined results.

Example

lfdu f1, 0(r4)

Encoding

Binary Layout
0
0
FRT
6
RA
11
D
16
 
Format D-form
Opcode 0xCC000000
Extension Floating-Point
Registers Altered FPSCR

Operands

  • FRT
    Target Floating Point Register
  • RA
    Base General Purpose Register
  • D
    Displacement