Skip to content

Commit dc6bdbe

Browse files
sdeadminmarjevan
andauthored
External Release v2025.06.08
This release aligns XED with Intel’s latest architecture specifications, including: - Intel® SDM Revision 087 - Intel® ISE Revision 057 - Intel® AVX10.2 Revision 5.0 Key ISA-related changes: - Dropped support for AVX10/256-specific architectural features, including YMM embedded rounding and AVX10 VL-specific CPUID enumerations - Updated CPUID sensitivity for various AVX10.2 instructions - Updated exception class handling for several AVX512 instructions --- ### General - Modified arguments of the `xed_operand_print()` decoder API to correctly represent the destination EVEX operand (the old signature is deprecated and replaced) - Restructured XED examples for improved clarity, naming, and usability - Improved XedPy with more robust initialization and initial high-level Python encode APIs - Migrated internal types to use `stdint.h` exclusively - Added ENC2 support for REX2 prefix encoding with EGPR operands --- ### Fixes - Fixed many build exclusion options; deprecated several build flavors in favor of `--no-avx512` as the minimal build kit (Fixes #336) - Encoder: fixed AMX encoding for non-index SIBMEM operands - Added missing and removed incorrect non-temporal memory hints - Resolved Python 3.12 compatibility warnings (Closes #346) - Fixed AMD `INVLPGB` operand specification (Closes #345) - Corrected AMD `PREFETCH_EXCLUSIVE` mnemonic name (Fixes #215) - Updated instruction definitions for various AVX512 instructions - Applied various documentation improvements (Fixes #347) Co-authored-by: marjevan <marjevan@users.noreply.github.com>
1 parent 1bdc793 commit dc6bdbe

File tree

2,251 files changed

+8361
-17817
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,251 files changed

+8361
-17817
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v2025.03.02
1+
v2025.06.08
Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#BEGIN_LEGAL
22
#
3-
#Copyright (c) 2024 Intel Corporation
3+
#Copyright (c) 2025 Intel Corporation
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -16,20 +16,19 @@
1616
#
1717
#END_LEGAL
1818

19-
# For reg/reg ops with rounding control, we have to avoid having the
20-
# RC bits mess up the length. So we fix them here.
21-
FIX_ROUND_LEN256()::
22-
mode16 | VL256 VL_IGN=1
23-
mode32 | VL256 VL_IGN=1
24-
mode64 | VL256 VL_IGN=1
19+
# VGPRy_N, VGPRy_B, and VGPRy_R are used by AMD XOP.
2520

26-
AVX256_ROUND()::
27-
BCRC=1 UBIT=0 LLRC=0b00 | ROUNDC=1 SAE=1
28-
BCRC=1 UBIT=0 LLRC=0b01 | ROUNDC=2 SAE=1
29-
BCRC=1 UBIT=0 LLRC=0b10 | ROUNDC=3 SAE=1
30-
BCRC=1 UBIT=0 LLRC=0b11 | ROUNDC=4 SAE=1
31-
#Default: otherwise | error
21+
xed_reg_enum_t VGPRy_R()::
22+
EOSZ=1 | OUTREG=VGPR32_R()
23+
EOSZ=2 | OUTREG=VGPR32_R()
24+
EOSZ=3 | OUTREG=VGPR64_R()
3225

33-
SAE256()::
34-
BCRC=1 UBIT=0 | SAE=1
35-
#Default: otherwise | error
26+
xed_reg_enum_t VGPRy_B()::
27+
EOSZ=1 | OUTREG=VGPR32_B()
28+
EOSZ=2 | OUTREG=VGPR32_B()
29+
EOSZ=3 | OUTREG=VGPR64_B()
30+
31+
xed_reg_enum_t VGPRy_N()::
32+
EOSZ=1 | OUTREG=VGPR32_N()
33+
EOSZ=2 | OUTREG=VGPR32_N()
34+
EOSZ=3 | OUTREG=VGPR64_N()

datafiles/amd/amdxop/files.cfg

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#BEGIN_LEGAL
22
#
3-
#Copyright (c) 2020 Intel Corporation
3+
#Copyright (c) 2025 Intel Corporation
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -18,7 +18,8 @@
1818

1919
state:xop-state-bits.txt
2020

21-
21+
dec-patterns : amd-xop-reg-table.txt
22+
enc-dec-patterns : amd-xop-reg-table.txt
2223
dec-patterns:amd-xop-dec.txt
2324
dec-instructions:amd-xop-isa.txt
2425
enc-instructions:amd-xop-isa.txt

