Each new generation of CPU introduces some sets of a new command, for example: MMX, 3DNOW, SSE, etc.
I have a few general questions about them:
1) If a program uses, for example, an SSE instruction, can it be run on a processor that does not support SSE?
2) If yes, does this mean that these casts will be changed to some more simple steps?
3) If not, does this mean that the real impact of such new instructions will be achieved in a few years, when most processors will support this technology (so there will be no incompatibilities)?
4) When I compile a program in C ++ with optimization, does it mean to use some of these new instructions? (I know that this depends on many factors, especially code, but I want a general answer) Or are they mostly reserved for programs written in asm?
source
share