Nomenclature for the major computer instruction set architectures (ISAs) can be confusing. Hopefully this clears a few things up!

x86 family (a.k.a. 80x86 family, 8086 family)

The following are synonyms, unambiguously referring to the 32-bit ISA:

  • IA-32 (typically used by Intel)
  • x86-32, x86_32

The following are (almost) synonyms referring to the 64-bit ISA:

  • x86-64, x86_64
  • x64 (typically seen on Windows)
  • Intel 64, Intel® 64 (typically used by Intel)
    • May specifically refer to the ISA as implemented by Intel processors; see notes below
  • AMD64, amd64 (typically seen on Linux)
    • In certain contexts, may specifically refer to the ISA as implemented by AMD processors; see notes below
  • EM64T (archaic)

Other common terms:

  • x86
    • This is commonly used to refer to the family of ISAs as a whole; this is how I have been using it on this page. It is sometimes used to mean the 32-bit ISA specifically, particularly when contrasted with x86-64 or x64.
  • i386, 80386
    • These terms both refer to a specific Intel microprocessor: the first device in the x86 family to be 32-bit. “i386 architecture” therefore alludes to the 32-bit ISA when used correctly. However, it is occasionally used to refer to the family of ISAs as a whole (e.g. in the GNU as manual chapter heading).

Additional notes:

  • There are actually subtle differences between x86-64 as implemented in AMD devices (AMD64) and as implemented in Intel devices (Intel 64); these differences are typically avoided in application binaries for compatibility.
  • IA-64 refers to Itanium, a totally different ISA to x86.
  • IA-32e refers to the fourth mode that Intel 64 introduces, which has both compatibility and 64-bit sub-modes. The IA-32e compatibility sub-mode executes 32-bit IA-32 instructions on a 64-bit processor, and the IA-32e 64-bit sub-mode executes full 64-bit instructions.

Extensions (non-exhaustive):

  • MMX
  • SSE, SSE2, SSE3, SSE4
  • 3DNow! (AMD, deprecated)
  • AVX, AVX2, AVX-512
  • SVML

ARM family

The following are synonyms, unambiguously referring to the 32-bit ISA:

  • ARM32
  • AArch32
  • A32 (formally refers to the instruction set as opposed to the architecture)

The following are synonyms, unambiguously referring to the 64-bit ISA:

  • ARM64
  • AArch64
  • A64 (formally refers to the instruction set as opposed to the architecture)

Additional notes:

  • “ARM” typically refers to the family as a whole.
  • ARM version 7 (and sub-versions, e.g. ARMv7E-M) necessarily refer to the 32-bit architecture, as the 64-bit extensions were only introduced with ARMv8.
  • Any ARM version 8 or above with the suffix -M refers to the 32-bit ISA.
  • Any ARM version 8 or above with the suffix -A refers to the 64-bit ISA.
    • For hardware: ARM Cortex-M processors are all 32-bit. Confusingly, Cortex-A processors range from 32-bit to 64-bit to both.
  • AArch64 processors may be able to execute 32-bit ARM instructions in the AArch32 “execution state” (mode). Unlike x86, however, this backwards-compatibility is not compulsory; some processors (e.g. the Cortex-A34) support AArch64 only.

Extensions (non-exhaustive):

  • Thumb, Thumb-2
  • Jazelle
  • SVE, SVE2
  • Advanced SIMD (Neon)