Recentemente, os engenheiros de compiladores da Apple contribuíram para o suporte do Apple M4 CPU no compilador upstream LLVM/Clang via o novo alvo -mcpu=apple-m4. Interessantemente, o Apple M4 é exposto como um design derivado do ARMv8.7.
Especificações e Capacidades do Apple M4
Nas últimas semanas, houve muita especulação sobre as capacidades da ISA do M4, suspeitando-se que seria o primeiro SoC da Apple a depender da arquitetura ARMv9, com alguns sugerindo até ARMv9.4.
Portanto, ver o suporte ao compilador contribuído pela Apple para o LLVM adicionando o M4 como um design baseado em "ARMv8.7" foi uma surpresa.
Quirks do LLVM e a Real Arquitetura do M4
Ao analisar o patch, havia um comentário de código que explicava a situação:
"Tecnicamente, apple-m4 é ARMv9.2a, mas uma peculiaridade do LLVM define v9.0 como exigindo SVE, o que é opcional segundo o Arm ARM e não suportado pelo core. ARMv8.7a é a escolha mais próxima."
Ausência de SVE/SVE2 no Apple M4
Portanto, temos a confirmação direta da Apple: o Apple M4 é baseado no ARMv9.2a. No entanto, não possui suporte para SVE (e SVE2). Houve rumores de que o Apple M4 suportaria Extensões de Vetor Escaláveis, mas agora, pelo comentário do código da Apple e pela ISA associada exposta pelo compilador LLVM, o SVE/SVE2 não está presente no Apple M4.
Extensões Expostas pelo Apple M4
As extensões expostas no topo do ARMv8.7a são AES, SHA2, SHA3, FP16, FP16FML, SME, SME2, SMEF64F64 e AEK_SMEI16I64.
Integração do Apple M4 no LLVM Clang 19
O suporte ao Apple M4 com -mcpu=apple-m4 foi integrado como parte deste patch ao código base do LLVM Clang 19 na noite de sexta-feira. O Apple M4 foi anunciado em maio e inicialmente encontrado no novo hardware do iPad Pro da Apple, devendo ser encontrado em mais dispositivos com o tempo.
Conclusão
A adição do suporte ao Apple M4 no LLVM/Clang é um desenvolvimento significativo, revelando detalhes importantes sobre a arquitetura e capacidades deste novo CPU. Apesar de algumas expectativas não confirmadas, como o suporte a SVE/SVE2, o M4 traz uma série de extensões avançadas que continuarão a fortalecer a linha de produtos da Apple.
Até a próxima !!
Nenhum comentário:
Postar um comentário