• [^] # Re: soixante-quatre bites powaaaa !

    Posté par . En réponse au journal x86_64. Évalué à 1.

    Si on osait caser la compatibilité i386, je pense que l'on pourrait aussi avoir un mode 32 bits plus rapide que le 64 bits sur x86_64.

    Il n'est pas possible d'utiliser les nouveaux registres en mode 32-bit. IIRC, il avait existé un tel mode dans les premiers prototypes mais personne n'en voulait à l'époque...

    Cependant, on pourrait imaginer une ABI ILP32 en long mode, donc avec tous les registres, en utilisant le préfixe ADDR32 pour forcer des load/stores en 32-bit d'adresse[*]. Mais ce genre de LCP n'est pas un usage recommandé et nécessite quelques cycles supplémentaires pour le décodage, dans mon souvenir sur de l'Intel en tout cas. Par contre, il me semble que la nouvelle ABI de vxworks suive un modèle similaire de nos jours.

    [*] Au niveau organisation des libs, j'avais imaginé que cela se case dans du */lib32 (comme les équivalents mips N32) vs du */lib (mips O32), et le x86_64 dans */lib64, classiquement. C'est pour ça, et pour d'autres raisons, que je maudis toutes les distributions qui bâtardisent ce système en conservant les libs 64-bit dans */lib et poussent le vice à créer spécialement du */lib32 pour du i386 legacy, ce qui est un total non-sens...