datafiles/amd/xed-amd-invlpgb.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#BEGIN_LEGAL
22
#
3-
#Copyright (c) 2020 Intel Corporation
3+
#Copyright (c) 2025 Intel Corporation
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -25,13 +25,13 @@ EXTENSION : AMD_INVLPGB
2525
ATTRIBUTES: AMDONLY
2626
COMMENT : Is this 64b mode only?
2727
PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b111] RM[0b110] no_refining_prefix eamode32
28-
OPERANDS : REG0=XED_REG_EAX:r:IMPL \
29-
REG1=XED_REG_EDX:r:IMPL \
30-
REG2=XED_REG_ECX:r:IMPL
28+
OPERANDS : REG0=XED_REG_EAX:r:SUPP \
29+
REG1=XED_REG_EDX:r:SUPP \
30+
REG2=XED_REG_ECX:r:SUPP
3131
PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b111] RM[0b110] no_refining_prefix eamode64
32-
OPERANDS : REG0=XED_REG_RAX:r:IMPL \
33-
REG1=XED_REG_EDX:r:IMPL \
34-
REG2=XED_REG_ECX:r:IMPL
32+
OPERANDS : REG0=XED_REG_RAX:r:SUPP \
33+
REG1=XED_REG_EDX:r:SUPP \
34+
REG2=XED_REG_ECX:r:SUPP
3535
}
3636
{
3737
ICLASS : TLBSYNC

datafiles/amx-dmr/amx-dmr-isa.xed.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#BEGIN_LEGAL
22
#
3-
#Copyright (c) 2024 Intel Corporation
3+
#Copyright (c) 2025 Intel Corporation
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -228,7 +228,7 @@ ISA_SET: AMX_TRANSPOSE
228228
EXCEPTIONS: AMX-E11
229229
REAL_OPCODE: Y
230230
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
231-
PATTERN: VV1 0x6E VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
231+
PATTERN: VV1 0x6E VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
232232
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
233233
IFORM: T2RPNTLVWZ0_TMM2u16_MEMu16
234234
}
@@ -244,7 +244,7 @@ ISA_SET: AMX_TRANSPOSE_MOVRS
244244
EXCEPTIONS: AMX-E11
245245
REAL_OPCODE: Y
246246
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
247-
PATTERN: VV1 0xF8 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
247+
PATTERN: VV1 0xF8 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
248248
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
249249
IFORM: T2RPNTLVWZ0RS_TMM2u16_MEMu16
250250
}
@@ -260,7 +260,7 @@ ISA_SET: AMX_TRANSPOSE_MOVRS
260260
EXCEPTIONS: AMX-E11
261261
REAL_OPCODE: Y
262262
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
263-
PATTERN: VV1 0xF9 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
263+
PATTERN: VV1 0xF9 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
264264
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
265265
IFORM: T2RPNTLVWZ0RST1_TMM2u16_MEMu16
266266
}
@@ -276,7 +276,7 @@ ISA_SET: AMX_TRANSPOSE
276276
EXCEPTIONS: AMX-E11
277277
REAL_OPCODE: Y
278278
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
279-
PATTERN: VV1 0x6F VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
279+
PATTERN: VV1 0x6F VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
280280
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
281281
IFORM: T2RPNTLVWZ0T1_TMM2u16_MEMu16
282282
}
@@ -292,7 +292,7 @@ ISA_SET: AMX_TRANSPOSE
292292
EXCEPTIONS: AMX-E11
293293
REAL_OPCODE: Y
294294
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
295-
PATTERN: VV1 0x6E V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
295+
PATTERN: VV1 0x6E V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
296296
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
297297
IFORM: T2RPNTLVWZ1_TMM2u16_MEMu16
298298
}
@@ -308,7 +308,7 @@ ISA_SET: AMX_TRANSPOSE_MOVRS
308308
EXCEPTIONS: AMX-E11
309309
REAL_OPCODE: Y
310310
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
311-
PATTERN: VV1 0xF8 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
311+
PATTERN: VV1 0xF8 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
312312
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
313313
IFORM: T2RPNTLVWZ1RS_TMM2u16_MEMu16
314314
}
@@ -324,7 +324,7 @@ ISA_SET: AMX_TRANSPOSE_MOVRS
324324
EXCEPTIONS: AMX-E11
325325
REAL_OPCODE: Y
326326
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
327-
PATTERN: VV1 0xF9 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
327+
PATTERN: VV1 0xF9 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
328328
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
329329
IFORM: T2RPNTLVWZ1RST1_TMM2u16_MEMu16
330330
}
@@ -340,7 +340,7 @@ ISA_SET: AMX_TRANSPOSE
340340
EXCEPTIONS: AMX-E11
341341
REAL_OPCODE: Y
342342
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
343-
PATTERN: VV1 0x6F V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
343+
PATTERN: VV1 0x6F V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
344344
OPERANDS: REG0=TMM_R():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
345345
IFORM: T2RPNTLVWZ1T1_TMM2u16_MEMu16
346346
}
@@ -452,7 +452,7 @@ ISA_SET: AMX_MOVRS
452452
EXCEPTIONS: AMX-E3
453453
REAL_OPCODE: Y
454454
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
455-
PATTERN: VV1 0x4A VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
455+
PATTERN: VV1 0x4A VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
456456
OPERANDS: REG0=TMM_R():w:tv:u32 MEM0:r:ptr:u32
457457
IFORM: TILELOADDRS_TMMu32_MEMu32
458458
}
@@ -468,7 +468,7 @@ ISA_SET: AMX_MOVRS
468468
EXCEPTIONS: AMX-E3
469469
REAL_OPCODE: Y
470470
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
471-
PATTERN: VV1 0x4A V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
471+
PATTERN: VV1 0x4A V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
472472
OPERANDS: REG0=TMM_R():w:tv:u32 MEM0:r:ptr:u32
473473
IFORM: TILELOADDRST1_TMMu32_MEMu32
474474
}

