[ARM64_DYNAREC] Switched RSQRTPS to precise instead of aproximate

This commit is contained in:
ptitSeb 2025-04-29 18:03:15 +02:00
parent 737a93a77c
commit f0859e6462

View File

@ -1081,9 +1081,10 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
case 0x52:
INST_NAME("RSQRTPS Gx, Ex");
nextop = F8;
SKIPTEST(x1);
GETEX(q0, 0, 0);
GETGX_empty(q1);
#if 0
SKIPTEST(x1);
v0 = fpu_get_scratch(dyn, ninst);
// more precise
if(q1==q0)
@ -1094,6 +1095,12 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
VFMULQS(v1, v0, q0);
VFRSQRTSQS(v1, v1, v0);
VFMULQS(q1, v1, v0);
#else
v0 = fpu_get_scratch(dyn, ninst);
VFMOVSQ_8(v0, 0b01110000); //1.0f
VFSQRTQS(q1, q0);
VFDIVQS(q1, v0, q1);
#endif
break;
case 0x53:
INST_NAME("RCPPS Gx, Ex");