24 de setembro de 2020

Avalanche Notícias

Você conectado com o mundo

Compiladores podem ser deixados sem suporte Intel MMX

2 min read

O conjunto de instruções Intel MMX SIMD, introduzido em 1997, está desatualizado e foi substituído por várias versões do SSE e AVX. No entanto, eles ainda são formalmente suportados em ferramentas de desenvolvimento. Porém, devido à raridade de uso, sua implementação sofre de bugs. Portanto, não é surpreendente que eles tenham sido mais uma vez propostos para serem excluídos do conjunto popular de compiladores LLVM.

Na discussão iniciada nas listas de mala direta, propõe-se reescrever e substituir os intrínsecos da MMX por novos que utilizem os existentes para SSE ou, melhor, SSE2. Os atuais requerem alguns cuidados do desenvolvedor, pois se usados ​​incorretamente, o programa não travará, mas produzirá resultados incorretos. É ainda proposto excluir a MMX da representação LLVM IR.

A única maneira de usar essas instruções e os registradores que as acompanham, se você realmente precisar delas por algum motivo, é usar inserções de assembler diretamente no código. É curioso que, aparentemente, até mesmo registros separados fisicamente para x87 / MMX em processadores modernos não existam mais – eles compartilham silício com registros para mascarar AVX-512, uma vez que a probabilidade de uma alta carga de ambos os tipos de instruções ao mesmo tempo é extremamente improvável.

Descartar o MMX naturalmente aumentará os requisitos mínimos de LLVM. No entanto, é difícil encontrar um sistema x86 funcional agora que não suporte SSE2 ou mesmo SSE. Isso ecoa as chamadas intensas para abandonar o suporte para CPUs antigas em geral, de 32 bits e sem instruções modernas. O Fedora e o RHEL, em particular, já estão se movendo nessa direção.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *