mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
ranger: Revert the workaround introduced in PR112788 [PR112993]
This reverts commit r14-6478-gfda8e2f8292a90 "range: Workaround different type precision between _Float128 and long double [PR112788]" as the fixes for PR112993 make all 128 bits scalar floating point have the same 128 bit precision, this workaround isn't needed any more. PR target/112993 gcc/ChangeLog: * value-range.h (range_compatible_p): Remove the workaround on different type precision between _Float128 and long double.
This commit is contained in:
@@ -1764,13 +1764,7 @@ range_compatible_p (tree type1, tree type2)
|
||||
// types_compatible_p requires conversion in both directions to be useless.
|
||||
// GIMPLE only requires a cast one way in order to be compatible.
|
||||
// Ranges really only need the sign and precision to be the same.
|
||||
return TYPE_SIGN (type1) == TYPE_SIGN (type2)
|
||||
&& (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
|
||||
// FIXME: As PR112788 shows, for now on rs6000 _Float128 has
|
||||
// type precision 128 while long double has type precision 127
|
||||
// but both have the same mode so their precision is actually
|
||||
// the same, workaround it temporarily.
|
||||
|| (SCALAR_FLOAT_TYPE_P (type1)
|
||||
&& TYPE_MODE (type1) == TYPE_MODE (type2)));
|
||||
return (TYPE_PRECISION (type1) == TYPE_PRECISION (type2)
|
||||
&& TYPE_SIGN (type1) == TYPE_SIGN (type2));
|
||||
}
|
||||
#endif // GCC_VALUE_RANGE_H
|
||||
|
||||
Reference in New Issue
Block a user