[Bug bootstrap/107299] [13 regression] ICE in stage 1 after r13-3307-g8efc38347a7444
aldyh at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Oct 18 07:08:20 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107299
--- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> ---
(In reply to Aldy Hernandez from comment #3)
> We are failing while trying to fold:
>
> c_92 = __builtin_copysignf128 (0.0, c_80(D));
>
> The problem is that c_92 is TFtype but 0.0 is _Float128. TFtype has a
> precision of 127 whereas _Float128 has a precision of 128. This causes the
> assert in fold_using_range::fold_stmt to fail because range_compatible_p is
> false.
>
> Are both operands of copysign allowed to have different types / precisions?
Sorry, what I meant to say is that c_92 is TFtype, whereas
__builtin_copysignf128 is assuming to return the type of the first operand
(0.0, which is _Float128). Is this correct?
More information about the Gcc-bugs
mailing list