Skip to content
Permalink
Browse files

ARM64 vmmov experiment: Reduce precision by using FMUL+FADD instead o…

…f FMADD. May help #12082 and thus also #11179 and #9843.
  • Loading branch information...
hrydgard committed Jun 4, 2019
1 parent c4d26dc commit 649b7a5671479b3c1a3ff8a7199dbc76ad9efa85
Showing with 2 additions and 1 deletion.
  1. +2 −1 Core/MIPS/ARM64/Arm64CompVFPU.cpp
@@ -1240,7 +1240,8 @@ namespace MIPSComp {
fp.FMUL(fpr.V(dregs[a * 4 + b]), fpr.V(sregs[b * 4]), fpr.V(tregs[a * 4]));
for (int c = 1; c < n; c++) {
fpr.MapDirtyInInV(dregs[a * 4 + b], sregs[b * 4 + c], tregs[a * 4 + c], false);
fp.FMADD(fpr.V(dregs[a * 4 + b]), fpr.V(sregs[b * 4 + c]), fpr.V(tregs[a * 4 + c]), fpr.V(dregs[a * 4 + b]));
fp.FMUL(S0, fpr.V(sregs[b * 4 + c]), fpr.V(tregs[a * 4 + c]));
fp.FADD(fpr.V(dregs[a * 4 + b]), fpr.V(dregs[a * 4 + b]), S0);
}
}
}

1 comment on commit 649b7a5

@hrydgard

This comment has been minimized.

Copy link
Owner Author

commented on 649b7a5 Jun 4, 2019

Commit message should be vmmul experiment, of course.

Please sign in to comment.
You can’t perform that action at this time.