summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/drcbex64.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/drcbex64.cpp')
-rw-r--r--src/devices/cpu/drcbex64.cpp6
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