-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Legalize fmin/fmax with NaN quieting semantics #1905
Conversation
6e1f8c3
to
3dda5bc
Compare
3dda5bc
to
7322f2e
Compare
Subscribe to Label Actioncc @bnjbvr
This 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.