-
Notifications
You must be signed in to change notification settings - Fork 356
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
implement simd_eq and simd_reduce_any #1978
Conversation
I think that's correct, actually. It wants to be allowed to use a vectorwise signed integer minimum when lowering to the machine code. |
Oh, I see. I hope portable-simd makes sure that no other bit patterns ever reach those intrinsics, then. ;) |
CTFE engine: Scalar: expose size-generic to_(u)int methods This matches the size-generic constructors `Scalar::from_(u)int`, and it would have helped in rust-lang/miri#1978. r? `@oli-obk`
@bors r+ |
📌 Commit 1ac1e55 has been approved by |
☀️ Test successful - checks-actions |
We do, effectively, because we only combine that intrinsic with the Mask types, but fortunately we also now have a way to find out if we don't. ^^; |
This lets us re-enable the division and modulo tests, since those operations now internally use simd_eq and simd_reduce_any.
However, I am not sure what exactly the rules are for simd_reduce_any. @workingjubilee for now I made it UB to call those with inputs that are not all-0 or all-1, but that might be taking it too far?