summaryrefslogtreecommitdiff
path: root/opcodes/i386-dis-evex-w.h
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2020-07-06 13:40:13 +0200
committerJan Beulich <jbeulich@suse.com>2020-07-06 13:40:13 +0200
commit6df22cf64c935c7a467759048858bb7e8ef70235 (patch)
tree7cb4e6edbbdf879c65729d750e14fb6243205167 /opcodes/i386-dis-evex-w.h
parent39e0f45682a39e09ab115333c593dbdd25658dd2 (diff)
downloadbinutils-gdb-6df22cf64c935c7a467759048858bb7e8ef70235.tar.gz
x86: drop EVEX table entries that can be served by VEX ones
The duplication is not only space inefficient, but also risks entries going out of sync (some of which that I became aware of while doing this work will get addressed subsequently). Right here note that for VGF2P8MULB this also addresses the prior lack of EVEX.W decoding (i.e. a first example of out of sync entries). This introduces EXxEVexR to some VEX templates, on the basis that this operand is benign there and only relevant when EVEX encoding ends up reaching these entries.
Diffstat (limited to 'opcodes/i386-dis-evex-w.h')
-rw-r--r--opcodes/i386-dis-evex-w.h34
1 files changed, 0 insertions, 34 deletions
diff --git a/opcodes/i386-dis-evex-w.h b/opcodes/i386-dis-evex-w.h
index 45ecb87ab44..dd3caad33c0 100644
--- a/opcodes/i386-dis-evex-w.h
+++ b/opcodes/i386-dis-evex-w.h
@@ -342,10 +342,6 @@
{
{ "vpaddd", { XM, Vex, EXx }, 0 },
},
- /* EVEX_W_0F380C_P_2 */
- {
- { "vpermilps", { XM, Vex, EXx }, 0 },
- },
/* EVEX_W_0F380D_P_2 */
{
{ Bad_Opcode },
@@ -394,10 +390,6 @@
{
{ "vpmovusqd", { EXxmmq, XM }, 0 },
},
- /* EVEX_W_0F3818_P_2 */
- {
- { "vbroadcastss", { XM, EXxmm_md }, 0 },
- },
/* EVEX_W_0F3819_P_2 */
{
{ EVEX_LEN_TABLE (EVEX_LEN_0F3819_P_2_W_0) },
@@ -560,10 +552,6 @@
{ "vpopcntd", { XM, EXx }, 0 },
{ "vpopcntq", { XM, EXx }, 0 },
},
- /* EVEX_W_0F3858_P_2 */
- {
- { "vpbroadcastd", { XM, EXxmm_md }, 0 },
- },
/* EVEX_W_0F3859_P_2 */
{
{ "vbroadcasti32x2", { XM, EXxmm_mq }, 0 },
@@ -634,14 +622,6 @@
{ "vpermi2b", { XM, Vex, EXx }, 0 },
{ "vpermi2w", { XM, Vex, EXx }, 0 },
},
- /* EVEX_W_0F3878_P_2 */
- {
- { "vpbroadcastb", { XM, EXxmm_mb }, 0 },
- },
- /* EVEX_W_0F3879_P_2 */
- {
- { "vpbroadcastw", { XM, EXxmm_mw }, 0 },
- },
/* EVEX_W_0F387A_P_2 */
{
{ "vpbroadcastb", { XM, Rd }, 0 },
@@ -715,10 +695,6 @@
{ Bad_Opcode },
{ "vpermpd", { XM, EXx, Ib }, 0 },
},
- /* EVEX_W_0F3A04_P_2 */
- {
- { "vpermilps", { XM, EXx, Ib }, 0 },
- },
/* EVEX_W_0F3A05_P_2 */
{
{ Bad_Opcode },
@@ -864,13 +840,3 @@
{ "vpshrdd", { XM, Vex, EXx, Ib }, 0 },
{ "vpshrdq", { XM, Vex, EXx, Ib }, 0 },
},
- /* EVEX_W_0F3ACE_P_2 */
- {
- { Bad_Opcode },
- { "vgf2p8affineqb", { XM, Vex, EXx, Ib }, 0 },
- },
- /* EVEX_W_0F3ACF_P_2 */
- {
- { Bad_Opcode },
- { "vgf2p8affineinvqb", { XM, Vex, EXx, Ib }, 0 },
- },