Although Microsoft blogs claim otherwise using std::isnan in my code still does generate calls to c++ runtime instead of inlined ucomiss.
Now I worked around that with x!=x check(since perf matters to me in this piece of code), but that made me wonder... If x!=x is a way to check for NaNess would that not be an easy way to implement std::isnan?
But from what I know gcc/clang use intrinsics (and msvc is trying). Why would they bother if it can be efficiently implemented as a normal function?
So I am a bit confused since one of the answers on SO claims that it is the only way selfcomparison can return false.