Historical reasoning
The supplementary instructions feature has always been assumed to mean fixed sets of instructions that are not obligatory across all CPUs in a CPU family. Supplementary instructions will simply not be found on all processors within that family. A programmer who wishes to use a supplementary feature of a CPU is faced with a couple of choices. Supplemental instruction programming options * The ''operating system'' (kernel) and ''systems programmer'' (programs) may choose to design the systems software so that it mandatorily uses that feature and therefore can only be run on the more recent processors that have that feature. * On the other hand the system programmer may write or use existing software libraries to determine whether the processor it is running on has a particular feature (or set of instructions). Should the needed instructions not be there a fall back to a (presumably slower or otherwise less desirable) alternative technique can be initiated or else the program may be set to run with reduced functionality. * In other cases, an operating system may mimic the new features for older processors, though often with reduced performance. By using a lowest common denominator strategy (avoiding use of processor supplementary capabilities), programs can be kept portable across all machines of the same architecture.http://markhobley.yi.org/glossary/supplementarycapability.htmlCPU families affected
Some popular processor architectures such as x86, 68000, and MIPS have seen many new capabilities introduced over several generations of design. Some of these capabilities have then seen widespread adoption by programmers, spurring consumer upgrades and making the previous generations of processors obsolete.x86 capability flags
Supplementary Capabilities Not Represented By Flags
Include (not full list): *Processor Supplementary Instructions
Processor Supplementary Instructions are instructions that have been implemented on certain processors within a family, but are not present on all processors within a particular family.IA-32
The following instructions are considered to be processor supplementary instructions on IA-32 architecture. These instructions were added to later production processors, and are not part of the original IA-32 instruction set. Programs containing these instructions may not operate correctly on all machines in the IA-32 family:FPU and MMU capability
The FPU (Floating Point Unit) maths co-processing capability is available on all x86 processors since the 80486DX series. The FPU and MMU instruction sets (for the x86 family) have not been considered supplementary instructions since their introduction due to their importance to core CPU functionality.See also
* x86 instruction listings * CPUIDReferences