COP1X 010011 |
base |
index |
0 00000 |
fd |
LWXC1 000000 |
6 |
5 |
5 |
5 |
5 |
6 |
LWXC1 fd, index(base) |
MIPS64, MIPS32 Release 2, removed in Release 6 |
Load Word Indexed to Floating Point |
Load Word Indexed to Floating Point
To load a word from memory to an FPR (GPR+GPR addressing).
FPR[fd] = memory[GPR[base] + GPR[index]]
The contents of the 32-bit word at the memory location specified by the aligned effective address are fetched and placed into the low word of FPR fd. If FPRs are 64 bits wide, bits 63..32 of FPR fs become UNPREDICTABLE. The contents of GPR index and GPR base are added to form the effective address.
An Address Error exception occurs if EffectiveAddress1..0 != 0 (not word-aligned).
This instruction has been removed in Release 6.
Required in all versions of MIPS64 since MIPS64 Release 1. Not available in MIPS32 Release 1. Required in
MIPS32 Release 2 and all subsequent versions of MIPS32. When required, required whenever FPU is present, whether a 32-bit or 64-bit FPU, whether in 32-bit or 64-bit FP Register Mode (FIRF64=0 or 1, StatusFR=0 or 1).
vAddr = GPR[base] + GPR[index] if vAddr1..0 != 02 then SignalException(AddressError) endif (pAddr, CCA) = AddressTranslation (vAddr, DATA, LOAD) pAddr = pAddrPSIZE-1..3 || (pAddr2..0 xor (ReverseEndian || 02)) memdoubleword = LoadMemory(CCA, WORD, pAddr, vAddr, DATA) bytesel = vAddr2..0 xor (BigEndianCPU || 02) StoreFPR(fd, UNINTERPRETED_WORD, memdoubleword31+8*bytesel..8*bytesel)
TLB Refill, TLB Invalid, Address Error, Reserved Instruction, Coprocessor Unusable, Watch