As instruções quase antigas da 3DNow! da AMD desapareceram ainda mais na obscuridade. O compilador de código aberto LLVM está finalmente removendo o suporte ao conjunto de instruções que não é suportado pelos CPUs da AMD desde 2011.
O conjunto de instruções 3DNow! foi introduzido em 1998 como um concorrente do MMX da Intel. Ele adicionou instruções Single Instruction, Multiple Data (SIMD) ao conjunto de instruções base x86 da AMD, o que ajudou os CPUs a fazer processamento vetorial de operações de ponto flutuante usando registradores vetoriais.
A AMD substituiu o 3DNow! pelos equivalentes mais recentes do SSE em 2011 e parou de incluir aquele bit de sinalizador de recurso começando com os CPUs K10 Bulldozer. No entanto, levou algum tempo para que os compiladores começassem a abandonar o suporte ao conjunto de instruções, já que os CPUs permaneceram em uso por bastante tempo.
Em 2021, o Linux aposentou o conjunto de instruções de seu kernel, mas o LLVM manteve o suporte muito depois que todos os outros o abandonaram. Os desenvolvedores por trás do compilador LLVM também trabalham para remover tipos e instruções MMX da ferramenta.
Um commit para o LLVM 19, esperado para ser lançado em setembro ou outubro, confirmou a remoção iminente.
“Este conjunto de instruções foi suportado apenas por chips AMD começando no K6-2 (introduzido em 1998) e antes da família “Bulldozer” (2011). Eles nunca foram muito usados, pois foram efetivamente substituídos pelo SSE, mais amplamente implementado (primeiro implementado no lado da AMD no Athlon XP em 2001).
Isso está sendo feito como um predecessor para a remoção geral do uso de registradores MMX. Como quase não há uso dos intrínsecos 3DNow!, e nenhum hardware moderno os implementa, a remoção simples parece ser a melhor opção.”
As instruções 3DNow! da AMD foram populares no final dos anos 90 e início dos anos 2000 para melhorar jogos, reprodução de vídeo e fluxos de trabalho do Adobe Photoshop. Então, a Intel lançou as instruções SSE, que se tornaram mais dominantes em geral. Quando a Intel lançou o SSE2, a AMD o adotou e abandonou seu conjunto de instruções SIMD mais antigo.
Os desenvolvedores que precisam escrever para processadores AMD antigos ainda podem usar as instruções 3DNow! em Assembly, incluindo código Assembly inline com LLVM. Fora isso, tudo relacionado ao 3DNow! deve ser considerado obsoleto e não mais utilizado.
Fonte: Tom’s Hardware


