Landing: c53325ef2276
Project / Subsystem
binutils / x86
Date
2026-08-14
Author
Jan Beulich <jbeulich@sourceware.org>
Commit
c53325ef22766ba2369e6e5563f870ebb4ea7553
Source
public_inbox
Perf win
No
Breaking
No
All attributes
- project
- binutils
- subsystem
- x86
- patch_id
- —
- commit_hash
- c53325ef22766ba2369e6e5563f870ebb4ea7553
- source_type
- public_inbox
- headline
- x86: Optimize instruction template operand type storage
- tldr
- Reduces memory usage in x86 instruction parsing by sharing operand type combinations.
- author
- Jan Beulich <jbeulich@sourceware.org>
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • x86
- • assembler
- • optimization
- • memory usage
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-14T00:00:00.000Z
This commit optimizes the x86 instruction parser by moving the operand_types array out of struct insn_template. Instead, a global array i386_operand_types now stores all unique operand combinations, and struct insn_template stores an index to this array. This significantly reduces memory usage and redundancy, especially for instructions with common operand patterns, decreasing the number of stored operand types from over 10,000 to 770.