When was MOVNTQ introduced?
Is it one of the original MMX instructions, or was it added with the SSE instruction set?
I assume it was added with the SSE instruction set, since the intel manuals say you get a #UD if the CPUID.SSE flag is not set... but later it mentions #UD if CPUID.SSE2 is not set :s
Does anybody have a decent and correct reference that shows when the various instructions were introduced?
Is it one of the original MMX instructions, or was it added with the SSE instruction set?
I assume it was added with the SSE instruction set, since the intel manuals say you get a #UD if the CPUID.SSE flag is not set... but later it mentions #UD if CPUID.SSE2 is not set :s
Does anybody have a decent and correct reference that shows when the various instructions were introduced?
http://www.x86.org/articles/sse_pt2/simd2.htm
on this page, movntq is listed as a sse instruction introduced in the pentium 3.
on this page, movntq is listed as a sse instruction introduced in the pentium 3.
Thanks - I guess I should have a look at sandpile, too - been too long since I visited those sites :)
Intel's manual says that MOVNTQ requires SSE in protected mode, and SSE2 in real-address mode.
Intel's manual says that MOVNTQ requires SSE in protected mode, and SSE2 in real-address mode.
Yep, as I wrote before... but this doesn't make any sense, does it? Sounds more like a typo to me :)
well dunno. maybe Pentium 3 doesn't have this instruction in real-address. it's possible (low chance but still possible) that intel wanted to cut the costs and implemented in only for protected mode. the instruciuon itself is "memory instruction" -- it plays with the cache, etc, (and maybe it's harder to do it in real-address? after all we're not intlel architects so we don't know if it is) so it seems like very strange coincidence...
...or just a typo :P
...or just a typo :P
Considering that intel has been known for typos (ask any disassembler author), I would bet on the typo :)