summaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorHaochen Jiang <haochen.jiang@intel.com>2022-11-01 10:50:01 +0800
committerCui,Lili <lili.cui@intel.com>2022-11-02 09:19:22 +0800
commita93e32342743d9e5bc428c474c7ac422b0e34c5f (patch)
treeec249164da3d466fc4a69d55c9468faaa5f12a51 /opcodes/i386-gen.c
parent23ae61ad8961a9982effdf32e902cc0556b60c63 (diff)
downloadbinutils-gdb-a93e32342743d9e5bc428c474c7ac422b0e34c5f.tar.gz
Support Intel CMPccXADD
gas/ChangeLog: * NEWS: Support Intel CMPccXADD. * config/tc-i386.c: Add cmpccxadd. (build_modrm_byte): Add operations for Vex.VVVV reg on operand 0 while have memory operand. * doc/c-i386.texi: Document .cmpccxadd. * testsuite/gas/i386/i386.exp: Run CMPccXADD tests. * testsuite/gas/i386/cmpccxadd-inval.s: New test. * testsuite/gas/i386/cmpccxadd-inval.l: Ditto. * testsuite/gas/i386/x86-64-cmpccxadd-intel.d: Ditto. * testsuite/gas/i386/x86-64-cmpccxadd.s: Ditto. * testsuite/gas/i386/x86-64-cmpccxadd.d: Ditto. opcodes/ChangeLog: * i386-dis.c (Mdq): New. (X86_64_VEX_0F38E0): Ditto. (X86_64_VEX_0F38E1): Ditto. (X86_64_VEX_0F38E2): Ditto. (X86_64_VEX_0F38E3): Ditto. (X86_64_VEX_0F38E4): Ditto. (X86_64_VEX_0F38E5): Ditto. (X86_64_VEX_0F38E6): Ditto. (X86_64_VEX_0F38E7): Ditto. (X86_64_VEX_0F38E8): Ditto. (X86_64_VEX_0F38E9): Ditto. (X86_64_VEX_0F38EA): Ditto. (X86_64_VEX_0F38EB): Ditto. (X86_64_VEX_0F38EC): Ditto. (X86_64_VEX_0F38ED): Ditto. (X86_64_VEX_0F38EE): Ditto. (X86_64_VEX_0F38EF): Ditto. (x86_64_table): Add X86_64_VEX_0F38E0, X86_64_VEX_0F38E1, X86_64_VEX_0F38E2, X86_64_VEX_0F38E3, X86_64_VEX_0F38E4, X86_64_VEX_0F38E5, X86_64_VEX_0F38E6, X86_64_VEX_0F38E7, X86_64_VEX_0F38E8, X86_64_VEX_0F38E9, X86_64_VEX_0F38EA, X86_64_VEX_0F38EB, X86_64_VEX_0F38EC, X86_64_VEX_0F38ED, X86_64_VEX_0F38EE, X86_64_VEX_0F38EF. * i386-gen.c (cpu_flag_init): Add CPU_CMPCCXADD_FLAGS and CPU_ANY_CMPCCXADD_FLAGS. (cpu_flags): Add CpuCMPCCXADD. * i386-init.h: Regenerated. * i386-opc.h (CpuCMPCCXADD): New. (i386_cpu_flags): Add cpucmpccxadd. Comment unused for it is actually 0. * i386-opc.tbl: Add Intel CMPccXADD instructions. * i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index fc013df80e9..946c71db650 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -251,6 +251,8 @@ static initializer cpu_flag_init[] =
"CPU_AVX2_FLAGS|CpuAVX_IFMA" },
{ "CPU_AVX_VNNI_INT8_FLAGS",
"CPU_AVX2_FLAGS|CpuAVX_VNNI_INT8" },
+ { "CPU_CMPCCXADD_FLAGS",
+ "CpuCMPCCXADD" },
{ "CPU_IAMCU_FLAGS",
"Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|CpuIAMCU" },
{ "CPU_ADX_FLAGS",
@@ -451,6 +453,8 @@ static initializer cpu_flag_init[] =
"CpuAVX_IFMA" },
{ "CPU_ANY_AVX_VNNI_INT8_FLAGS",
"CpuAVX_VNNI_INT8" },
+ { "CPU_ANY_CMPCCXADD_FLAGS",
+ "CpuCMPCCXADD" },
};
static initializer operand_type_init[] =
@@ -653,6 +657,7 @@ static bitfield cpu_flags[] =
BITFIELD (CpuPREFETCHI),
BITFIELD (CpuAVX_IFMA),
BITFIELD (CpuAVX_VNNI_INT8),
+ BITFIELD (CpuCMPCCXADD),
BITFIELD (CpuMWAITX),
BITFIELD (CpuCLZERO),
BITFIELD (CpuOSPKE),