Commit 1bdc793
External Release v2025.03.02
The release updates XED according to Intel's latest ISA publications, including
AVX10.2 (Revision 3.0) and APX (Revision 6.0) architecture specifications.
This release also introduces major enhancements to the decoder control APIs.
ISA Updates
- Added new APX instructions that promote the Diamond Rapids ISA.
- Added support for AVX10.2 mnemonic renames.
- Improved definitions for Intel SDM-recommended multi-byte NOPs (See
#340).
- Fixed ISA-SET discrepancy for FISTTP.
- Corrected element types for VCVTQQ2PD and VGET{MANT,EXP}PBF16 instructions.
- Refined TSX ISA definition for accurate disassembly representation.
- Dropped compatibility mode SYSCALL per Intel's latest FRED specification.
- Added missing `PROTECTED_MODE` and `NOP` XED attributes for existing ISA.
-----
General
- Python APIs: The `_py` binding APIs are now autogenerated during the build for
an accurate representation of the chosen build kit. For more information, check
the `xed\pyext\examples\README.md` file.
- Python APIs example: Enhancements for the CFFI example and XedPy class.
- Updated the XED build to support Clang versions 17 and 18.
- Improved XED examples documentation and source-code comments.
- Simplified the encode request for AVX10/256VL Embedded Rounding Control
instructions by setting only the `ROUNDC` XED operand.
-----
Fixes
- Fixed UBSan errors (closes #339).
- Fixed Sierra-Forest and other chip-excluded builds using the `--no-{chip}` build
knobs (fixes #343).
- Corrected SIB segment mapping for the R21 register (fixes #340).
- Internal improvements and code cleanup (fixes #340).
-----
Decoder
- Added REAL-mode legality checks (`INVALID_MODE` error for illegal instructions).
- Disassembler: Added support for Intel's recommended APX assembly syntax for NF
(No Flags) and DFV (Default Flags Values) instructions.
- Enhanced APIs for APX/DFV instructions to ensure simplicity and efficiency. See
the API reference page and the `xed-ex1.c` example for more details.
-----
API Improvements for Decoder ISA Control
The XED decoder control APIs now fully support the `xed_chip_features_t`
structure, offering greater flexibility and control compared to the
`xed_chip_enum_t` concept, enabling users to customize feature sets with
precision.
- Improved the `xed_chip_features_t` APIs to provide fine-grained control over
ISA initialization. This approach is now recommended over the raw
`xed3_operand_set_*` APIs.
- Introduced a new API, `xed_set_decoder_modes()`, which allows explicit
initialization of decoder modes with improved performance through one-time
decoder ISA initialization.
Backward Compatibility
- Backward compatibility for existing APIs is maintained.
- Backward compatibility for decoder initialization of several ISA features has
been deprecated. Previously default-on features like `P4` (PAUSE), `LZCNT`
(replacing BSR), and `TZCNT` (replacing BSF) are now disabled by default unless
explicitly enabled by users through the raw XED setter APIs or the
chip/chip-features APIs.
Decoder PREFETCH as NOP - New Capability
- Based on decoder ISA initialization, the XED decoder now returns NOPs instead
of PREFETCH instructions when PREFETCH is not supported by the chip/features.
Previously, PREFETCH instructions were returned as illegal if they were
unsupported by the XED chip
Usage Example
- For detailed usage guidance, refer to the XED `xed-ex4.c` example tool, which
includes decoder initialization recommendations for dual-encoding ISA.
Co-authored-by: marjevan <marjevan@users.noreply.github.com>1 parent d4d5020 commit 1bdc793
File tree
184 files changed
+7457
-9805
lines changed- datafiles
- amd
- amx-dmr
- apx-f
- avx10-2
- avx512-skx
- avx512f
- avx
- cet
- cldemote
- dmr
- fred
- iprefetch
- movrs
- tdx
- docsrc
- examples
- include
- private
- public/xed
- misc
- pyext
- examples
- gen
- pysrc
- src
- common
- dec
- enc2chk
- enc2test
- enc2
- tests
- bulk-tests
- tests-amx
- test-00009
- test-00010
- test-00011
- test-00012
- test-00013
- test-00014
- tests-apx
- test-00029
- test-00041
- test-00043
- test-00064
- test-00065
- tests-avx10-256rc/test-00179
- tests-avx512/test-00029
- tests-base
- test-00049
- test-00184
- test-00185
- test-00186
- test-00242
- test-00250
- test-00554
- test-00555
- test-00556
- test-00557
- test-00558
- test-00559
- tests-prefetch
- test-00000
- test-00001
- test-00002
- test-00003
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
184 files changed
+7457
-9805
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
| 22 | + | |
22 | 23 | | |
23 | 24 | | |
24 | | - | |
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
| 60 | + | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | | - | |
| 78 | + | |
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
| 92 | + | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
104 | | - | |
| 104 | + | |
105 | 105 | | |
106 | 106 | | |
107 | 107 | | |
108 | | - | |
| 108 | + | |
109 | 109 | | |
110 | | - | |
| 110 | + | |
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| |||
117 | 117 | | |
118 | 118 | | |
119 | 119 | | |
120 | | - | |
| 120 | + | |
121 | 121 | | |
122 | 122 | | |
123 | 123 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
| 24 | + | |
| 25 | + | |
27 | 26 | | |
28 | 27 | | |
29 | 28 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
46 | 67 | | |
47 | | - | |
48 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
119 | 118 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
0 commit comments