FERRAMENTAS LINUX: Suporte do Apple M4 CPU Adicionado ao LLVM/Clang

domingo, 16 de junho de 2024

Suporte do Apple M4 CPU Adicionado ao LLVM/Clang

 


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.





Fonte 

Até a próxima !!

Nenhum comentário:

Postar um comentário