This is an atypical proposal because we are converting 1 instruction (intrinsic) into 2 instructions, but this allows better analysis via ValueTracking's matchSelectPattern().
Also, see this discussion for a larger potential optimization that would be made easier to match if we canonicalize to fcmp+select:
There's a related codegen problem here:
We've already solved that for x86 at least, but this IR transform should help more generally.
Finally, I don't know of any current downside to converting this to fcmp+select, but it's another case where we should have FMF on the select: