[CIR] Separate floating-point bin ops from integer bin ops (#201462)
This change creates new FP-specific binary operations and updates the
existing binary operations that previously accepted any arithmetic type
to only allow integer and vector-of-integer types.
This change is being done to prepare for extended floating-point
handling such as strict FP semantics and fast-math handling. It also
simplifies the handling of integer overflow flags.
Assisted-by: Cursor / claude-opus-4.8