Check i.imm_operands VEXXDS.
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 18 Aug 2010 19:36:41 +0000 (19:36 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 18 Aug 2010 19:36:41 +0000 (19:36 +0000)
2010-08-18  H.J. Lu  <hongjiu.lu@intel.com>

* config/tc-i386.c (build_modrm_byte): Check i.imm_operands
instead of VEXXDS.

gas/ChangeLog
gas/config/tc-i386.c

index 277727304caa9ae241d9e812d7097686ac2e85f9..e18d5ac2e74418663e8425b4e5e39056fed8e5b8 100644 (file)
@@ -1,3 +1,8 @@
+2010-08-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (build_modrm_byte): Check i.imm_operands
+       instead of VEXXDS.
+
 2010-08-18  Alan Modra  <amodra@gmail.com>
 
        * macro.c (sub_actual): Add back ampersand suffix when no
index 0e36a3e2b281883d49923a028ec0b5d6b584a42f..74e8b3736ff62bd0d65c67820df06577c82f98ef 100644 (file)
@@ -5264,15 +5264,15 @@ build_modrm_byte (void)
                          && i.imm_operands == 1
                          && (i.types[0].bitfield.imm8
                              || i.types[i.operands - 1].bitfield.imm8)));
-         if (i.tm.opcode_modifier.vexvvvv == VEXXDS)
+         if (i.imm_operands == 2)
+           source = 2;
+         else
            {
              if (i.types[0].bitfield.imm8)
                source = 1;
              else
                source = 0;
            }
-         else
-           source = 2;
          break;
        case 5:
          break;