Open marxin opened 1 week ago
The general problem with the XSAVE{,C,S} tests is that they rely on the fact that there is no state modification between these 2 calls:
xsave::_xrstor64(a.ptr(), m);
xsave::_xsavec64(b.ptr(), m);
That's something we can be sure of only if the Release mode is used, in which the pair of a XSAVE and XRSTOR instructions would happen one after the other. In debug mode, we might end up with a call to ptr()
function.
@Amanieu: I would recommend running these tests only in release mode, does it work for you?
It happens the test fails on Windows on my Zen PC:
AMD Ryzen 9 7900X 12-Core Processor
:It's probably going to need a similar treatment as I did in #1641. An Intel/AMD CPU expert would be more than welcomed here.