aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2019-04-08 17:04:01 -0700
committerH.J. Lu <hjl.tools@gmail.com>2019-04-08 17:04:16 -0700
commit462cac5884ed4c38e6180b2e2769aaa5225e695b (patch)
tree78de364770f89c09cb88f814fcf4e8919b086054
parent8c402d4151a18c735d1d23ddbe56957d65322064 (diff)
downloadgdb-462cac5884ed4c38e6180b2e2769aaa5225e695b.zip
gdb-462cac5884ed4c38e6180b2e2769aaa5225e695b.tar.gz
gdb-462cac5884ed4c38e6180b2e2769aaa5225e695b.tar.bz2
x86: Define GNU_PROPERTY_X86_ISA_1_AVX512_BF16
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.
-rw-r--r--binutils/ChangeLog7
-rw-r--r--binutils/readelf.c3
-rw-r--r--binutils/testsuite/binutils-all/i386/pr21231b.d2
-rw-r--r--binutils/testsuite/binutils-all/x86-64/pr21231b.d2
-rw-r--r--gas/ChangeLog8
-rw-r--r--gas/config/tc-i386.c2
-rw-r--r--gas/testsuite/gas/i386/property-2.d2
-rw-r--r--gas/testsuite/gas/i386/property-2.s1
-rw-r--r--gas/testsuite/gas/i386/x86-64-property-2.d2
-rw-r--r--include/ChangeLog4
-rw-r--r--include/elf/common.h1
11 files changed, 30 insertions, 4 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 3743bc2..4b887a1 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -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>
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 5a9d9ff..701ab05 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -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;
diff --git a/binutils/testsuite/binutils-all/i386/pr21231b.d b/binutils/testsuite/binutils-all/i386/pr21231b.d
index 044a596..0576ce8 100644
--- a/binutils/testsuite/binutils-all/i386/pr21231b.d
+++ b/binutils/testsuite/binutils-all/i386/pr21231b.d
@@ -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>
diff --git a/binutils/testsuite/binutils-all/x86-64/pr21231b.d b/binutils/testsuite/binutils-all/x86-64/pr21231b.d
index 7ee42d5..d4891c2 100644
--- a/binutils/testsuite/binutils-all/x86-64/pr21231b.d
+++ b/binutils/testsuite/binutils-all/x86-64/pr21231b.d
@@ -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>
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 50ddc6b..dd53712 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index ed8cfe1..4816b54 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -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
diff --git a/gas/testsuite/gas/i386/property-2.d b/gas/testsuite/gas/i386/property-2.d
index 4803a0a..c7e321d 100644
--- a/gas/testsuite/gas/i386/property-2.d
+++ b/gas/testsuite/gas/i386/property-2.d
@@ -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
diff --git a/gas/testsuite/gas/i386/property-2.s b/gas/testsuite/gas/i386/property-2.s
index ca73cb8..1528187 100644
--- a/gas/testsuite/gas/i386/property-2.s
+++ b/gas/testsuite/gas/i386/property-2.s
@@ -29,3 +29,4 @@
vpermt2b (%ecx), %zmm0, %zmm1
vpcompressb %zmm0, %zmm1
vpdpwssds (%ecx), %zmm0, %zmm1
+ vcvtne2ps2bf16 (%ecx), %zmm0, %zmm1
diff --git a/gas/testsuite/gas/i386/x86-64-property-2.d b/gas/testsuite/gas/i386/x86-64-property-2.d
index 6ac3d59..72e2131 100644
--- a/gas/testsuite/gas/i386/x86-64-property-2.d
+++ b/gas/testsuite/gas/i386/x86-64-property-2.d
@@ -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
diff --git a/include/ChangeLog b/include/ChangeLog
index e61a4bd..4c1bedb 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -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.
diff --git a/include/elf/common.h b/include/elf/common.h
index ebdb821..75c4fb7 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -829,6 +829,7 @@
#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)