http://bugs.winehq.org/show_bug.cgi?id=58335
--- Comment #81 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Bernhard Übelacker from comment #80)
It shows in __wine_syscall_dispatcher:
=> 0x7ffff7cfed8c <__wine_syscall_dispatcher+208>: xsave64 0xc0(%rcx) 2: /x $xmm6.v2_int64 = {0x7ffffe324e90, 0x7ffffe325a10} 4: /x $rcx = 0x7ffffe0ffd00
=> 0x7ffff7cfee83 <__wine_syscall_dispatcher+455>: movaps 0x1c0(%rcx),%xmm6 2: /x $xmm6.v2_int64 = {0x7ffffe324e90, 0x7ffffe325a10} # after execution: 2: /x $xmm6.v2_int64 = {0x0, 0x0} 4: /x $rcx = 0x7ffffe0ffd00
In my non-avx VM I just reach the fxsave64 path, which writes at offset 256 the register xmm6 to the stack. ( https://www.felixcloutier.com/x86/fxsave )
In Michaels failing machine we reach a instruction xsave64, but I could not yet find if that is supposed to save xmm6 register?
According to https://www.felixcloutier.com/x86/xsave "The implicit EDX:EAX register pair specifies a 64-bit instruction mask. The specific state components saved correspond to the bits set in the requested-feature bitmap (RFBM), which is the logical-AND of EDX:EAX and XCR0."
I'd guess that something is wrong with user_shared_data->ProcessorFeatures[PF_XSAVE_ENABLED] flags: https://gitlab.winehq.org/wine/wine/-/blob/master/dlls/ntdll/unix/signal_x86... which leads to execution of xsave64 instead of fxsave64.