hi,
It adds instructions to the executable
thats what I said, it adds to the code, the code size obviously increases.
Not so. It uses the best optimizations for whatever processor you have.
1. If you have a Pentium it will use the newer instructions introduced in the Pentium.
2. If you have a Pentium with MMX support, it will use the above plus MMX instructions.
3. If you have a Pentium Pro, it will use the newer instructions introduced in this processor.
4. If you have a Pentium 2, it will use all of the above, MMX and the new instructions available starting with the Pentium Pro.
5. If you have a Pentium 3, it will use all of the above and additionally use the SSE instructions.
6. If you have a Pentium 4, it will use all of the above plus SSE2.
7. It would not fall back to older 386-compatible code unless it did not detect even a Pentium class CPU.
these are <b>seven</b> sets of code that a app must carry with it. i dont think it is practicle. no compiler should generate more than 3 (<b>three</b>) branches of the same code. you might have different sets of DLLs for different processors (just like you have DLLs for different languages)
but then this adds to the application size, adds to the cost, and you cannot write a generalised DLL for all kinds of applications to use.
and this make the software costly and incompatible with older processors, or slower on newer processors.
Software emulation of SSE2 instructions would be no better than the non-SSE2 code produced in the executable. It is the existence of the instructions in hardware that provide the performance benefit
thats what i said... there would not be much performance increase. by saying "not be much", I state that there will be *some* performance increase over non-SSE2 code. This is because the SSE2 emulator will be written only once, so it should be optimised for the platform, you may write a version each for 486, Pentium, P2, P3 etc, but you will write it only once and install it only once. This will make the system SSE2 capable, and this solution <b>must</b> produce better results than generating non-SSE2 code everytime an app is compiled. it would also be compatible with P4 applications, and that will reduce the development cost (and upgrade cost of your hardware) and ultimately the cost of the software.
I did not mean any performance benefit above, I just intended to state the compatibility and flexibility the emulator will provide.
girish
And the views stated herein are my own personal views, not made by prejudistic opinions, but just practical thinking.
<font color=blue>die-hard fans don't have heat-sinks!</font color=blue>