https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121004

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually LLVM transforms a*0.0f into copysign if it knows that a is finite.
That is:
```
float f0(float a)
{
  if (__builtin_isnan(a) || __builtin_isinf(a))
    __builtin_unreachable();
  float t =  a*0.f;
  return t;
}
```

I am not 100% sure if this happens in PR 120996 but there is a possibility.

Reply via email to