FEXCore: Implement xsaveopt

It's the same as xsave because we don't track a hidden "xinuse" hardware
mask. So this is a trivial implementation.
This commit is contained in:
Ryan Houdek committed 2025-07-14 17:31:47 -07:00
1 parent 4f605739f1
commit 0dff992fab
2 files changed
+2 -3

No files matched your search

+1 -1
View File
@@ -754,7 +754,7 @@ FEXCore::CPUID::FunctionResults CPUIDEmu::Function_0Dh(uint32_t Leaf) const {
// XFeatureSupportedMask[63:32]
Res.edx = 0; // Upper 32-bits of XFeatureSupportedMask
} else if (Leaf == 1) {
Res.eax = (0 << 0) | // XSAVEOPT
Res.eax = (1 << 0) | // XSAVEOPT
(0 << 1) | // XSAVEC (and XRSTOR)
(0 << 2) | // XGETBV - XGETBV with ECX=1 supported
(0 << 3); // XSAVES - XSAVES, XRSTORS, and IA32_XSS supported
@@ -4682,8 +4682,7 @@ void OpDispatchBuilder::MemFenceOrXSAVEOPT(OpcodeArgs) {
// 0xF0 is MFENCE
_Fence(FEXCore::IR::Fence_LoadStore);
} else {
LogMan::Msg::EFmt("Application tried using XSAVEOPT");
UnimplementedOp(Op);
XSaveOp(Op);
}
}