Kindly pinging.

Felix

-----Original Message-----
From: Felix Willgerodt <felix.willger...@intel.com> 
Sent: Montag, 17. August 2020 13:37
To: Willgerodt, Felix <felix.willger...@intel.com>; gcc-patches@gcc.gnu.org
Subject: [PATCH] floatformat.h: Add bfloat16 support.

This change is motivated by a patchset that adds bfloat16 debugging support for 
new avx512 instructions to GDB. The gdb thread can be found
here: https://sourceware.org/pipermail/gdb-patches/2020-July/170820.html

include:
2020-08-17  Felix Willgerodt  <felix.willger...@intel.com>

        * floatformat.h (floatformat_bfloat16_big): New.
        (floatformat_bfloat16_little): New.

libiberty:
2020-08-17  Felix Willgerodt  <felix.willger...@intel.com>

        * floatformat.c (floatformat_bfloat16_big): New.
        (floatformat_bfloat16_little): New.
---
 include/floatformat.h   |  3 +++
 libiberty/floatformat.c | 19 ++++++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/include/floatformat.h b/include/floatformat.h index 
ce8d6d4add8..630fade0449 100644
--- a/include/floatformat.h
+++ b/include/floatformat.h
@@ -133,6 +133,9 @@ extern const struct floatformat 
floatformat_ia64_quad_little;
 /* IBM long double (double+double).  */  extern const struct floatformat 
floatformat_ibm_long_double_big;  extern const struct floatformat 
floatformat_ibm_long_double_little;
+/* bfloat16.  */
+extern const struct floatformat floatformat_bfloat16_big; extern const 
+struct floatformat floatformat_bfloat16_little;
 
 /* Convert from FMT to a double.
    FROM is the address of the extended float.
diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c index 
2fd5e688ec4..6b9b03288e2 100644
--- a/libiberty/floatformat.c
+++ b/libiberty/floatformat.c
@@ -389,7 +389,24 @@ const struct floatformat 
floatformat_ibm_long_double_little =
   floatformat_ibm_long_double_is_valid,
   &floatformat_ieee_double_little
 };
-

+
+const struct floatformat floatformat_bfloat16_big = {
+  floatformat_big, 16, 0, 1, 8, 127, 255, 9, 7,
+  floatformat_intbit_no,
+  "floatformat_bfloat16_big",
+  floatformat_always_valid,
+  NULL
+};
+
+const struct floatformat floatformat_bfloat16_little = {
+  floatformat_little, 16, 0, 1, 8, 127, 255, 9, 7,
+  floatformat_intbit_no,
+  "floatformat_bfloat16_little",
+  floatformat_always_valid,
+  NULL
+};
 
 #ifndef min
 #define min(a, b) ((a) < (b) ? (a) : (b))
--
2.25.4

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Gary Kershaw
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

Reply via email to