[InstCombine] Preserve the sign bit of NaN in `SimplifyDemandedUseFPClass` (#137287)
Alive2: https://alive2.llvm.org/ce/z/uiUzEf
Closes https://github.com/llvm/llvm-project/issues/137196.
Note: To avoid regression in
`ret_nofpclass_nopositives_copysign_nnan_flag`, the second commit takes
FMF into account.