MESS RSP Opcode Status Table

Explanation: This table lists all of the vector opcodes that the RSP supports. I will update the status of the cells as I verify their behavior against a real Nintendo 64.

OpcodeDescriptionStatusNotes
LBVLoad Byte to VectorUntested 
LSVLoad Short to VectorUntested 
LLVLoad Long to VectorUntested 
LDVLoad Double to VectorUntested 
LQVLoad Quad to VectorUntested 
LRVLoad to Right-side of VectorUntested 
LPVLoad upper 8 bits of Vector elementsUntested 
LUVLoad bits 14-7 of Vector elementsUntested 
LHVLoad bits 14-7 of Vector elements, 2B strideUntested 
LFVLoad bits 14-7 of Vector quads, 4B strideUntested 
LWVLoad Wrapped VectorUntested 
LTVLoad Vector element seriesUntested 
SBVStore Byte from VectorUntested 
SSVStore Short from VectorUntested 
SLVStore Long from VectorUntested 
SDVStore Double from VectorUntested 
SQVStore Quad from VectorUntested 
SRVStore from Right-side of VectorUntested 
SPVStore upper 8 bits of Vector elementsUntested 
SUVStore bits 14-7 of Vector elementsUntested 
SHVStore bits 14-7 of Vector elements, 2B strideUntested 
SFVStore bits 14-7 of Vector quads, 4B strideUntested 
SWVStore Wrapped VectorUntested 
STVStore Vector element seriesUntested 
VMULFVector Multiply FullUntested 
VMULUVector Multiply UpperUntested 
VMUDLVector Multiply Destination LowUntested 
VMUDMVector Multiply Accumulator MiddleUntested 
VMUDNVector Multiply Accumulator LowUntested 
VMUDHVector Multiply Accumulator HighUntested 
VMACFVector Multiply and Accumulate FullUntested 
VMACUVector Multiply and Accumulate UpperUntested 
VMADLVector Multiply-Add Destination LowPass 
VMADMVector Multiply-Add Accumulator MiddlePass 
VMADNVector Multiply-Add Accumulator LowPass 
VMADHVector Multiply-Add Accumulator HighPass 
VADDVector AddPass (tent.) 
VSUBVector SubtractPass (tent.) 
VABSVector Absolute ValuePass (tent.) 
VADDCVector Add w/ CarryPass (tent.) 
VSUBCVector Subtract w/ CarryPass (tent.) 
VSAWVector Store Accumulator WordPass 
VLTVector Less-Than CompareUntested 
VEQVector Equal CompareUntested 
VNEVector Not Equal CompareUntested 
VGEVector Greater / Equal CompareUntested 
VCLVector Clip LowPass 
VCHVector Clip HighPass 
VCRVector Clip ReversePass 
VMRGVector MergeUntested 
VANDVector ANDPass 
VNANDVector Not ANDPass 
VORVector ORPass 
VNORVector Not ORPass 
VXORVector Exclusive ORPass 
VNXORVector Not Exclusive ORPass 
VRCPVector ReciprocalFixed7-del -> del
VRCPLVector Reciprocal LowFixed7-del -> del
VRCPHVector Reciprocal HighFixed7-del -> del
VMOVVector MoveUntested 
VRSQLVector Reciprocal Square-root LowFixed7-del -> del
VRSQHVector Reciprocal Square-root HighFixed7-del -> del