Vijay Kiran Kamuju : dbghelp: Add xmm and mxcsr register mapping functions for i386.

Alexandre Julliard julliard at winehq.org
Wed Aug 5 16:05:00 CDT 2020


Module: wine
Branch: master
Commit: 7e965d60b542c0baa6f79605f45669a2ea9bceb8
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7e965d60b542c0baa6f79605f45669a2ea9bceb8

Author: Vijay Kiran Kamuju <infyquest at gmail.com>
Date:   Tue Aug  4 19:14:51 2020 +0200

dbghelp: Add xmm and mxcsr register mapping functions for i386.

Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dbghelp/cpu_i386.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/dlls/dbghelp/cpu_i386.c b/dlls/dbghelp/cpu_i386.c
index fd808a0d32..864b7f7664 100644
--- a/dlls/dbghelp/cpu_i386.c
+++ b/dlls/dbghelp/cpu_i386.c
@@ -604,6 +604,16 @@ static void *i386_fetch_context_reg(union ctx *pctx, unsigned regno, unsigned *s
     case CV_REG_FS: *size = sizeof(ctx->SegFs); return &ctx->SegFs;
     case CV_REG_GS: *size = sizeof(ctx->SegGs); return &ctx->SegGs;
 
+    case CV_REG_XMM0 + 0: *size = 16; return &ctx->ExtendedRegisters[10*16];
+    case CV_REG_XMM0 + 1: *size = 16; return &ctx->ExtendedRegisters[11*16];
+    case CV_REG_XMM0 + 2: *size = 16; return &ctx->ExtendedRegisters[12*16];
+    case CV_REG_XMM0 + 3: *size = 16; return &ctx->ExtendedRegisters[13*16];
+    case CV_REG_XMM0 + 4: *size = 16; return &ctx->ExtendedRegisters[14*16];
+    case CV_REG_XMM0 + 5: *size = 16; return &ctx->ExtendedRegisters[15*16];
+    case CV_REG_XMM0 + 6: *size = 16; return &ctx->ExtendedRegisters[16*16];
+    case CV_REG_XMM0 + 7: *size = 16; return &ctx->ExtendedRegisters[17*16];
+
+    case CV_REG_MXCSR: *size = sizeof(DWORD); return &ctx->ExtendedRegisters[24];
     }
     FIXME("Unknown register %x\n", regno);
     return NULL;




More information about the wine-cvs mailing list