Na semana passada, o suporte inicial ao AMD Zen 5 “znver5” foi lançado por um engenheiro da AMD para o LLVM/Clang. Após passar por revisões, o código foi mesclado no Git do LLVM 20 e, posteriormente, adaptado para o LLVM 19.
Esse suporte inicial ao AMD Zen 5 no LLVM/Clang adiciona o comando -march=znver5
, que permite o uso das novas capacidades da ISA dos processadores AMD Zen 5. Contudo, a otimização ainda está ajustada para a arquitetura Zen 4. A AMD planeja lançar patches futuros que aperfeiçoarão o suporte específico ao Zen 5.
Atraso no suporte ao LLVM/Clang
Durante a revisão do código no LLVM, alguns questionaram o porquê de a AMD demorar tanto para submeter o suporte ao Zen 5 no LLVM, especialmente considerando que o GCC já havia recebido suporte ao Znver5 no início de 2024. Em resposta, a equipe da AMD explicou que o atraso se deve a uma dependência na libpfm, que requer liberações legais. Eles prometeram alinhar melhor o cronograma de submissão de patches com o GCC no futuro.
A equipe ainda mencionou que o suporte otimizado para o Zen 5 no LLVM pode levar algum tempo para ser concluído. Comentários adicionais na revisão de código indicam que a AMD está trabalhando para resolver erros de formatação e planeja fazer mais ajustes em breve.
Mesclagem e retrocompatibilidade
O suporte inicial ao Zen 5 foi incorporado ao LLVM 20 antes do fim de semana, e em seguida foi adaptado para o LLVM 19 por meio de um pull request separado. Isso foi feito para evitar quebras de ABI na versão 19 do LLVM. A expectativa é que não demore muito para que o ajuste completo do Znver5 nos compiladores LLVM/Clang e GCC esteja disponível.