aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2021-03-11 16:21:19 +0100
committerJan Beulich <jbeulich@suse.com>2021-03-11 16:21:19 +0100
commitac7a231133b5a1eeba16fe93396af86b7c5d7c7a (patch)
tree0dfe403b15fe6a987e2574ed520c99ecd24b3c24
parentda944c8a70d8c26a56f9fe58e9d21dfa99cb9b02 (diff)
downloadbinutils-ac7a231133b5a1eeba16fe93396af86b7c5d7c7a.zip
binutils-ac7a231133b5a1eeba16fe93396af86b7c5d7c7a.tar.gz
binutils-ac7a231133b5a1eeba16fe93396af86b7c5d7c7a.tar.bz2
x86: drop a few redundant EVEX-related checks
vex.b can only be set when vex.evex is also set. Similarly vex.evex can only be set when need_vex is also set.
-rw-r--r--opcodes/ChangeLog7
-rw-r--r--opcodes/i386-dis.c7
2 files changed, 10 insertions, 4 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 54c69d8..e31a93f 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,12 @@
2021-03-11 Jan Beulich <jbeulich@suse.com>
+ * i386-dis.c (putop): Drop need_vex check when also checking
+ vex.evex.
+ (intel_operand_size, OP_E_memory): Drop vex.evex check when also
+ checking vex.b.
+
+2021-03-11 Jan Beulich <jbeulich@suse.com>
+
* i386-dis.c (OP_E_memory): Drop xmmq_mode from broadcast
checks. Move case label past broadcast check.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index eb91c5d..10dbe7f 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -10749,7 +10749,7 @@ putop (const char *in_template, int sizeflag)
}
else if (l == 1 && last[0] == 'X')
{
- if (!need_vex || !vex.evex)
+ if (!vex.evex)
abort ();
if (intel_syntax
|| ((modrm.mod == 3 || vex.b) && !(sizeflag & SUFFIX_ALWAYS)))
@@ -10951,8 +10951,7 @@ print_displacement (char *buf, bfd_vma disp)
static void
intel_operand_size (int bytemode, int sizeflag)
{
- if (vex.evex
- && vex.b
+ if (vex.b
&& (bytemode == x_mode
|| bytemode == evex_half_bcst_xmmq_mode))
{
@@ -11845,7 +11844,7 @@ OP_E_memory (int bytemode, int sizeflag)
oappend (scratchbuf);
}
}
- if (vex.evex && vex.b
+ if (vex.b
&& (bytemode == x_mode
|| bytemode == evex_half_bcst_xmmq_mode))
{