https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123869
--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Just tested a few more things just in case.
```
_Float16 f1(_Float16 a, _Float16 b)
{
return __builtin_copysignf16(a, b);
}
```
Works as expected on aarch64 and x86, expanding using bitwise currently (good).
```
_Float16 f1(_Float16 a)
{
return __builtin_copysignf16(a, -1.0f16);
}
```
Fails without my patch but works also with my patch as the above is done as:
```
_Float16 f1(_Float16 a)
{
return -__builtin_fabsf16(a);
}
```
So don't need to change my patch for copysign after all.