Zen 5

Suporte ao AMD Zen 5 no LLVM/Clang avança com a adição importante

O suporte inicial ao AMD Zen 5 foi mesclado no LLVM/Clang com o comando -march=znver5. O tuning específico para o Zen 5 ainda está por vir, mas já há avanços para as novas capacidades da ISA.

o-driver-de-graficos-linux-da-amd-de-codigo-aberto-pode-chegar-a-quase-6-milhoes-de-linhas

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.