Aller au contenu
La Lettre IT
Retour aux synthèses
4 min de lecture
Hardware & science

Une instruction x86 fantôme découverte dans le manuel Intel : vfmaddrnd231pd n'a jamais existé

En bref

  • Un développeur a découvert que vfmaddrnd231pd, une instruction de contrôle de l'arrondi flottant documentée dans le manuel Intel SDM, ne fonctionne sur aucun processeur et n'existe pas dans les compilateurs.
  • L'instruction était présente dans les versions 2024 du SDM mais a disparu en 2026, sans jamais avoir eu de vraie implémentation matérielle.
  • Selon la théorie la plus convaincante, Intel l'avait envisagée pour AVX10 (la version grand public d'AVX-512), puis a changé de stratégie en 2024 en réutilisant l'encodage AVX-512 existant, oubliant de nettoyer complètement la documentation.
  • Le fil HN apporte des confirmations : l'instruction n'a figuré que brièvement dans trois révisions du SDM sans être documentée comme une nouveauté intentionnelle.

Ce que dit la source

L'auteur pose une énigme : vfmaddrnd231pd est documentée dans le manuel Intel SDM comme permettant le contrôle par instruction du mode d'arrondi flottant, ce qui offrirait un avantage majeur pour les algorithmes sensibles à l'arrondi (contourner les coûts du changement global de mode). Pourtant, l'instruction n'est reconnue par aucun assembleur (GNU as, Clang, ICC), ne s'exécute pas sur les processeurs Haswell et générations postérieures (lève #UD), et disparaît de la version 2026 du SDM bien qu'elle figurait en 2024. L'auteur émet l'hypothèse initiale qu'Intel a envisagé cette instruction, trouvé un problème matériel au dernier moment, et mal synchronisé la suppression entre le matériel et la documentation.

  • Le code opération VEX.DDS.128.66.0F3A.W1 B8 /r /ib contient une référence à DDS, une notation documentaire obsolète qui n'apparaît nulle part ailleurs dans le SDM 2024, ce qui rendait déjà la documentation suspecte.
  • Lors du contrôle en binutils (ancien), DDS signifiait simplement un schéma d'encodage VEX où le second opérande source est écrasé par le résultat : désuet, mais explique la notation mystérieuse.
  • L'instruction n'a figuré que dans les révisions 082 à 084 du volume 2 du SDM, sans apparaître dans le document de suivi des modifications, suggérant que sa présence n'était pas intentionnelle.
  • La théorie révisée du fil : Intel préparait AVX10 comme alternative grand public à AVX-512, pensant donner aux vecteurs 256 bits le contrôle d'arrondi via une instruction spéciale (vfmaddrnd*), mais en 2024 a changé de stratégie en dédiant un bit inutilisé du préfixe EVEX pour le rounding 256 bits, réutilisant l'encodage AVX-512 existant.
  • Par 2025, après la généralisation d'AVX-512 (Zen 4), Intel a finalement rendu le support 512 bits inconditionnel dans AVX10, supprimant complètement le besoin de vfmaddrnd* et les optimisations 256 bits, d'où le nettoyage du SDM.
  • Les patchs GCC soumis par Intel incluent explicitement une révocation : « Revert AVX10.2 ymm rounding: Support vfmadd{132, 231, 213}p{s, d, h} intrins » et suppriment des intrinsèques comme _mm256_fmadd_round_pd, structurellement similaire à la fausse intrinsèque documentée.

Dans les commentaires

Débat très ciblé, peu substantiel mais bien étayé : les commentateurs ajoutent des confirmations factuelles précises (dates d'apparition dans le SDM, explicitation de DDS) et raffinent la théorie initiale sans vraiment la contredire. Pas de désaccord fondamental, juste un renforcement progressif de l'explication.

  • Plusieurs commentateurs fournissent des données vérifiant partiellement la théorie : l'instruction n'a réellement figuré que dans trois révisions du SDM sans trace intentionnelle, et DDS était effectivement une notation d'encodage obsolète expliquée dans d'anciennes versions de binutils.
  • L'hypothèse d'une stratégie AVX10 abandonnée au profit d'une réutilisation EVEX reçoit un soutien indirect via les patchs GCC cités, mais aucun commentateur ne cite de source Intel directe confirming cette chronologie (les commentateurs admettent l'absence de confirmation avec Intel).
  • Un commentaire tangentiel évoque la nécessité de meilleure conception des représentations d'instructions pour réduire la charge cognitive, mais reste hors sujet par rapport à l'énigme de vfmaddrnd231pd.

Notre lecture

Cas d'école fascinant mais anecdotique : une instruction qui ne s'est jamais concrétisée a laissé des traces documentaires fantômes, très probablement suite à un pivot stratégique d'Intel sur AVX10 qu'il a mal nettoyé dans le SDM. La théorie reconstruite par le fil est cohérente et crédible, mais sans confirmation officielle d'Intel reste partiellement spéculative. Aucune action imédiate pour une DSI : l'intérêt est archéologique et historique (comprendre comment les décisions d'architecture matérielle d'Intel s'étalent dans la documentation), pas opérationnel. À lire surtout pour les ingénieurs bas niveau qui apprécient l'enquête technique rigoureuse et la transparence des limites de ce qu'on peut conclure sans accès aux sources primaires.

Le brief, dans votre boîte mail

Recevez chaque jour la sélection et l'analyse La Lettre IT, sans avoir à repasser sur le site.