X86-64 est un cas un peu particulier - pour de nombreuses architectures (par exemple SPARC), la compilation d'une application en mode 64 bits ne lui apporte aucun avantage à moins qu'elle ne puisse utiliser de manière rentable plus de 4 Go de mémoire. Tout ce que cela fait, c'est d'augmenter la taille du binaire, ce qui peut en fait rendre le code plus complexe. plus lent si cela a un impact sur le comportement du cache.
Cependant, la norme x86-64 ne se limite pas à un espace d'adressage de 64 bits et à des registres entiers de 64 bits. doubles le nombre de registres d'usage général, ce qui, sur une architecture déficiente en registres comme le x86, peut entraîner une augmentation significative des performances, avec une simple recompilation.
Il permet également au compilateur de supposer que de nombreuses extensions, comme SSE et SSE2, sont présentes, ce qui peut aussi améliorer considérablement l'optimisation du code.
Un autre avantage est que x86-64 ajoute l'adressage relatif aux PC, ce qui peut simplifier considérablement le code indépendant de la position.
Toutefois, si l'application n'est pas sensible aux performances, tout cela n'est pas vraiment important non plus.