We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
_M_ARM64
For #2127 I need
__uint64ToN64_v
neon_cnt
neon_addv8
__n64
from <arm64_neon.h>
<arm64_neon.h>
https://godbolt.org/z/MbEqfshGG
The text was updated successfully, but these errors were encountered:
clang generates only 2 errors.
#include <intrin0.h> _NODISCARD int _Arm64_popcount(const unsigned long long _Val) noexcept { const __n64 _Result = neon_cnt(__uint64ToN64_v(_Val)); return neon_addv8(_Result).n8_u8[0]; } int main() { return _Arm64_popcount(0xFFFF); }
$ clang++ --target=aarch64-windows-msvc -O3 -S test.cpp test.cpp:4:11: error: unknown type name '__n64' const __n64 _Result = neon_cnt(__uint64ToN64_v(_Val)); ^ test.cpp:4:36: error: use of undeclared identifier '__uint64ToN64_v' const __n64 _Result = neon_cnt(__uint64ToN64_v(_Val)); ^ 2 errors generated.
So does clang use different <intrin0.h>? If so should I create a bug report at LLVM bugzilla?
<intrin0.h>
Sorry, something went wrong.
Want also neon_cntq, neon_addvq8, __n128 to optimize bitset::count further than with 64-bit versions
neon_cntq
neon_addvq8
__n128
bitset::count
@fsb4000 Yes, according to my understanding, Clang has their own <intrin0.h> that they use instead of ours.
<bit>
popcount()
popcount
Successfully merging a pull request may close this issue.
For #2127 I need
__uint64ToN64_v
neon_cnt
neon_addv8
__n64
from
<arm64_neon.h>
https://godbolt.org/z/MbEqfshGG
The text was updated successfully, but these errors were encountered: