Vydání LLVM / Clang 10.0 se očekává v následujících dnech, zatímco GCC 10 se uvolní o něco později, tedy v několika příštích týdnech. Určitě vás zajímají hlavní změny, které tato aktualizace přinese, tak se na ně pojďme podívat:
- První novinkou pro procesory Intel AVX-512 je nyní -mprefer-vector-width = 256, výchozím chováním pro omezení použití 512 bitů. se registruje kvůli přetečení AVX-512, ke kterému může dojít. To odpovídá chování GCC, zatímco ti, kteří chtějí předchozí chování, mohou použít -mprefer-vector-width = 512, pokud chtějí zvýšit použití 512-bitových registrů, ale s možnými výkonovými důsledky dopadu frekvence AVX-512.
- Dále se dočkalo vylepšení AMD Znver2 (Zen 2).
- Přibyla podpora jader Cortex-A65, A65AE, Neoverse N1 a Neoverse E1.
- Kromě podpory nových CPU Arm má AArch64 pro LLVM 10 optimalizované generování kódu ARMv8.1-M, auto-vektorizaci pro rozšíření vektoru MVE ARMv8.1-M a další zajímavá vylepšení.
- Společnost IBM POWE přidala také řadu vylepšení, včetně lepších odhadů registrů, vylepšeného modelu pro vektorizér, vektorizace matematických rutin pomocí knihovny IBM MASSV a dalších vylepšení.
- Najdete vylepšení back-end AMDGPU LLVM.
- Byla rozšířena podpora C ++ 20, včetně podpory C ++ Concepts a dalších funkcí, ale podpora ještě není dokončena v plném rozsahu.
- Rozšířená podpora OpenMP 5.0, včetně smyček založených na dosahu, kolapsu nedokonale vnořených smyček, jednotné sdílené paměti pro NVIDIA NVPTX a dalších doplňků.
Závěrem nezle než říct, že všechna vylepšení vypadají dobře a každé z nich najde své uplatnění. Určitě jich je mnohem více, než o kolika jsme si řekli. Nám nezbývá nic jiného, než se těšit na to, až se nové verze objeví v našich distribucích.