On 7/10/19 8:29 PM, Jan Bobek wrote: >>> +# Arithmetic Instructions >>> +PADDB MMX 00001111 11111100 !emit { modrm(); mem(size => 8); >>> } >>> +PADDW MMX 00001111 11111101 !emit { modrm(); mem(size => 8); >>> } >>> +PADDD MMX 00001111 11111110 !emit { modrm(); mem(size => 8); >>> } >>> +PADDQ MMX 00001111 11010100 !emit { modrm(); mem(size => 8); >>> } > > Not this one, at least according to the Intel docs: > > NP 0F D4 /r: PADDQ mm, mm/m64 (MMX) > 66 0F D4 /r: PADDQ xmm1, xmm2/m128 (SSE2) > > The SSE2 version is added in a later patch.
That's not how I read the Intel docs. In the CPUID feature flag column of the MMX PADDQ, I see SSE2. While the insn affects the mmx registers, it was not added with the original MMX instruction set. r~