(select (setcc x, -0.0, olt), NaN, (fsqrt x)) -> ( fsqrt x)
Since fsqrt(NaN) = NaN (I believe), SETULT should be fine as well here right? And SETLT too?
Here is an updated patch with the typo fix and with an expanded pattern that patches all of the *LT flavors of condition codes. I forgot to mention before that this patch depends on http://reviews.llvm.org/D8469