nir: Add instruction for `clamp(x, -1.0, 1.0)`
This pattern occurs within NIR (4 algebraic rules and a format_convert routine), and presumably occurs within application shaders. For intra-NIR use, it might be more convenient to have a dedicated instruction like fsat
so GPUs with native support (like Midgard/Bifrost - which has it as a destination modifier, but expressing it as a regular ALU instruction at the NIR level would help quite a bit - our backend can deal with propagation) can optimize into it with an algebraic rule instead of a backend pass, and GPUs can be lowered as a late algebraic rule.
Also, this is bikeshedding but I'm not sure what a good name is :)
Cc @jekstrand @idr