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;
}

Reply via email to