这是我的代码:intf(doublex,doubley){returnstd::isnan(x)||std::isnan(y);}如果您使用C而不是C++,只需将std::替换为__builtin_(不要简单地删除std::,原因如下:WhydoesGCCimplementisnan()moreefficientlyforC++thanC?)。这是程序集:ucomisd%xmm0,%xmm0;setparityflagifxisNANsetp%dl;copyparityflagto%edxucomisd%xmm1,%xmm1;setparityflagifyisNANsetp%al;c
这是我的代码:intf(doublex,doubley){returnstd::isnan(x)||std::isnan(y);}如果您使用C而不是C++,只需将std::替换为__builtin_(不要简单地删除std::,原因如下:WhydoesGCCimplementisnan()moreefficientlyforC++thanC?)。这是程序集:ucomisd%xmm0,%xmm0;setparityflagifxisNANsetp%dl;copyparityflagto%edxucomisd%xmm1,%xmm1;setparityflagifyisNANsetp%al;c