mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-17 00:10:31 +02:00
Android's armeabi-v7a uses the softfp calling convention, where floats travel in R0/R1, not S0/S1. The math helper calls (vfpu_sin and the rest) only did the hard float version, so on Android they got garbage and returned it (broken 3D in Virtua Tennis: World Tour). Like the old ArmJit, check __ARM_PCS_VFP. With an armel softfp build under qemu, the fuzzer found 41 of 3000 cases where the JIT differed from the IR interpreter before this, and none after. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>