-
Notifications
You must be signed in to change notification settings - Fork 291
x86_64 intrinsic missing #1009
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
Comments
All 512 intrinsics are being implemented still. We'd be happy to have a PR if you have the time. |
I will implement it and it wll be available on next merge. |
You can check https://github.com/rust-lang/stdarch/blob/master/crates/core_arch/avx512f.md |
@minybot - that's very kind of you. It seems a reasonable overight - googling reveals that it was omitted from llvm as well, so if one was working from a particular llvm revision's C intrinsic headers, it would have been absent. We may need to be careful if we add this intrinsic in case it changes the minimum supported version of llvm we need to use. The list in your link omits intrinsics like As an aside, Intel's intrinsics aren't that well designed or named IMV, and they make it impossible to use the variants of the underlying assembler that let one load from memory directly to do an operation (eg a parallel population count) rather than loading via a register first. Whilst there's a very good argument in maintaining naming and function signature compatibility with them, it does means one doesn't get the full benefit of the underlying architecture. |
_ktestc_mask8_u8 is avx512DQ which is not considered as avx512f here. |
@minybot ta. I realised after I read your reply above you'd got more than one list. I'll look at implementing the _ktest intrinsic for my own needs for now in assembler as a call to |
The intrinsic
_mm512_cvtsi512_si32
is missing from x86_64 std::arch.I suspect this is because it wasn't always present; for example, this godbolt example (from this stack overflow answer defines it if missing).
I'm in no place to implement this myself, so it needs to go a backlog list somewhere.
The text was updated successfully, but these errors were encountered: