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

u16x16 #59

Closed
RazrFalcon opened this issue Sep 12, 2020 · 8 comments · Fixed by #86
Closed

u16x16 #59

RazrFalcon opened this issue Sep 12, 2020 · 8 comments · Fixed by #86

Comments

@RazrFalcon
Copy link
Contributor

This one fits into 256bits, so it can be implemented via AVX.

@Lokathor
Copy link
Owner

256-bit support has taken a back seat compared to 128-bit types simply for lack of time to do everything at once, but this would be welcomed as a PR.

@ronniec95
Copy link
Contributor

@RazrFalcon I might be able to do this, but where is something like this useful? I'm genuinely curious.

@RazrFalcon
Copy link
Contributor Author

@ronniec95 I'm using it in my Skia port: https://github.com/RazrFalcon/tiny-skia/tree/master/src/wide

Right now, I have only a scalar implementation. And I would like to replace the custom SIMD implementation with an existing one, like this crate.

@gilescope gilescope mentioned this issue Jun 6, 2021
@gilescope
Copy link
Contributor

I had a little look at this but was puzzled that the unsigned types seem to use signed add instructions: add_i16_m128i - I can see there's saturating unsigned adds we could use: _mm_adds_epu16. Is it that add_i16_m128i works for both? If so why do they have signed / unsigned in their naming?

@Lokathor
Copy link
Owner

for wrapping addition, which is what the integer types in wide use, signed and unsigned uses the same bit manipulation, and thus the same hardware instruction.

@gilescope
Copy link
Contributor

Ah this should not have been closed as this one is not yet implemented.

@Lokathor
Copy link
Owner

oops!

@Lokathor Lokathor reopened this Jul 20, 2021
@mcroomp
Copy link
Contributor

mcroomp commented May 26, 2024

#155 fixes this

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 a pull request may close this issue.

5 participants