diff options
Diffstat (limited to 'src/devices/cpu/drcbex64.cpp')
-rw-r--r-- | src/devices/cpu/drcbex64.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/devices/cpu/drcbex64.cpp b/src/devices/cpu/drcbex64.cpp index 27404d0f066..2cc08888eb2 100644 --- a/src/devices/cpu/drcbex64.cpp +++ b/src/devices/cpu/drcbex64.cpp @@ -287,7 +287,13 @@ static const uint8_t int_register_map[REG_I_COUNT] = static uint8_t float_register_map[REG_F_COUNT] = { +#ifdef X64_WINDOWS_ABI REG_XMM6, REG_XMM7, REG_XMM8, REG_XMM9, REG_XMM10, REG_XMM11, REG_XMM12, REG_XMM13, REG_XMM14, REG_XMM15 +#else + // on AMD x64 ABI, XMM0-7 are FP function args. since this code has no args, and we + // save/restore them around CALLC, they should be safe for our use. + REG_XMM0, REG_XMM1, REG_XMM2, REG_XMM3, REG_XMM4, REG_XMM5, REG_XMM6, REG_XMM7 +#endif }; // condition mapping table |