Jinoh Kang (@iamahuman) commented about dlls/ntdll/tests/exception.c:
- COMPARE( Rbx );
- COMPARE( Rbp );
- COMPARE( Rsi );
- COMPARE( Rdi );
- COMPARE( R8 );
- COMPARE( R9 );
- COMPARE( R10 );
- COMPARE( R11 );
- COMPARE( R12 );
- COMPARE( R13 );
- COMPARE( R14 );
- COMPARE( R15 );
- ok(memcmp(&contexts.before.Xmm0, &contexts.after.Xmm0, &contexts.before.Xmm15 - &contexts.before.Xmm0) == 0,
"wrong some SSE register, Xmm0 %lld/%lld Xmm15 %lld/%lld", contexts.before.Xmm0.Low, contexts.after.Xmm0.Low,
contexts.before.Xmm15.High, contexts.after.Xmm15.High);
We should test individual registers for consistency with `test_thread_context`. You can just copy-paste code from it, with a few modifications.
Individual comparison in general leads to easier troubleshooting. In this case, it helps with debugging potential memory corruption issues across batch winetest runs (https://test.winehq.org/data/patterns-tb-wine.html#ntdll:exception).