datafiles/amx-dmr/cpuid.xed.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#BEGIN_LEGAL
22
#
3-
#Copyright (c) 2024 Intel Corporation
3+
#Copyright (c) 2025 Intel Corporation
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
1919
XED_ISA_SET_AMX_FP8 : amx_fp8.1e.1.eax.4
2020
XED_ISA_SET_AMX_TRANSPOSE : amx_transpose.1e.1.eax.5
2121
XED_ISA_SET_AMX_TF32 : amx_tf32.1e.1.eax.6
22-
XED_ISA_SET_AMX_AVX512 : amx_avx512.1e.1.eax.7 avx10_enabled.7.1.edx[19] avx10_ver2.24.0.ebx[0:7]=2 avx10_512vl.24.0.ebx[18]
22+
XED_ISA_SET_AMX_AVX512 : amx_avx512.1e.1.eax.7
2323
XED_ISA_SET_AMX_MOVRS : amx_movrs.1e.1.eax.8
2424

2525
XED_ISA_SET_AMX_TRANSPOSE_MOVRS : amx_transpose.1e.1.eax.5 amx_movrs.1e.1.eax.8

datafiles/amx-spr/amx-spr-isa.xed.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#BEGIN_LEGAL
22
#
3-
#Copyright (c) 2024 Intel Corporation
3+
#Copyright (c) 2025 Intel Corporation
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -147,7 +147,7 @@ ISA_SET: AMX_TILE
147147
EXCEPTIONS: AMX-E3
148148
REAL_OPCODE: Y
149149
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
150-
PATTERN: VV1 0x4B VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
150+
PATTERN: VV1 0x4B VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
151151
OPERANDS: REG0=TMM_R():w:tv:u32 MEM0:r:ptr:u32
152152
IFORM: TILELOADD_TMMu32_MEMu32
153153
}
@@ -163,7 +163,7 @@ ISA_SET: AMX_TILE
163163
EXCEPTIONS: AMX-E3
164164
REAL_OPCODE: Y
165165
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
166-
PATTERN: VV1 0x4B V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
166+
PATTERN: VV1 0x4B V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
167167
OPERANDS: REG0=TMM_R():w:tv:u32 MEM0:r:ptr:u32
168168
IFORM: TILELOADDT1_TMMu32_MEMu32
169169
}
@@ -195,7 +195,7 @@ ISA_SET: AMX_TILE
195195
EXCEPTIONS: AMX-E3
196196
REAL_OPCODE: Y
197197
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
198-
PATTERN: VV1 0x4B VF3 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() W0 VL128 mode64 NOVSR
198+
PATTERN: VV1 0x4B VF3 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB W0 VL128 mode64 NOVSR
199199
OPERANDS: MEM0:w:ptr:u32 REG0=TMM_R():r:tv:u32
200200
IFORM: TILESTORED_MEMu32_TMMu32
201201
}

datafiles/apx-f/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Intel&reg; XED decoder and encoder fully support Intel&reg; APX.
77
for a couple of legacy instructions.
88

99
# Useful APIs
10-
Numerous examples and vivid explanations regarding Intel&reg; APX features can be found in the xed-ex1 example tool.
10+
Numerous examples and vivid explanations regarding Intel&reg; APX features can be found in the xed-dec example tool.
1111

1212
Encode request for promoted No-Flags instruction should be built with the `NF` operand:
1313

datafiles/apx-f/apx-f-amx-isa.xed.txt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE
6767
EXCEPTIONS: AMX-E11-EVEX
6868
REAL_OPCODE: Y
6969
ATTRIBUTES: DISP8_NO_SCALE MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
70-
PATTERN: EVV 0x6E VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
70+
PATTERN: EVV 0x6E VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
7171
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
7272
IFORM: T2RPNTLVWZ0_TMM2u16_MEMu16_APX
7373
}
@@ -83,7 +83,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE_MOVRS
8383
EXCEPTIONS: AMX-E11-EVEX
8484
REAL_OPCODE: Y
8585
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
86-
PATTERN: EVV 0xF8 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
86+
PATTERN: EVV 0xF8 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
8787
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
8888
IFORM: T2RPNTLVWZ0RS_TMM2u16_MEMu16_APX
8989
}
@@ -99,7 +99,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE_MOVRS
9999
EXCEPTIONS: AMX-E11-EVEX
100100
REAL_OPCODE: Y
101101
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
102-
PATTERN: EVV 0xF9 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
102+
PATTERN: EVV 0xF9 VNP MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
103103
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
104104
IFORM: T2RPNTLVWZ0RST1_TMM2u16_MEMu16_APX
105105
}
@@ -115,7 +115,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE
115115
EXCEPTIONS: AMX-E11-EVEX
116116
REAL_OPCODE: Y
117117
ATTRIBUTES: DISP8_NO_SCALE MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
118-
PATTERN: EVV 0x6F VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
118+
PATTERN: EVV 0x6F VNP V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
119119
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
120120
IFORM: T2RPNTLVWZ0T1_TMM2u16_MEMu16_APX
121121
}
@@ -131,7 +131,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE
131131
EXCEPTIONS: AMX-E11-EVEX
132132
REAL_OPCODE: Y
133133
ATTRIBUTES: DISP8_NO_SCALE MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
134-
PATTERN: EVV 0x6E V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
134+
PATTERN: EVV 0x6E V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
135135
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
136136
IFORM: T2RPNTLVWZ1_TMM2u16_MEMu16_APX
137137
}
@@ -147,7 +147,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE_MOVRS
147147
EXCEPTIONS: AMX-E11-EVEX
148148
REAL_OPCODE: Y
149149
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
150-
PATTERN: EVV 0xF8 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
150+
PATTERN: EVV 0xF8 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
151151
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
152152
IFORM: T2RPNTLVWZ1RS_TMM2u16_MEMu16_APX
153153
}
@@ -163,7 +163,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE_MOVRS
163163
EXCEPTIONS: AMX-E11-EVEX
164164
REAL_OPCODE: Y
165165
ATTRIBUTES: MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
166-
PATTERN: EVV 0xF9 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
166+
PATTERN: EVV 0xF9 V66 MAP5 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
167167
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
168168
IFORM: T2RPNTLVWZ1RST1_TMM2u16_MEMu16_APX
169169
}
@@ -179,7 +179,7 @@ ISA_SET: APX_F_AMX_TRANSPOSE
179179
EXCEPTIONS: AMX-E11-EVEX
180180
REAL_OPCODE: Y
181181
ATTRIBUTES: DISP8_NO_SCALE MULTIDEST2 NOTSX SPECIAL_AGEN_REQUIRED
182-
PATTERN: EVV 0x6F V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
182+
PATTERN: EVV 0x6F V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
183183
OPERANDS: REG0=TMM_R3():w:tv:2u16:MULTIDEST2 MEM0:r:ptr:u16
184184
IFORM: T2RPNTLVWZ1T1_TMM2u16_MEMu16_APX
185185
}
@@ -195,7 +195,7 @@ ISA_SET: APX_F_AMX
195195
EXCEPTIONS: AMX-E3-EVEX
196196
REAL_OPCODE: Y
197197
ATTRIBUTES: DISP8_NO_SCALE NOTSX SPECIAL_AGEN_REQUIRED
198-
PATTERN: EVV 0x4B VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
198+
PATTERN: EVV 0x4B VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
199199
OPERANDS: REG0=TMM_R3():w:tv:u32 MEM0:r:ptr:u32
200200
IFORM: TILELOADD_TMMu32_MEMu32_APX
201201
}
@@ -211,7 +211,7 @@ ISA_SET: APX_F_AMX_MOVRS
211211
EXCEPTIONS: AMX-E3-EVEX
212212
REAL_OPCODE: Y
213213
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
214-
PATTERN: EVV 0x4A VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
214+
PATTERN: EVV 0x4A VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
215215
OPERANDS: REG0=TMM_R3():w:tv:u32 MEM0:r:ptr:u32
216216
IFORM: TILELOADDRS_TMMu32_MEMu32_APX
217217
}
@@ -227,7 +227,7 @@ ISA_SET: APX_F_AMX_MOVRS
227227
EXCEPTIONS: AMX-E3-EVEX
228228
REAL_OPCODE: Y
229229
ATTRIBUTES: NOTSX SPECIAL_AGEN_REQUIRED
230-
PATTERN: EVV 0x4A V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
230+
PATTERN: EVV 0x4A V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR MASK=0
231231
OPERANDS: REG0=TMM_R3():w:tv:u32 MEM0:r:ptr:u32
232232
IFORM: TILELOADDRST1_TMMu32_MEMu32_APX
233233
}
@@ -243,7 +243,7 @@ ISA_SET: APX_F_AMX
243243
EXCEPTIONS: AMX-E3-EVEX
244244
REAL_OPCODE: Y
245245
ATTRIBUTES: DISP8_NO_SCALE NOTSX SPECIAL_AGEN_REQUIRED
246-
PATTERN: EVV 0x4B V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
246+
PATTERN: EVV 0x4B V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
247247
OPERANDS: REG0=TMM_R3():w:tv:u32 MEM0:r:ptr:u32
248248
IFORM: TILELOADDT1_TMMu32_MEMu32_APX
249249
}
@@ -259,7 +259,7 @@ ISA_SET: APX_F_AMX
259259
EXCEPTIONS: AMX-E3-EVEX
260260
REAL_OPCODE: Y
261261
ATTRIBUTES: DISP8_NO_SCALE NOTSX SPECIAL_AGEN_REQUIRED
262-
PATTERN: EVV 0x4B VF3 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
262+
PATTERN: EVV 0x4B VF3 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() SIB BCRC=0 W0 VL128 mode64 NOEVSR ZEROING=0 MASK=0
263263
OPERANDS: MEM0:w:ptr:u32 REG0=TMM_R3():r:tv:u32
264264
IFORM: TILESTORED_MEMu32_TMMu32_APX
265265
}

