https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104427
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|ICE with |ICE with
|__builtin_assoc_barrier and |__builtin_assoc_barrier and
|float16 types |float types which introduce
| |excess precision
Target| |aarch64*-* x86_64-*-*
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
It is an interaction between excess_precision_expr and the barrier.
Here is another testcase which shows the same issue but on i?86 (-m32 -mno-sse
-std=c99):
float x, y;
int foo()
{
return __builtin_assoc_barrier(x + y) - y;
}