I don't have a very strong opinion. Multiple discard types are fine; v1 of this patch was also fine. I mostly just want the IR to have the same semantics regardless of profile version.
I don't disagree, but it's perhaps worth pointing out that technically that would imply having two variants of things like "mul" and "dot" as well, because those follow different floating-point rules in the pre-4.0 and the later profiles. (And that has implications for whether you can e.g. fold "0.0 * x" to "0.0" without additional information or not.)