Skip to content

Conversation

@sifkarov
Copy link

[avx2]

  • _mm256_cvtepu16_epi32
  • _mm256_cvtepu16_epi64
  • _mm256_cvtepu32_epi64
  • _mm256_cvtepu8_epi16
  • _mm256_cvtepu8_epi32
  • _mm256_cvtepu8_epi64

An intermediate u8x4 type is needed for the cast in _mm256_cvtepu8_epi64, so I defined one inline just like it's signed counterpart. I see there might be some overlap with other open PR's (regarding the u8x4), but this seemed like the best route to take for now given the context and the desire to define these just like they are in avx2intrin.h.

@gnzlbg
Copy link
Contributor

gnzlbg commented Nov 16, 2017

@GovernorTarkin thank you for the pull-request!

An intermediate u8x4 type is needed for the cast in _mm256_cvtepu8_epi64, so I defined one inline just like it's signed counterpart.

The i8x4 type is already available in the v32 module, I think I would prefer for the u8x4 type to be there as well.

@sifkarov
Copy link
Author

@gnzlbg I must have overlooked the v32 module. In that case, I can also prune the existing duplicate i8x4 definition.

In the mean time, it looks like #183 adds the u8x4 that we'll need here, so I guess that concern is addressed once #183 is merged.

@gnzlbg
Copy link
Contributor

gnzlbg commented Nov 16, 2017

I think that this PR is going to end up being merged sooner than #183 (the rest of the PR LGTM) so I would suggest fixing it here, we can amend #183 afterwards.

@gnzlbg gnzlbg merged commit 46aceed into rust-lang:master Nov 17, 2017
@gnzlbg
Copy link
Contributor

gnzlbg commented Nov 17, 2017

Thanks.

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.

2 participants