Currently the implementation treats x != y as ! (x == y). It is my fault as I originally wrote the spec that way, but someone (I don't remember if it was David Neto or someone else) reminded me that the two are different for floats. I fixed the spec to have an operator!=, but not yet the implementation
WHLSL is no longer relevant.