[PATCH v3 1/6] x86: drop CpuVREX

Jan Beulich JBeulich@suse.com
Mon Jul 30 08:43:00 GMT 2018


It is fully redundant with CpuAVX512F.

gas/
2018-07-30  Jan Beulich  <jbeulich@suse.com>

	* config/tc-i386.c (parse_real_register): Use cpuavx512f instead
	of cpuvrex.

opcodes/
2018-07-30  Jan Beulich  <jbeulich@suse.com>

	* i386-gen.c (cpu_flag_init): Drop CpuVREX uses.
	(cpu_flags): Drop CpuVREX.
	* i386-opc.h (CpuVREX): Delete.
	(union i386_cpu_flags): Remove cpuvrex.
	* i386-init.h, i386-tbl.h: Re-generate.

--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -10376,7 +10376,7 @@ parse_real_register (char *reg_string, c
      mode, and require EVEX encoding.  */
   if (r->reg_flags & RegVRex)
     {
-      if (!cpu_arch_flags.bitfield.cpuvrex
+      if (!cpu_arch_flags.bitfield.cpuavx512f
 	  || flag_code != CODE_64BIT)
 	return (const reg_entry *) NULL;
 
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -198,7 +198,7 @@ static initializer cpu_flag_init[] =
   { "CPU_AVX2_FLAGS",
     "CPU_AVX_FLAGS|CpuAVX2" },
   { "CPU_AVX512F_FLAGS",
-    "CPU_AVX2_FLAGS|CpuVREX|CpuAVX512F" },
+    "CPU_AVX2_FLAGS|CpuAVX512F" },
   { "CPU_AVX512CD_FLAGS",
     "CPU_AVX512F_FLAGS|CpuAVX512CD" },
   { "CPU_AVX512ER_FLAGS",
@@ -316,7 +316,7 @@ static initializer cpu_flag_init[] =
   { "CPU_ANY_AVX2_FLAGS",
     "CpuAVX2" },
   { "CPU_ANY_AVX512F_FLAGS",
-    "CpuVREX|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF|CpuAVX512DQ|CpuAVX512BW|CpuAVX512VL|CpuAVX512IFMA|CpuAVX512VBMI|CpuAVX512_4FMAPS|CpuAVX512_4VNNIW|CpuAVX512_VPOPCNTDQ|CpuAVX512_VBMI2|CpuAVX512_VNNI|CpuAVX512_BITALG|CpuAVX512F" },
+    "CpuAVX512F|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF|CpuAVX512DQ|CpuAVX512BW|CpuAVX512VL|CpuAVX512IFMA|CpuAVX512VBMI|CpuAVX512_4FMAPS|CpuAVX512_4VNNIW|CpuAVX512_VPOPCNTDQ|CpuAVX512_VBMI2|CpuAVX512_VNNI|CpuAVX512_BITALG" },
   { "CPU_ANY_AVX512CD_FLAGS",
     "CpuAVX512CD" },
   { "CPU_ANY_AVX512ER_FLAGS",
@@ -551,7 +551,6 @@ static bitfield cpu_flags[] =
   BITFIELD (CpuPRFCHW),
   BITFIELD (CpuSMAP),
   BITFIELD (CpuSHA),
-  BITFIELD (CpuVREX),
   BITFIELD (CpuClflushOpt),
   BITFIELD (CpuXSAVES),
   BITFIELD (CpuXSAVEC),
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -174,8 +174,6 @@ enum
   CpuSMAP,
   /* SHA instructions required.  */
   CpuSHA,
-  /* VREX support required  */
-  CpuVREX,
   /* CLFLUSHOPT instruction required */
   CpuClflushOpt,
   /* XSAVES/XRSTORS instruction required */
@@ -329,7 +327,6 @@ typedef union i386_cpu_flags
       unsigned int cpuprfchw:1;
       unsigned int cpusmap:1;
       unsigned int cpusha:1;
-      unsigned int cpuvrex:1;
       unsigned int cpuclflushopt:1;
       unsigned int cpuxsaves:1;
       unsigned int cpuxsavec:1;





More information about the Binutils mailing list