[all-commits] [llvm/llvm-project] 51c351: [X86][MC] Support decoding of EGPR for APX (#72102)
Shengchen Kan via All-commits
all-commits at lists.llvm.org
Tue Nov 14 21:53:06 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 51c351f49ed1e1406543fcadc7f6d3a4272e74bd
https://github.com/llvm/llvm-project/commit/51c351f49ed1e1406543fcadc7f6d3a4272e74bd
Author: Shengchen Kan <shengchen.kan at intel.com>
Date: 2023-11-15 (Wed, 15 Nov 2023)
Changed paths:
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.h
A llvm/test/MC/Disassembler/X86/apx/evex-format.txt
A llvm/test/MC/Disassembler/X86/apx/rex2-bit.txt
A llvm/test/MC/Disassembler/X86/apx/rex2-format.txt
R llvm/test/MC/Disassembler/X86/invalid-EVEX-R2.txt
M llvm/test/MC/Disassembler/X86/x86-64-err.txt
Log Message:
-----------
[X86][MC] Support decoding of EGPR for APX (#72102)
https://github.com/llvm/llvm-project/pull/70958 adds registers R16-R31
(EGPR), this patch
1. Supports decoding of EGPR for instruction w/ REX2 prefix
2. Supports decoding of EGPR for instruction w/ EVEX prefix
For simplicity's sake, we
1. Simulate the REX prefix w/ the 1st payload of REX2
2. Simulate the REX2 prefix w/ the 2nd and 3rd payloads of EVEX
RFC:
https://discourse.llvm.org/t/rfc-design-for-apx-feature-egpr-and-ndd-support/73031/4
Explanations for some changes:
1. invalid-EVEX-R2.txt is deleted b/c `0x62 0xe1 0xff 0x08 0x79 0xc0` is
valid and decoded to `vcvtsd2usi %xmm0, %r16` now.
2. One line in x86-64-err.txt is removed b/c APX relaxes the limitation
of the 1st and 2nd payloads of EVEX prefix, so the error message changes
More information about the All-commits
mailing list