[2/5] x86: tighten assertion in build_modrm_byte()

Message ID 5AE03C5B02000078001BE44A@prv1-mh.provo.novell.com
State New
Headers show
Series
  • x86: re-work VEX-3-sources logic in build_modrm_byte()
Related show

Commit Message

Jan Beulich April 25, 2018, 8:29 a.m.
>>> On 25.04.18 at 10:24, <JBeulich@suse.com> wrote:

All VEX3SOURCES cases should have VexW set, and all should have a SIMD
register destination.

gas/
2018-04-25  Jan Beulich  <jbeulich@suse.com>

	* config/tc-i386.c (build_modrm_byte): Extend assertion in
	vex_3_sources handling to cover more cases.

Patch

--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -6591,10 +6591,9 @@  build_modrm_byte (void)
                   && i.tm.opcode_modifier.vexvvvv == VEXXDS
                   && (i.tm.opcode_modifier.veximmext
                       || (i.imm_operands == 1
-                          && i.types[0].bitfield.vec_imm4
-                          && (i.tm.opcode_modifier.vexw == VEXW0
-                              || i.tm.opcode_modifier.vexw == VEXW1)
-                          && i.tm.operand_types[dest].bitfield.regsimd)));
+			  && i.types[0].bitfield.vec_imm4))
+		  && i.tm.opcode_modifier.vexw
+		  && i.tm.operand_types[dest].bitfield.regsimd);
 
       if (i.imm_operands == 0)
         {