3 ms·
I've heard Intel's compiler makes optimisations that best favour the specifics of Intel CPUs. All other compilers are likely to make CPU-neutral optimisations.
by AshleysBrain 15y ago
I've heard Intel's compiler makes optimisations that best favour the specifics of Intel CPUs. All other compilers are likely to make CPU-neutral optimisations. Do you think the results would be much different if run on an AMD chip?
- DarkShikari 15y agoLast I heard (according to Agner), Intel's compiler still intentionally incorrectly detects AMD's CPUs and throws them to the CPU-generic code. x264 has a hacked loader function (borrowed from Agner) to avoid this, though I don't know if the test used it. Now I'm not sure how much this'd actually affect. The autovectorization in Intel's compiler is weak and, at least on Win64, sse2 is allowed in normal code without CPU dispatching. It does affect library functions like math and memcpy, but that'll only matter if your program spends a ton of time in them.
- kiloaper 15y agoWasn't there some legal ruling about that? I found some discussions [1] about it. The section about CPU vendor string manipulation is very interesting. [1] http://www.agner.org/optimize/blog/read.php?i=49 http://www.agner.org/optimize/blog/read.php?i=49