The recent FTC suit against Intel has garnered quite a bit of attention, and for good reason. When one of the biggest manufacturers of semiconductors is accused of anti-competitive practices people are bound to notice.
While Intel had been accused of such anti-competitive practices by AMD from quite a long time, the latest suit by the FTC (Federal Trade Commission) has some rather tough allegations. Intel had been accused of stifling the competition by unfair means.
Intel was accused of using the advantage of its dominance to strengthen its monopoly. Using threats and discounts with some of the world’s largest computer vendors such as Dell, HP, and IBM, Intel tried to ensure that computer vendors would lean towards shipping more Intel based computers and fewer AMD based ones. They felt threatened by the great advancements in their competitors products — which were not only better but also cheaper — and resorted to unfair means of competition.
That is not all though, Intel is also responsible for deliberately sabotaging its competitors’ products in an effort to make its processors look superior. As many users of Intel’s compilers have been noticing from quite some time, any application compiled using them tend to favor Intel processors. Many have complained, but to no avail, Intel merely sidelines the issue, promising fixes in new versions but not delivering. Intel’s compiler have been known to actively look at the CPUID of processors — which will contain the string “GenuineIntel” for Intel processors — and will use sub-optimum code in case a non-Intel processor is detected.
Using less optimized code is often essential in order to enable the same application to run on older CPUs which might not provide the features used by the optimization, however the Intel compiler produced code doesn’t even check if the processor supports those features, it merely disables them for non-Intel processors. All other compilers such as the ones by Microsoft and the open source GCC (GNU Compiler Collection) all perform such checks.
What is even more troubling is that benchmarks compiled with the Intel Compilers are susceptible to this, and this puts in question the many benchmarks which in recent years have pegged Intel ahead of AMD. Such a disparity was even noticed by Ars Technica in an article comparing VIA Nano and Intel Atom.
The dispute between AMD and Intel has been settled with Intel paying AMD $1.25 billion for a crime they claim they did not commit, and among the terms of the agreement it is quite possible that they would have to fix their compilers once and for all. In the end it is the users of AMD processors who had to suffer from poor performance despite having possibly faster systems. If you’re a developer it is probably better to stay away from Intel’s compiler in any case.