Confira !!
Embora a AMD tenha conseguido suporte ao Znver3 no GNU Binutils , a empresa ainda não enviou patches para os compiladores GCC ou LLVM / Clang na configuração do destino Zen 3 com suas novas instruções ou modelo de programação / tabela de custo otimizado. Mas uma implementação básica foi incorporada ao LLVM para permitir "-march = znver3" com base nos detalhes públicos limitados até agora.
Mesclado com o LLVM 12 de linha principal ontem foi uma implementação básica que permite o direcionamento -march = znver3 que basicamente inverte as novas instruções conhecidas por serem suportadas pelo Zen 3. Além do Zen 2, ele inverte INVPCID, PKU, VAES e VPCLMULQDQ. Existem também algumas outras instruções com suporte pelo Zen 3, conforme descrito neste artigo anterior .
Além de não ter todas as instruções conectadas ainda, não há um modelo de agendamento otimizado para o Zen 3 e apenas reutilizando os recursos Zen existentes. Além disso, a detecção automática do Zen 3 ainda não está conectada.
Portanto, este patch agora no LLVM 12 permitirá a compilação do código com -march = znver3, mas está incompleto.
A última coisa que ouvi é que a AMD deve publicar seus patches de compilador em novembro, provavelmente na época em que os processadores da série Ryzen 5000 começarem a ser comercializados. Esse suporte deve funcionar no GCC 11 para lançamento estável em março ~ abril, enquanto o LLVM 12 deve ser lançado em fevereiro ~ março.
Nenhum comentário:
Postar um comentário