Could you please also fix `ftoi`?
I had written a similar patch at some point. The reason why I hesitated sending it is that it's not completely clear what "Behavior is undefined" mean in the SPIR-V specification, since what your code does is to compute `ConvertFToU` anyway and then ignore it if the input is not in the range. According to the C/C++ meaning of "undefined behavior" this would be invalid: once you invoke UB there's nothing you can do to "go back", and even if you ignore the computed value the compiler has no obligations any more with you. If SPIR-V adopted the same meaning, which would sound plausible, your implementation (and mine as well) would be incorrect. Do you have any specific insight in this matter?