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 3743bc2d50b50081bf47948b8484360daa91633e..4b887a1982748c48b3c23bea4971cdf6401cc2da 100644 (file)
@@ -1,3 +1,10 @@
+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.
index 5a9d9ff433d5438e073e871b9c92d307d9f279d3..701ab05461788bf9886477aeb3c91948c95ec4e7 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 044a596cd71d98551f222ce597ab1799842660ad..0576ce8b758e20d7b845b6aa575f885dfbe99785 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 7ee42d5dd16d58f25a52c9612481ac078b32d006..d4891c238010663489591c23de966b433d2447c7 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 50ddc6bf696781623ab47bb731842e37ca7fd370..dd53712c4f8ab6e825d8c28246a8590e51f88232 100644 (file)
@@ -1,3 +1,11 @@
+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.
index ed8cfe1ad31afd8c218a042c045645b911223d98..4816b54f93c7eb8d509f16bc22ca0d4c9c46529f 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 4803a0a7dcd971534083c3d7ef8910b2f4ddc231..c7e321dd91e4084736c87a8d1e8335e29af42800 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 ca73cb8ced9cf29d1ceaaa7def925b0d71eac532..15281872bc9d20451d24304bb8c7a9bbc3dfe2b2 100644 (file)
@@ -29,3 +29,4 @@
        vpermt2b        (%ecx), %zmm0, %zmm1
        vpcompressb     %zmm0, %zmm1
        vpdpwssds       (%ecx), %zmm0, %zmm1
+       vcvtne2ps2bf16  (%ecx), %zmm0, %zmm1
index 6ac3d59b2383c763e25bb0df230008461a3eed6b..72e2131995e6acb09c571788f072f6e0eac315df 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 e61a4bdc4b69dae955917a801f181d8dc5feef6c..4c1bedbbcaaf8a82f4444a59ff9462935ddbab2f 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 ebdb8212d118ed02132b8f94f26b628c1e1f681d..75c4fb7e9d7c0f780d635ac305f579546b7b071b 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)