I'm writing assembly routines in 32-bit CPU mode, using directives .686 and .XMM so that I can utilize SSE instructions. I needed to start with register XMM1 as all-0, so I have been using PXOR xmm1,xmm1 to set it to 0. But when assembling with MASM, I noticed that in the Register window that while the general purpose registers all started with various values in them (as expected), the XMM registers (XMM0-XMM7) all started as all-0. They appear to be automatically initialized to 0. So it made me wonder if I actually need to use PXOR to set it to 0. Is this a known "feature" of the XMM registers, and if so, is it documented anywhere? I Googled but didn't find anything about it.
Thanks. / Rav