[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Assembler Language Reference

### Purpose

Note: The lfqux instruction is supported only in the POWER2 implementation of the POWER architecture.

POWER2
lfqux FRT,RA,RB

### Description

The lfqux instruction loads the two doublewords from the location in memory specified by the effective address (EA) into two floating-point registers (FPR).

If general-purpose register (GPR) RA is not 0, the EA is the sum of the contents of GPR RA and GPR RB. If GPR RA is 0, the EA is the contents of GPR RB. The doubleword at the EA is loaded into FPR FRT. If FRT is 31, the doubleword at EA+8 is loaded into FPR 0; otherwise, it is loaded into FRT+1.

If GPR RA is not 0, the EA is placed into GPR RA.

The lfqux instruction has one syntax form and does not affect the Floating-Point Status and Control Register or Condition Register Field 0.

### Parameters

 FRT Specifies the first of two target floating-point registers. RA Specifies the first source general-purpose register for the EA calculation and the target register for the EA update. RB Specifies the second source general-purpose register for the EA calculation.

### Examples

The following code calculates the sum of three double-precision, floating-point, two-dimensional coordinates:

```# Assume the two-dimensional coordinates are contained
# in a linked list with elements of the form:
# list_element:
#       .double          # Floating-point value of X.
#       .double          # Floating-point value of Y.
#       .next_elem       # Offset to next element;
#                        # from X(n) to X(n+1).
#
# Assume GPR 3 contains the address of the first list element.
# Assume GPR 4 contains the address where the resultant sums
# will be stored.
lfq     7,0(3)           # Get first pair of X_Y values.
lwz     5,16(3)          # Get the offset to second element.
lfqux   9,3,5            # Get second pair of X_Y values.
lwz     5,16(3)          # Get the offset to third element.