Kewen Lin fda8e2f829 range: Workaround different type precision between _Float128 and long double [PR112788]
As PR112788 shows, on rs6000 with -mabi=ieeelongdouble type _Float128
has the different type precision (128) from that (127) of type long
double, but actually they has the same underlying mode, so they have
the same precision as the mode indicates the same real type format
ieee_quad_format.

It's not sensible to have such two types which have the same mode but
different type precisions, some fix attempt was posted at [1].
As the discussion there, there are some historical reasons and
practical issues.  Considering we passed stage 1 and it also affected
the build as reported, this patch is trying to temporarily workaround
it.  I thought to introduce a hookpod but that seems a bit overkill,
assuming scalar float type with the same mode should have the same
precision looks sensible.

[1] https://inbox.sourceware.org/gcc-patches/718677e7-614d-7977-312d-05a75e1fd5b4@linux.ibm.com/

	PR tree-optimization/112788

gcc/ChangeLog:

	* value-range.h (range_compatible_p): Workaround same type mode but
	different type precision issue for rs6000 scalar float types
	_Float128 and long double.
2023-12-12 20:39:34 -06:00
2023-12-11 00:17:32 +00:00
2023-12-07 00:17:06 +00:00
2023-12-12 00:17:22 +00:00
2023-12-12 00:17:22 +00:00
2023-12-13 00:17:49 +00:00
2023-12-12 00:17:22 +00:00
2023-12-06 00:17:50 +00:00
2023-12-12 00:17:22 +00:00
2023-12-13 00:17:49 +00:00
2023-12-13 00:17:49 +00:00
2023-12-13 00:17:49 +00:00
2023-12-12 09:37:21 +01:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.
Description
No description provided
Readme 4.2 GiB
Languages
C++ 30.7%
C 30.2%
Ada 14.4%
D 6.1%
Go 5.7%
Other 12.4%