I was thinking about a few less common floating point things and wondered if we need constrained/strict versions of them.
-int_fmuladd - which is used by clang to support fp-contract=on where only operations within a statement sare allowed to be concentrated.
-int_convert_to_fp16/int_convert_from_fp16 - Used by some targets to support ieee 16-bit floats as a storage only type I think. A FIXME in clang indicates the plan was to get rid of these all together, but I’m not sure where we are on that.
-Not an intrinsic, but we also have ISD::FP16_TO_FP and ISD::FP_TO_FP16 in SelectionDAG. I believe these are created during type legalization if half needs to be promoted.