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). -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4720#note_56682