It's 2-3.5% of the instructions, which is probably more than this percentage of the CPU time since these instructions take several cycles. Investigating how much time is actually spent on this is one of the things on my to-do list.Exophase said:What I said was that IF N64 games perform a lot of floating point calculations then Wiz wouldn't cut it. What Ari64 has shown is that (at least for the popular games he tested) they don't. In fact, his Cortex-A8 code is using soft floats to begin with. I do find this a little surprising because StrmnNrmn gained noticeable performance improvements by adding register caching to floats, but this might have been very context limited. Ari64 cited 2-3.5% of CPU time, so 0.36 to 0.63 million per second, which is relatively manageable, and would perform better with custom recompiled code than with the libc calls that Mupen64plus is using.
Floats aren't the only issue. It was slower without the movt/movw instructions. Also, compiling without the pld (preload) instructions (which the ARM926EJ ignores) has a measurable negative effect.Exophase said:Yes, the Wiz wouldn't compare highly well to the Pandora for running N64. But with floats out of the equation it looks at least worth trying. Converting down the ARMv6 instructions to ARMv5 equivalent chains would probably not hurt performance tremendously because unless I missed something the recompiler isn't relying on them for high performance in common code like for memory accesses or branches.
It's just barely fast enough to run on the Pandora, so I'm not even going to consider the Wiz right now. I figure someone will probably try it sooner or later.
Last edited by a moderator: