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

[BUG] Neon vector shift left and widen intrinsic variants with n == bit-width #356

Open
namniav opened this issue Nov 2, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@namniav
Copy link

namniav commented Nov 2, 2024

Describe the bug

From https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#vector-shift-left-and-widen, each neon vector shift left and widen intrinsic has a variant with n == bit width.

For example:

Intrinsic Argument preparation
int16x8_t vshll_n_s8(int8x8_t a, const int n) 0 <= n <= 7
int16x8_t vshll_n_s8(int8x8_t a, const int n) n == 8

Both link to the same developer.arm.com page for vshll_n_s8 and the documented argument preparation there is n -> minimum: 0; maximum: 7.

What is the use of the second variant? Or is it a mistake?

@namniav namniav added the bug Something isn't working label Nov 2, 2024
@namniav namniav changed the title [BUG] Neon vector shift left and widen intrinsic variants that with n == bit width [BUG] Neon vector shift left and widen intrinsic variants with n == bit-width Nov 2, 2024
@vhscampos
Copy link
Member

Thanks for the bug report.

This is indeed a bug. developer.arm.com is missing the second variant, which is translated into the SHLL instruction (instead of SSHLL).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants