hrydgard/ppsspp — pull request #1832 by unknownbrackets (2013-05-18 09:23:02+00:00)
Title: Workaround the 32-bit only VFPU bug in Kingdom Hearts

Initially I had a much more complicated change (I unrolled the loops and did everything at the switch level with memcpy), which fixed it. I narrowed it down to copying as u32 being sufficient to resolve the bug.

In the worst case, this might hurt perf/compiler optimization, but it shouldn't be significant.

This does not fix LittleBigPlanet's videos (in interpreter mode), and neither does applying the same change to the Matrix funcs. However, it does at least fix Kingdom Hearts so that it behaves the same in 32-bit as in 64-bit afaict.

If I was debugging correctly, the differences were mainly in Int_Vx2i, but I'm not certain. It definitely was only for V_Single in Kingdom Hearts.

Also added some reporting and changed some indentation.

-[Unknown]