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

Integer vector SIMD support #433

Open
robclu opened this issue Sep 25, 2023 · 1 comment
Open

Integer vector SIMD support #433

robclu opened this issue Sep 25, 2023 · 1 comment

Comments

@robclu
Copy link

robclu commented Sep 25, 2023

Hi,

Thanks for the awesome work!

I have a use case which makes heavy use of integer vectors, which lead me to notice that there are no UVec3A and IVec3A types, and that the UVec4 and IVec4 types do not actually have SIMD implementations. Sorry if I have missed something and that there are in fact SIMD implementations for them, but if not, do you have plans to add them?

If not, I will work on a PR to add them if you'd want those implementations in the library.

@bitshifter
Copy link
Owner

Hi there. You are correct, there are no integer SIMD implementations at the moment.

I am in two minds about adding support. For one, it is quite a lot of work - especially to support all of the architectures that glam currently supports (although this isn't a blocker, missing implements have a scalar path). Another thing I have found when adding support for NEON is the benefits have been less clear than they were with SSE2. I am considering changing how glam supports SIMD - mostly just making it more opt in than it currently is for Vec4/Quat and Mat4, that wouldn't negate any integer SIMD work though, it would just mean that it moves. In any case if you are interested in doing the work then I would support a PR, but as I don't have a huge amount of time to spend on this myself it would need to be fairly complete.

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

No branches or pull requests

2 participants