x86-64 (también conocido como x64, x86_64, AMD64) es la versión de 64 bits del conjunto de instrucciones x86. Soporta una cantidad mucho mayor de memoria virtual y memoria física de lo que le es posible a sus predecesores, permitiendo a los programas almacenar grandes cantidades de datos en la memoria. x86-64 también provee registros de uso general de 64 bits y muchas otras mejoras. La especificación fue creada por AMD, y ha sido implementada por AMD, Intel, VIA y otros. Es totalmente retrocompatible con el código x86 de 16 y 32 bits.[1] : 13–14 Debido a que el juego de instrucciones x86 completo de 16 bits y 32 bits está implementado en hardware sin ningún tipo de emulación, los programas ejecutables x86 existentes pueden correr sin ningún tipo de penalización de velocidad o compatibilidad,[2] mientras que las aplicaciones existentes que fueron recodificadas para aprovechar las características del nuevo procesador, pueden alcanzar mejoras en el rendimiento.
Antes del lanzamiento, se usaron los nombres "x86-64" y "x86_64" para referirse al juego de instrucciones. Tras la publicación, AMD lo llamó "AMD64".[3] Intel inicialmente usó los nombres IA-32e y EM64T antes de utilizar "Intel 64" para su implementación. Algunos, incluido Apple,[4][5][6] usan "x86-64" y "x86_64", mientras que otros, notablemente Sun Microsystems[7] (ahora Oracle Corporation) y Microsoft,[8] usan "x64" mientras que la familia de sistemas operativos BSD y muchas distribuciones Linux[9][10] usan "AMD64".
El procesador AMD K8 fue el primero en implementar esta arquitectura; fue el primero en realizar un agregado importante a la arquitectura x86 diseñada por otra compañía que no era Intel. Intel se vio forzada a seguir su ejemplo y lanzar una familia NetBurst modificada la cual era totalmente compatible en software con la especificación y el diseño de AMD. VIA Technologies introdujo el x86-64 en su arquitectura VIA Isaiah con el VIA Nano.
La especificación x86-64 es diferente de la arquitectura del Intel Itanium (antiguamente "IA-64"), la cual no es compatible con el juego de instrucciones nativo de la arquitectura x86.