summaryrefslogtreecommitdiff
path: root/Source/Android/jni/GameList/GameFileCache.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2025-10-03 20:32:27 +0200
committerJosJuice <josjuice@gmail.com>2026-01-18 20:03:54 +0100
commit3b1a4739bc02942fe4995ede8908bb625a4226f1 (patch)
treeaa082126376656dc285a124ccb31067dd3f93c4a /Source/Android/jni/GameList/GameFileCache.cpp
parent58487f1633b1e00d0ba7091ec96dc7c39afe8617 (diff)
JitArm64: Special-case fmadds with single-precision inputs
If all inputs to an fmadds instruction (including cousins like fmsubs, fnmadd...) are single-precision, then the result is identical between a double-precision calculation with an error-free transform (whether the calculation is fused or not) and a single-precision FMA instruction (must be fused). So as a performance optimization in JitArm64, if we were going to use double precision with EFT but the inputs are singles, instead we'll use a normal single-precision FMA instruction without anything extra. This lets us skip both the EFT and double-to-single conversions. Also renaming `inaccurate_fma` to `nonfused` because it's confusing that `inaccurate_fma` and `m_accurate_fmadds` have such similar names despite controlling separate things.
Diffstat (limited to 'Source/Android/jni/GameList/GameFileCache.cpp')
0 files changed, 0 insertions, 0 deletions