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.willgerodt@intel.com>

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

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

	* floatformat.c (floatformat_bfloat16_big): New.
	(floatformat_bfloat16_little): New.
This commit is contained in:
Felix Willgerodt 2020-08-17 13:36:49 +02:00 committed by Joseph Myers
parent 34d926dba0
commit 87603e5656
2 changed files with 21 additions and 1 deletions

View File

@ -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.

View File

@ -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))