Intel

AMD

Others

Agner Fog: Software optimization resources - http://www.agner.org/optimize/

  1. Optimizing software in C++: An optimization guide for Windows, Linux and Mac platforms http://www.agner.org/optimize/optimizing_cpp.pdf
  2. Optimizing subroutines in assembly language: An optimization guide for x86 platforms http://www.agner.org/optimize/optimizing_assembly.pdf
  3. The microarchitecture of Intel, AMD and VIA CPUs: An optimization guide for assembly programmers and compiler makers http://www.agner.org/optimize/microarchitecture.pdf
  4. Instruction tables: Lists of instruction latencies, throughputs and micro-operation breakdowns for Intel, AMD and VIA CPUs http://www.agner.org/optimize/instruction_tables.pdf
  5. Calling conventions for different C++ compilers and operating systems http://www.agner.org/optimize/calling_conventions.pdf

AMD64 Application Binary Interface (ABI)

Assembly Optimization Tips - http://mark.masmcode.com/

Assembler x86 (FPU, MMX, SSE, SSE2, SSE3, SSSE3, SSE4, AVX, AVX2, AVX512) - http://wm.ite.pl/articles/#assembler-x86-fpu-mmx-sse-sse2-sse3-ssse3-sse4-avx-avx2-avx512-new

Brennan's Guide to Inline Assembly - http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html

Chess Programming Wiki - Hardware: x86-64 - https://chessprogramming.wikispaces.com/x86-64

GCC-Inline-Assembly-HOWTO - http://www.ibiblio.org/gferg/ldp/GCC-Inline-Assembly-HOWTO.html

Instruction latencies and throughput for AMD and Intel x86 processors - https://gmplib.org/~tege/x86-timing.pdf

Inline assembly for x86 in Linux - http://www.ibm.com/developerworks/linux/library/l-ia/

Inline assembly (linux-insides) - https://0xax.gitbooks.io/linux-insides/content/Theory/asm.html

Intel Intrinsics Guide - https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Linux Assembly HOWTO - http://asm.sourceforge.net/howto.html

OS Development Wiki - http://wiki.osdev.org/

sandpile.org -- "The world's leading source for technical x86 processor information" - http://www.sandpile.org/

Stack Overflow: 'x86' tag wiki - https://stackoverflow.com/tags/x86/info

Stack Overflow: Documentation - Intel x86 Assembly Language & Microarchitecture - http://stackoverflow.com/documentation/x86/topics

The Minimal 80x86 Instruction Set - http://www.plantation-productions.com/Webster/www.writegreatcode.com/Vol2/wgc2_OA.pdf

Wikipedia: x86 assembly topics - https://en.wikipedia.org/wiki/Template:X86_assembly_topics

x86 Encoding Cheat Sheet - https://www.akkadia.org/drepper/x86-opcode-structure.pdf

x86 Instruction Set Reference
- http://felixcloutier.com/x86/
- https://github.com/zneak/x86doc

x86 intrinsics cheat sheet - A cheat sheet containing most x86 intrinsics, like SSE and AVX intrinsics, grouped in an intuitive fashion
- http://www3.in.tum.de/~finis/
- http://www3.in.tum.de/~finis/x86-intrin-cheatsheet-v2.2.pdf

x86, x64 Instruction Latency, Memory Latency and CPUID dumps
- http://users.atw.hu/instlatx64/

X86-64 Instruction Encoding - http://wiki.osdev.org/X86-64_Instruction_Encoding

X86 Opcode and Instruction Reference - http://ref.x86asm.net/

x86 Opcode Structure and Instruction Overview - http://net.cs.uni-bonn.de/fileadmin/user_upload/plohmann/x86_opcode_structure_and_instruction_overview.pdf

x86 oddities - http://x86.corkami.com


Tags: language   assembly   hardware  

Last modified 14 December 2025