datafiles/apx-f/cpuid.xed.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ XED_ISA_SET_APX_F_KOPW : apx_f.7.1.edx.21 avx512f.7.0.ebx.16
4444
XED_ISA_SET_APX_F_KOPD : apx_f.7.1.edx.21 avx512bw.7.0.ebx.30
4545
XED_ISA_SET_APX_F_KOPQ : apx_f.7.1.edx.21 avx512bw.7.0.ebx.30
4646
### KOP AVX10 CPUID bits
47-
XED_ISA_SET_APX_F_KOPB, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1 avx10_256vl.24.0.ebx[17]
48-
XED_ISA_SET_APX_F_KOPW, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1 avx10_256vl.24.0.ebx[17]
49-
XED_ISA_SET_APX_F_KOPD, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1 avx10_256vl.24.0.ebx[17]
50-
XED_ISA_SET_APX_F_KOPQ, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1 avx10_256vl.24.0.ebx[17]
47+
XED_ISA_SET_APX_F_KOPB, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1
48+
XED_ISA_SET_APX_F_KOPW, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1
49+
XED_ISA_SET_APX_F_KOPD, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1
50+
XED_ISA_SET_APX_F_KOPQ, AVX10 : apx_f.7.1.edx.21 avx10_enabled.7.1.edx[19] avx10_ver1.24.0.ebx[0:7]=1

0 commit comments

Comments
 (0)