I've noticed that many Intel 32-bit programs have an i386
target, yet some have i486
, i586
or i686
as their build architecture. Are there any new features or instructions added to the instruction set in the latter three processor architectures?
views:
25answers:
1They change tons of things about the architecture, and add new instructions (and sets) all the time. If you want the latest cutting edge performance you need to compile for your specific variant of your architecture. See 2.1 BRIEF HISTORY OF INTEL® 64 AND IA-32 ARCHITECTURE of Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture.
Off the top of my head, MMX, 3DNOW, SSE*, x87 FPU, some other things like RDTSC were not in the original models IIRC. Actually, i[3,4,5,6]86 are really nothing at all like what we have today... Even in new processor models they are adding things like AES-NI and newer iterations of SSE, etc.
Wikipedia's pages also say a bit that changed in them, for instance in P6 it says they added CMOV.