Az Advanced Performance Extensions (APX) a közelgő Intel Nova Lake és Diamond Rapids processzorokhoz nem bizonyul hasznosnak a teljesítmény szempontjából. Hongyu Wang, az Intel fordítóprogram mérnöke, eddig két javítócsomagot küldött fel a meglévő Nova Lake és Diamond Rapids célok további hangolására ebben a kiemelkedő nyílt forráskódú fordítóprogramban. Érdekes módon a hangolás célja, hogy elkerülje az új APX funkciók egyes jellemzőit, amelyek nem bizonyulnak előnyösnek a teljesítmény szempontjából. Az APX jelentős fejlesztést jelent az x86 utasításkészlet számára, amely ezekkel a következő generációs processzorokkal érkezik. Néhány területen biztosan nyereséget hoz, például a általános célú regiszterek számának megduplázása és néhány új utasítás, de a mai fordítói hangolás alapján úgy tűnik, hogy a kezdeti bevezetés nem egyértelmű siker.
Ez a javítócsomag letiltja az Intel APX NDD memória formátumot a Nova Lake esetében:
"A benchmark azt mutatja, hogy az NDD memória formátum utasítások nem hasznosak a Nova Lake-en. Az X86_TUNE_ENABLE_NDD_MEM hangolás (alapértelmezés szerint ki van kapcsolva) hozzáadása a memóriaforrást használó NDD alternatívák prioritásának csökkentésére a preferred_for_speed attribútum révén. A tiszta NDD minták, amelyeknek egyetlen alternatívájuk van rm korláttal, r,m alternatívákra oszlanak, és a memória alternatíván alkalmazzák a preferred_for_speed-et. Az örökölt minták esetében, amelyek NDD alternatívákat tartalmaznak, a NDD rm korlátozást is külön r és m alternatívákra osztják, így a prioritáscsökkentés csak a memóriaformát célozza meg."
Az új adatcél (NDD) az Intel APX új funkciója, amely néhány kétoperandusos egész számú utasítást háromoperandusosra fejleszt. De ahogy említettük, az NDD memória formátumot utasítások "nem hasznosak a Nova Lake-en", ezért alapértelmezés szerint letiltják őket.
A másik Intel hangoló javítócsomag, amely ma került beolvasztásra a GCC Git-be, letiltja a SETcc.ZU generálását a Nova Lake és Diamond Rapids esetében. A SETcc.ZU kódolás egy olyan utasítás, amelyet az Intel APX fejlesztett a hagyományos SETcc utasításhoz képest. A SETZUcc célja, hogy hatékonyabb legyen, mint a SETcc végrehajtása, amelyet egy MOVZX követ. De kiderült, hogy ez a javítócsomag azt mutatja, hogy a SETcc.ZU nem nyújt előnyt a Nova Lake és Diamond Rapids esetében:
"A mikrobemutató teljesítménye a Nova Lake/Diamond Rapids esetében nem mutat előnyt a SETcc.ZU kódolásból ezen magok esetében. Az X86_TUNE_DISABLE_SETZUCC hozzáadása elnyomja a setzucc generálását a DMR/NVL esetében, miközben más APX-képes céloknál engedélyezve marad."
Ezek a beolvasztott Intel hangoló javítócsomagok a GCC fordítóprogramhoz. Érdekes lesz látni, hogy a következő napokban érkezik-e további hangolási munka a GCC és az LLVM/Clang számára a Nova Lake előkészítése érdekében.

