mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-24 15:02:47 +00:00
Fix intermediate rounding of fused multiply-add instructions.
This commit is contained in:
parent
fee20573d2
commit
43e74a9c61
@ -3895,7 +3895,7 @@ private:
|
|||||||
const double a = CPU.FPR[fra];
|
const double a = CPU.FPR[fra];
|
||||||
const double b = CPU.FPR[frb];
|
const double b = CPU.FPR[frb];
|
||||||
const double c = CPU.FPR[frc];
|
const double c = CPU.FPR[frc];
|
||||||
const double res = a * c + (sub ? -b : b);
|
const double res = fma(a, c, sub ? -b : b);
|
||||||
if(single) CPU.FPR[frd] = (float)(neg ? -res : res);
|
if(single) CPU.FPR[frd] = (float)(neg ? -res : res);
|
||||||
else CPU.FPR[frd] = (neg ? -res : res);
|
else CPU.FPR[frd] = (neg ? -res : res);
|
||||||
CPU.FPSCR.FPRF = CPU.FPR[frd].GetType();
|
CPU.FPSCR.FPRF = CPU.FPR[frd].GetType();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user