Skip to content
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

AVX512-VP2INTERSECT implementations #1000

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

vertexclique
Copy link
Member

@vertexclique vertexclique commented Feb 10, 2021

Currently, these implementations aren't finished. Link representations for N x i1 for llvm needs to be incorporated into the compiler.
The best way to do the i1 linking is using the proc macro attribute on extern to make linking explicit to i1 representations.

Note that bool is still i8 representation from the rust's side with zero extend. That hasn't been solved for linking to llvm.

Relates to #989 and rust-lang/rust#81552

@rust-highfive
Copy link

r? @Amanieu

(rust-highfive has picked a reviewer for you, use r? to override)

@vertexclique
Copy link
Member Author

vertexclique commented Feb 10, 2021

we have talked with @Amanieu about it. This can wait until we land the i1 linking in the compiler.

@Gab-Menezes
Copy link

Gab-Menezes commented Aug 7, 2024

Hey @Amanieu, first I would like to thank you for your work.

Any plans on continue development to support this instrinsics ?
I tried using this instructions with inline asm, but without much success, since they "clobber" an undermined register (the clobbed kreg depends on the the first operand, since the masks are written in a even/odd pair). AFAIK to use this with inline asm the first operand needs to be fixed and can't be generated dynamically by the compiler, since if the compiler choose the register kX the register kX+1 will also be written, but you can't specify kX+1 as an output.
I would like to help if needed, but I have never contributed to stdarch, so if you can point me to some resources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants