Legalize fmin/fmax with NaN quieting semantics#1905
Conversation
6e1f8c3 to
3dda5bc
Compare
3dda5bc to
7322f2e
Compare
Subscribe to Label Actioncc @bnjbvr DetailsThis issue or pull request has been labeled: "cranelift", "cranelift:meta"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
bnjbvr
left a comment
There was a problem hiding this comment.
I won't lie and claim that I understand it all, but it kind of makes sense and if it passes more SIMD tests, that's good enough for me. Approved on the assumption that the loss of sign isn't a problem according to the spec. Thanks!
| ) { | ||
| let ty = func.dfg.ctrl_typevar(inst); | ||
| debug_assert!(ty.is_vector()); | ||
| let (x, y, x86_opcode, is_max) = match func.dfg[inst] { |
There was a problem hiding this comment.
nit: Can we get rid of is_max by just looking at the opcode, instead of the one use of is_max?
There was a problem hiding this comment.
We could but then it would be let (x, y, x86_opcode, clif_opcode) and we would have to do the opcode comparison twice (once in the match and below in the current if using is_max).
There was a problem hiding this comment.
I'm going to merge this as-is but I can make a subsequent change to let (x, y, x86_opcode, clif_opcode) if you prefer that.
7322f2e to
2450111
Compare
This is identical to #1821 but without the guarantee flags.