x86: Define GNU_PROPERTY_X86_ISA_1_AVX512_BF16
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 9 Apr 2019 00:04:01 +0000 (17:04 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 9 Apr 2019 00:04:16 +0000 (17:04 -0700)
Update assembler and readelf to support

 #define GNU_PROPERTY_X86_ISA_1_AVX512_BF16  (1U << 24)

for AVX512_BF16.

binutils/

* readelf.c (decode_x86_isa): Handle
GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
* testsuite/binutils-all/i386/pr21231b.d: Updated.
* testsuite/binutils-all/x86-64/pr21231b.d: Likewise.

gas/

* config/tc-i386.c (output_insn): Support
GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
* testsuite/gas/i386/property-2.s: Add AVX512_BF16 test.
* testsuite/gas/i386/property-2.d: Updated.
* testsuite/gas/i386/x86-64-property-2.d: Likewise.

include/

* elf/common.h (GNU_PROPERTY_X86_ISA_1_AVX512_BF16): New.

binutils/ChangeLog
binutils/readelf.c
binutils/testsuite/binutils-all/i386/pr21231b.d
binutils/testsuite/binutils-all/x86-64/pr21231b.d
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/property-2.d
gas/testsuite/gas/i386/property-2.s
gas/testsuite/gas/i386/x86-64-property-2.d
include/ChangeLog
include/elf/common.h

index 3743bc2..4b887a1 100644 (file)
@@ -1,5 +1,12 @@
 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * readelf.c (decode_x86_isa): Handle
+       GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
+       * testsuite/binutils-all/i386/pr21231b.d: Updated.
+       * testsuite/binutils-all/x86-64/pr21231b.d: Likewise.
+
+2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
        * testsuite/binutils-all/nm.exp: Count i386-moss as ELF.
 
 2019-03-26  Tamar Christina  <tamar.christina@arm.com>
index 5a9d9ff..701ab05 100644 (file)
@@ -17279,6 +17279,9 @@ decode_x86_isa (unsigned int bitmask)
        case GNU_PROPERTY_X86_ISA_1_AVX512_VNNI:
          printf ("AVX512_VNNI");
          break;
+       case GNU_PROPERTY_X86_ISA_1_AVX512_BF16:
+         printf ("AVX512_BF16");
+         break;
        default:
          printf (_("<unknown: %x>"), bit);
          break;
index 044a596..0576ce8 100644 (file)
@@ -8,7 +8,7 @@ Displaying notes found in: .note.gnu.property
   GNU                  0x0000002c      NT_GNU_PROPERTY_TYPE_0
       Properties: stack size: 0x800000
        no copy on protected 
-       x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, <unknown: 1000000>, <unknown: 2000000>, <unknown: 4000000>, <unknown: 8000000>, <unknown: 10000000>, <unknown: 20000000>, <unknown: 40000000>
+       x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, AVX512_BF16, <unknown: 2000000>, <unknown: 4000000>, <unknown: 8000000>, <unknown: 10000000>, <unknown: 20000000>, <unknown: 40000000>
        x86 ISA needed: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ
   GNU                  0x00000018      NT_GNU_PROPERTY_TYPE_0
       Properties: x86 ISA used: <None>
index 7ee42d5..d4891c2 100644 (file)
@@ -8,7 +8,7 @@ Displaying notes found in: .note.gnu.property
   GNU                  0x00000038      NT_GNU_PROPERTY_TYPE_0
       Properties: stack size: 0x800000
        no copy on protected 
-       x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, <unknown: 1000000>, <unknown: 2000000>, <unknown: 4000000>, <unknown: 8000000>, <unknown: 10000000>, <unknown: 20000000>, <unknown: 40000000>
+       x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, AVX512_BF16, <unknown: 2000000>, <unknown: 4000000>, <unknown: 8000000>, <unknown: 10000000>, <unknown: 20000000>, <unknown: 40000000>
        x86 ISA needed: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ
   GNU                  0x00000020      NT_GNU_PROPERTY_TYPE_0
       Properties: x86 ISA used: <None>
index 50ddc6b..dd53712 100644 (file)
@@ -1,5 +1,13 @@
 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * config/tc-i386.c (output_insn): Support
+       GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
+       * testsuite/gas/i386/property-2.s: Add AVX512_BF16 test.
+       * testsuite/gas/i386/property-2.d: Updated.
+       * testsuite/gas/i386/x86-64-property-2.d: Likewise.
+
+2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
        * configure.tgt: Remove i386-*-kaos* and i386-*-chaos targets.
        * testsuite/gas/i386/i386.exp: Remove *-*-caos* and "*-*-kaos*
        check.
index ed8cfe1..4816b54 100644 (file)
@@ -8144,6 +8144,8 @@ output_insn (void)
        x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2;
       if (i.tm.cpu_flags.bitfield.cpuavx512_vnni)
        x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_VNNI;
+      if (i.tm.cpu_flags.bitfield.cpuavx512_bf16)
+       x86_isa_1_used |= GNU_PROPERTY_X86_ISA_1_AVX512_BF16;
 
       if (i.tm.cpu_flags.bitfield.cpu8087
          || i.tm.cpu_flags.bitfield.cpu287
index 4803a0a..c7e321d 100644 (file)
@@ -5,5 +5,5 @@
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
   GNU                  0x[0-9a-f]+     NT_GNU_PROPERTY_TYPE_0
-      Properties: x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI
+      Properties: x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, AVX512_BF16
        x86 feature used: x86, x87, MMX, XMM, YMM, ZMM, FXSR, XSAVE, XSAVEOPT, XSAVEC
index ca73cb8..1528187 100644 (file)
@@ -29,3 +29,4 @@
        vpermt2b        (%ecx), %zmm0, %zmm1
        vpcompressb     %zmm0, %zmm1
        vpdpwssds       (%ecx), %zmm0, %zmm1
+       vcvtne2ps2bf16  (%ecx), %zmm0, %zmm1
index 6ac3d59..72e2131 100644 (file)
@@ -6,5 +6,5 @@
 Displaying notes found in: .note.gnu.property
   Owner                 Data size      Description
   GNU                  0x[0-9a-f]+     NT_GNU_PROPERTY_TYPE_0
-      Properties: x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI
+      Properties: x86 ISA used: CMOV, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2, FMA, AVX512F, AVX512CD, AVX512ER, AVX512PF, AVX512VL, AVX512DQ, AVX512BW, AVX512_4FMAPS, AVX512_4VNNIW, AVX512_BITALG, AVX512_IFMA, AVX512_VBMI, AVX512_VBMI2, AVX512_VNNI, AVX512_BF16
        x86 feature used: x86, x87, MMX, XMM, YMM, ZMM, FXSR, XSAVE, XSAVEOPT, XSAVEC
index e61a4bd..4c1bedb 100644 (file)
@@ -1,3 +1,7 @@
+2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * elf/common.h (GNU_PROPERTY_X86_ISA_1_AVX512_BF16): New.
+
 2019-04-07  Alan Modra  <amodra@gmail.com>
 
        Merge from gcc.
index ebdb821..75c4fb7 100644 (file)
 #define GNU_PROPERTY_X86_ISA_1_AVX512_VBMI     (1U << 21)
 #define GNU_PROPERTY_X86_ISA_1_AVX512_VBMI2    (1U << 22)
 #define GNU_PROPERTY_X86_ISA_1_AVX512_VNNI     (1U << 23)
+#define GNU_PROPERTY_X86_ISA_1_AVX512_BF16     (1U << 24)
 
 #define GNU_PROPERTY_X86_FEATURE_2_X86         (1U << 0)
 #define GNU_PROPERTY_X86_FEATURE_2_X87         (1U << 1)