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

vaddvq_xx is not available #55

Open
cool2002 opened this issue Jul 7, 2021 · 3 comments
Open

vaddvq_xx is not available #55

cool2002 opened this issue Jul 7, 2021 · 3 comments

Comments

@cool2002
Copy link

cool2002 commented Jul 7, 2021

Recently I tried to use NEON_2_SSE.h in my project and have an error :
error: 'vaddvq_u16' was not declared in this scope

In original <arm_neon.h>, vaddvq_xxx (Add cross vector functions) are available.
ifdef LITTLE_ENDIAN
__ai uint8_t vaddvq_u8(uint8x16_t __p0) {
uint8_t __ret;
__ret = (uint8_t) __builtin_neon_vaddvq_u8((int8x16_t)__p0);
return __ret;
}
#else
__ai uint8_t vaddvq_u8(uint8x16_t __p0) {
uint8x16_t __rev0; __rev0 = __builtin_shufflevector(__p0, __p0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);
uint8_t __ret;
__ret = (uint8_t) __builtin_neon_vaddvq_u8((int8x16_t)__rev0);
return __ret;
}
#endif

https://doc.rust-lang.org/nightly/core/arch/aarch64/fn.vaddvq_u16.html?search=vaddvq_u16

Can you possibly implement this in the NEON_2_SSE.h ?

Cheers.

@Zvictoria
Copy link
Contributor

Hi, @cool2002 The "original" arm_neon.h file you refer to is the latest file supporting ARM aarch 64 and I believe the latest ARMs (9?) while the original file NEON_2_SSE.h is for 32-bit ARM 7 generation. That's why it misses some instructions.
The main problem preventing me from implementing these new instructions is the absence of the corresponding tests, and they are absolutely necessary, while creating them is a separate time consuming task. So while I don't plan to add something to NEON_2_SSE.h in 2021, if such tests appear, I could change my plans for sure.

@rosbif
Copy link
Contributor

rosbif commented Jul 7, 2021 via email

@Utkarsh-Deshmukh
Copy link

It seems like this issue still exists. @Zvictoria any plans of adding these "missing" instructions?

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

4 participants