Yokemate of Keyboards
Posts: 12407 from 2003/5/22
From: Germany
> Funny thing is that the G5 problems were already mentioned:
>
http://euaejit.blogspot.com/2012/10/jinxed-it-more-apples.html :)
Indeed, and the solution has already been worked out back then:
"
Tobias Netzel [...] managed to fix up E-UAE for the G5 (PowerPC 970) processors. He got rid of the mcrxr emulated unsupported instruction [...] for this processor type. He also done some optimizations regarding the microcoded instruction usage [...]. [...] almost half of the emulated instructions make use of the mcrxr instruction for emulating some arithmetic flags. With the recent changes this PPC instruction is not used for anything if the emulator was compiled for G5 and the fix helps a lot on the interpretive emulation too."
To me as a non-developer, this sounds like it just has to be compiled for PPC970 target and the alternative G5-optimized code should be used automatically for the resulting binary.
Edit:
"
Performance of UAE used to be bad on G5 CPUs. The reason for this is the use of the "mcrxr" instruction which CPUs of POWER4 and later POWER architecture versions don't implement at all. For that reason OSes like GNU/Linux or Mac OS X/Darwin catch the illegal instruction exception that is thrown when that instruction is being executed and emulate it in software. That results in a huge performance penalty. That "mcrxr" instruction is used explicitely in the optimized flags code. Turning off flags optimization when executing gencpu will restore performance on those CPUs. Additionally I contributed code to FS-UAE and E-UAE PowerPC JIT that works around that problem."
http://www.freelists.org/post/uae/Performance-on-G5-or-POWER4-and-later-CPUs