escha added a comment. afaik, x * rsqrt(x) is wrong when x is zero (it gives NaN instead of 0). we use x * rsqrt(x) for our expansion, but we have to use an extra select_cc to handle the zero special case. Repository: rL LLVM https://reviews.llvm.org/D28508