It seems that compiler-rt's implementation and Darwin
libm's implementation of logbf() differ when given a NaN
with raised sign bit. Strangely this behaviour only happens with
i386 Darwin libm. For x86_64 and x86_64h the existing compiler-rt
implementation matched Darwin libm.
To workaround this the compiler_rt_logbf_test.c has been modified
to do a comparison on the fp_t type and if that fails check if both
values are NaN. If both values are NaN they are equivalent and no
error needs to be raised.
rdar://problem/55565503