I am working on my game mod to a Gamecube game, where I use psq_l instruction to dequantize a u16 to double.
However, I found that it seems to dequantize data in an unexpected way:
According to the Gekko spec and the document on wiibrew, should the instruction write 12.0 to f0?
However, I found that it seems to dequantize data in an unexpected way:
Code:
; Before executing the instruction
; [r26] = 00 0c 00 0c ....
; qr4 = 0x00060006
psq_l p0, 2(r26), 1, qr4
; After executing the instruction:
; p0 = 0000000000000000 3ff0000000000000 // expected 4028000000000000 3ff0000000000000