We use _oneuse checks to make sure combines won't accidentally increase code size, but this prevents the optimization in cases where we happen to want to clamp multiple values to the same range
It's safe to drop these checks for two reasons:
- The pattern of max/min operations for med3 is complicated enough it's unlikely to come up by accident, so this will still only fire when appropriate to do so
- Even if every intermediate is used and we don't save a single operation, we still won't end up with more operations since the med3 replaces the final max/min.
In pathological cases we could potentially end up with a larger encoding size or possibly slightly increased vgpr pressure, but the risk of that is low, especially considering the upside.
Please precommit this new test and rebase so that the patch shows the codegen diff.