1. Jádrem celého „problému“ není nic jiného než struktura:
If Intel A then
Elsif Intel B then
Elsif Intel C then
Else
…
AMD má problém s tím, že Intel nepřidává žádné IFy pro AMD nebo jiné výrobce, prostě na ně kašle a generuje kód, který prostě funguje.
2. Intel complier nepátrá ani tak po schopnostech procesoru, jako spíše po jeho označení. Proto má i Intel řadu procesorů, které spadnou do kategorie „Else“ nebo se úmyslně vydávají za jiný typ procesoru (byť papírově slabší). V každém případě je IF přes typ procesoru mnohem spolehlivější než nějaký obecný IF na počet násobiček, dostupnost SSE apod. Intel má dost vlastních zkušeností (a jeho zákazníci bohužel také), že se stejná věc v různých typech procesoru chová dostatečně jinak na to, aby to působilo problémy. Nehledě na to, že několik IFů na typ procesoru a natvrdo napsaný kód je nesrovnatelně jednodušší na vývoj/ladění/údržbu než kód programu pokoušející se reagovat na kombinaci několika parametrů.
3. Z pohledu Intelu je to velmi složitá situace. Někteří vývojáři se na svém blogu zmínili o tom, že by teoreticky bylo možné místo podle typu procesoru skutečně používat jeho vlastnosti, ale bylo by to méně průhledné a hůře testovatelné. Když máte IF podle typu procesoru, tak to prostě na daném typu ověříte a máte jasno. Když by IF byl podle počtu násobiček, tak to musíte testovat na desítkách konfigurací. A nedej bože aby to na nějakém AMD procesoru zhavarovalo a AMD zažalovalo Intel za to, že jejich překladač úmyslně generuje nefungující kód. Výmluvy o nestandardní kombinaci parametrů procesoru by pochopitelně nikoho nezajímaly. Samozřejmě, že se jedná o technicky řešitelný problém. Ale proč by měl Intel investovat nemalé peníze do řešení problému, který se jeho netýká a v důsledku by pomohl hlavně jeho konkurenci? Napadá mně jediný – tlak zákazníků. Ti ale moc netlačí.
4. V neposlední řadě je pak potřeba poukázat na fakt, že Intel má ve svém překladači řadu míst, kde využívá specifického chování svých procesorů. Může si to dovolit, protože chování procesoru zná a má to jak otestovat (IF na typ procesoru). O procesorech konkurence podrobné informace nemá a tak do těchto experimentů ani nejde.
Krátce řečeno, titulek zprávičky by neměl být „Jak Intel zpomaluje AMD procesory“, ale „Jak Intel ždíme Intel procesory a na AMD kašle“. Podle mně je jediná správná cesta přijít s překladačem, který by dokázal využít AMD podobným způsobem jako překladač od Intelu Intel. Jenže zatím nic takového není a tak vyhrává Intel procesor provozující aplikaci přeloženou Intel překladačem. Je to rychlé (optimalizace pro Intel) a spolehlivé (otestováno Intelem na Intelu). Ano, ono ani na AMD by to nemuselo být tak pomalé ale… kdo ten překladač napíše?

