Gabriel F. T. Gomes
1626f499d1
Prepare vfprintf to use __printf_fp/__printf_fphex with float128 arg
...
On powerpc64le, long double can currently take two formats: the same as
double (-mlong-double-64) or IBM Extended Precision (default with
-mlong-double-128 or explicitly with -mabi=ibmlongdouble). The internal
implementation of printf-like functions is aware of these possibilities
and properly parses floating-point values from the variable arguments,
before making calls to __printf_fp and __printf_fphex. These functions
are also aware of the format possibilities and know how to convert both
formats to string.
When library support for TS 18661-3 was added to glibc, __printf_fp and
__printf_fphex were extended with support for an additional type
(__float128/_Float128) with a different format (binary128). Now that
powerpc64le is getting support for its third long double format, and
taking into account that this format is the same as the format of
__float128/_Float128, this patch extends __vfprintf_internal to properly
call __printf_fp and __printf_fphex with this new format.
Tested for powerpc64le (with additional patches to actually enable the
use of these preparations) and for x86_64.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2019-06-27 17:51:59 -03:00
..
2019-01-03 11:12:39 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2017-02-16 17:33:18 -05:00
2014-11-26 12:54:39 +00:00
2014-11-26 12:54:39 +00:00
2019-01-01 00:11:28 +00:00
2014-11-27 16:01:04 +00:00
2017-02-16 17:33:18 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-05-20 21:54:57 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-06-12 14:48:33 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-03 11:12:39 -05:00
2019-06-20 17:32:07 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-03 09:38:24 +01:00
2019-02-03 09:38:24 +01:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-03 09:38:24 +01:00
2019-02-03 09:38:24 +01:00
2019-05-21 12:03:54 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-05-20 21:54:57 +02:00
2019-05-20 21:54:57 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-05-20 21:54:57 +02:00
2019-05-20 21:54:57 +02:00
2019-01-01 00:11:28 +00:00
2019-05-20 21:54:57 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-03 09:38:24 +01:00
2019-01-01 00:11:28 +00:00
2019-02-18 16:37:00 +01:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-31 14:07:45 -08:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-02 13:53:52 -02:00
2019-01-03 11:12:39 -05:00
2019-01-03 11:12:39 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-05-20 21:54:57 +02:00
2019-06-27 17:51:59 -03:00
2019-06-20 17:32:07 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-18 16:37:00 +01:00
2019-01-01 00:11:28 +00:00
2019-02-18 16:37:00 +01:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-18 16:37:00 +01:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-31 14:07:45 -08:00
2019-01-31 14:07:45 -08:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-31 14:07:45 -08:00
2019-01-31 14:07:45 -08:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-18 16:37:00 +01:00
2019-02-18 16:37:00 +01:00
2019-01-03 11:12:39 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-03 11:12:39 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2015-10-12 15:18:08 +02:00
2018-10-17 09:34:13 +02:00
2019-01-01 00:11:28 +00:00
2019-01-31 14:07:45 -08:00
2019-02-06 12:29:02 +01:00
2019-06-20 17:32:07 +00:00
2019-06-20 17:32:07 +00:00
2018-03-13 08:31:56 -04:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2017-02-16 17:33:18 -05:00
2017-02-16 17:33:18 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2016-06-11 14:50:16 -07:00
2018-02-21 14:39:54 -05:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-02 13:53:52 -02:00
2019-01-02 13:53:52 -02:00
2014-11-05 15:24:08 +05:30
2014-11-05 15:24:08 +05:30
2014-11-05 15:24:08 +05:30
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-05-21 12:03:54 +02:00
2019-05-21 12:03:54 +02:00
2019-05-15 16:47:09 +02:00
2019-05-15 16:47:09 +02:00
2019-01-01 00:11:28 +00:00
2017-09-09 12:41:54 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2018-07-06 17:52:54 +02:00
2019-02-03 09:38:24 +01:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-02-03 09:38:24 +01:00
2019-01-01 00:11:28 +00:00
2019-05-20 21:54:57 +02:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-01 00:11:28 +00:00
2019-01-03 11:12:39 -05:00
2019-02-25 13:19:19 +00:00