Skip to content

Commit

Permalink
ARM64 vmmov experiment: Reduce precision by using FMUL+FADD instead o…
Browse files Browse the repository at this point in the history
…f FMADD. May help #12082 and thus also #11179 and #9843.
  • Loading branch information
hrydgard committed Jun 4, 2019
1 parent c4d26dc commit 649b7a5
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion Core/MIPS/ARM64/Arm64CompVFPU.cpp
Expand Up @@ -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);
}
}
}
Expand Down

1 comment on commit 649b7a5

@hrydgard
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit message should be vmmul experiment, of course.

Please sign in to comment.