mirror of
https://github.com/libretro/ppsspp.git
synced 2025-02-01 22:31:58 +00:00
Implement Vdet
This commit is contained in:
parent
bf0792e42a
commit
1f83fc4e9c
@ -906,7 +906,26 @@ namespace MIPSInt
|
||||
PC += 4;
|
||||
EatPrefixes();
|
||||
}
|
||||
|
||||
|
||||
void Int_Vdet(u32 op)
|
||||
{
|
||||
float s[4], t[4];
|
||||
float d[4];
|
||||
int vd = _VD;
|
||||
int vs = _VS;
|
||||
int vt = _VT;
|
||||
VectorSize sz = GetVecSize(op);
|
||||
if (sz != V_Pair)
|
||||
_dbg_assert_msg_(CPU,0,"Trying to interpret instruction that can't be interpreted");
|
||||
ReadVector(s, sz, vs);
|
||||
ReadVector(t, sz, vt);
|
||||
d[0] = s[0] * t[1] - s[1] * t[0];
|
||||
ApplyPrefixD(d, sz);
|
||||
WriteVector(d, sz, vd);
|
||||
PC += 4;
|
||||
EatPrefixes();
|
||||
}
|
||||
|
||||
void Int_Vfad(u32 op)
|
||||
{
|
||||
float s[4];
|
||||
|
@ -50,6 +50,7 @@ namespace MIPSInt
|
||||
void Int_Vcmp(u32 op);
|
||||
void Int_Vminmax(u32 op);
|
||||
void Int_Vcrs(u32 op);
|
||||
void Int_Vdet(u32 op);
|
||||
void Int_Vcmov(u32 op);
|
||||
void Int_CrossQuat(u32 op);
|
||||
void Int_VPFX(u32 op);
|
||||
|
@ -495,7 +495,7 @@ MIPSInstruction tableVFPU1[8] =
|
||||
INSTR("vhdp",&Jit::Comp_Generic, Dis_Generic, 0, IS_VFPU),
|
||||
{-2},
|
||||
INSTR("vcrs",&Jit::Comp_Generic, Dis_Vcrs, Int_Vcrs, IS_VFPU),
|
||||
INSTR("vdet",&Jit::Comp_Generic, Dis_Generic, 0, IS_VFPU),
|
||||
INSTR("vdet",&Jit::Comp_Generic, Dis_Generic, Int_Vdet, IS_VFPU),
|
||||
{-2},
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user