binutils Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
binutils/x86

Decode EVEX 0F38 4B by length

x86 disassembler explicitly decodes EVEX 0F38 4B instructions based on length.

This commit modifies the x86 disassembler to explicitly handle the length decoding for EVEX instructions with the 0F38 4B opcode. Previously, length handling for certain EVEX instructions relied on a general mechanism, but this change introduces a specific path for these ACE instructions.

In Details

The x86 disassembler's EVEX decoding logic is updated to explicitly handle the length encoding for instructions under the 0F38 4B major opcode. This is necessary for correctly parsing new instruction sets like ACE, which use variations in the EVEX prefix to specify operand lengths, moving beyond the generic evex_len_table for these specific cases.

For Context
EVEX
A prefix encoding used for advanced vector extensions in x86 processors, supporting 256-bit and 512-bit vector registers and more flexible instruction encoding.
Disassembler
A tool that translates machine code (binary instructions) back into human-readable assembly language.
Opcode
The part of a machine language instruction that specifies the operation to be performed.
Filed Under: x86disassemblerevexamd