diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-02-17 07:12:10 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-02-17 07:31:28 -0800 |
commit | 272a84b1204fdd4e96df689383b163b4a52be933 (patch) | |
tree | 9f293c0d74a1424fe7386f2ad175e4e4874b968d /opcodes/i386-opc.h | |
parent | 1f730c46141c1513e72cb24d471834b448d6d0e6 (diff) | |
download | gdb-272a84b1204fdd4e96df689383b163b4a52be933.zip gdb-272a84b1204fdd4e96df689383b163b4a52be933.tar.gz gdb-272a84b1204fdd4e96df689383b163b4a52be933.tar.bz2 |
x86: Remove CpuABM and add CpuPOPCNT
AMD ABM has 2 instructions: popcnt and lzcnt. ABM CPUID feature bit has
been reused for lzcnt and a POPCNT CPUID feature bit is added for popcnt
which used to be the part of SSE4.2. This patch removes CpuABM and adds
CpuPOPCNT. It changes ABM to enable both lzcnt and popcnt, changes SSE4.2
to also enable popcnt.
gas/
* config/tc-i386.c (cpu_arch): Add .popcnt.
* doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
Add a tab before @samp{.sse4a}.
opcodes/
* i386-gen.c (cpu_flag_init): Replace CpuABM with
CpuLZCNT|CpuPOPCNT. Add CpuPOPCNT to CPU_SSE4_2_FLAGS. Add
CPU_POPCNT_FLAGS.
(cpu_flags): Remove CpuABM. Add CpuPOPCNT.
* i386-opc.h (CpuABM): Removed.
(CpuPOPCNT): New.
(i386_cpu_flags): Remove cpuabm. Add cpupopcnt.
* i386-opc.tbl: Replace CpuABM|CpuSSE4_2 with CpuPOPCNT on
popcnt. Remove CpuABM from lzcnt.
* i386-init.h: Regenerated.
* i386-tbl.h: Likewise.
Diffstat (limited to 'opcodes/i386-opc.h')
-rw-r--r-- | opcodes/i386-opc.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index ccf5d91..fc69d4d 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -87,8 +87,10 @@ enum CpuSSSE3, /* SSE4a support required */ CpuSSE4a, - /* ABM New Instructions required */ - CpuABM, + /* LZCNT support required */ + CpuLZCNT, + /* POPCNT support required */ + CpuPOPCNT, /* SSE4.1 support required */ CpuSSE4_1, /* SSE4.2 support required */ @@ -154,8 +156,6 @@ enum CpuF16C, /* Intel BMI2 support required */ CpuBMI2, - /* LZCNT support required */ - CpuLZCNT, /* HLE support required */ CpuHLE, /* RTM support required */ @@ -298,7 +298,8 @@ typedef union i386_cpu_flags unsigned int cpusmx:1; unsigned int cpussse3:1; unsigned int cpusse4a:1; - unsigned int cpuabm:1; + unsigned int cpulzcnt:1; + unsigned int cpupopcnt:1; unsigned int cpusse4_1:1; unsigned int cpusse4_2:1; unsigned int cpuavx:1; @@ -331,7 +332,6 @@ typedef union i386_cpu_flags unsigned int cpurdrnd:1; unsigned int cpuf16c:1; unsigned int cpubmi2:1; - unsigned int cpulzcnt:1; unsigned int cpuhle:1; unsigned int cpurtm:1; unsigned int cpuinvpcid:1; |