mirror of
https://github.com/ptitSeb/box64.git
synced 2025-05-09 00:21:32 +08:00
[ARM64_DYNAREC] Switched RSQRTPS to precise instead of aproximate
This commit is contained in:
parent
737a93a77c
commit
f0859e6462
@ -1081,9 +1081,10 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin
|
|||||||
case 0x52:
|
case 0x52:
|
||||||
INST_NAME("RSQRTPS Gx, Ex");
|
INST_NAME("RSQRTPS Gx, Ex");
|
||||||
nextop = F8;
|
nextop = F8;
|
||||||
SKIPTEST(x1);
|
|
||||||
GETEX(q0, 0, 0);
|
GETEX(q0, 0, 0);
|
||||||
GETGX_empty(q1);
|
GETGX_empty(q1);
|
||||||
|
#if 0
|
||||||
|
SKIPTEST(x1);
|
||||||
v0 = fpu_get_scratch(dyn, ninst);
|
v0 = fpu_get_scratch(dyn, ninst);
|
||||||
// more precise
|
// more precise
|
||||||
if(q1==q0)
|
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);
|
VFMULQS(v1, v0, q0);
|
||||||
VFRSQRTSQS(v1, v1, v0);
|
VFRSQRTSQS(v1, v1, v0);
|
||||||
VFMULQS(q1, 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;
|
break;
|
||||||
case 0x53:
|
case 0x53:
|
||||||
INST_NAME("RCPPS Gx, Ex");
|
INST_NAME("RCPPS Gx, Ex");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user