The documentation for the m128i datatype on MSDN reads:
You should not access the __m128i fields directly. You can, however, see these types in the debugger. A variable of type __m128i maps to the XMM[0-7] registers.
However, when I access one of the fields directly and store it in an integer, it works like expected (in debug and release builds).
int n = var.m128i_i32
What is the reason the documentation tells me not to write code like this? Or can I ignore that advice and safely use this approach.
Perhaps it's not _guaranteed_ to work in all circumstances/cpu's?