mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 00:59:44 -06:00
JIT: Initial FPRF support
Doesn't support all the FPSCR flags, just the FPRF ones. Add PPCAnalyzer support to remove unnecessary FPRF calculations. POV-ray benchmark with enableFPRF forced on for an extreme comparison: Before: 1500s After, fmul/fmadd only: 728s After, all float: 753s In real games that use FPRF, like F-Zero GX, FPRF previously cost a few percent of total runtime. Since FPRF is so much faster now, if enableFPRF is set, just do it for every float instruction, not just fmul/fmadd like before. I don't know if this will fix any games, but there's little good reason not to.
This commit is contained in:
@ -383,6 +383,9 @@ union UReg_MSR
|
||||
UReg_MSR() { Hex = 0; }
|
||||
};
|
||||
|
||||
#define FPRF_SHIFT 12
|
||||
#define FPRF_MASK (0x1F << FPRF_SHIFT)
|
||||
|
||||
// Floating Point Status and Control Register
|
||||
union UReg_FPSCR
|
||||
{
|
||||
|
Reference in New Issue
Block a user