diff --git a/gas/ChangeLog b/gas/ChangeLog
index 330787a594..1bc25c8bd7 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+2009-12-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/tc-i386.c (build_vex_prefix): Use VEX256.
+
 2009-12-14  Yoshinori Sato  <ysato@users.sourceforge.jp>
 
 	PR gas/11086
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index efdd8c242d..1b96a5ff3b 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -2701,7 +2701,7 @@ build_vex_prefix (const insn_template *t)
       i.tm = t[1];
     }
 
-  vector_length = i.tm.opcode_modifier.vex == 2 ? 1 : 0;
+  vector_length = i.tm.opcode_modifier.vex == VEX256 ? 1 : 0;
 
   switch ((i.tm.base_opcode >> 8) & 0xff)
     {
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 9ede42916a..653ae2576f 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2009-12-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* i386-opc.h (VEX128): New.
+	(VEX256): Likewise.
+
 2009-12-14  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* i386-dis.c (vex_len_table): Reformat.
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index a8f3fd2229..3b0f2c6bc1 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -274,6 +274,8 @@ enum
 	1: 128bit VEX prefix.
 	2: 256bit VEX prefix.
    */
+#define VEX128	1
+#define VEX256	2
   Vex,
   /* insn has VEX NDS. Register-only source is encoded in Vex prefix.
      We use VexNDS on insns with VEX DDS since the register-only source