Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
This is the Clang part. Do we need to add anything for LLVM, for example tests?
PS. Please upload a diff with more context next time.
Sorry... I forgot to create a diff with more context. I will do it next time.
It looks the signed/unsigned vcls intrinsics are implemented by same __builtin_neon_vcls_v function on clang. You can see it from 'arm_neon.h' in build directory. I think we do not need to add something for the unsigned vcls on llvm.
I am 100% sure but it looks the failed unit tests on x64 windows are not related to this patch...
Yeah, they are almost certainly unrelated.
Can you tests in clang/test/CodeGen/aarch64-neon-misc.c too, to covert the AArch64 side?
Yep, I have run llvm-lit with test on x86 ubuntu 18.04 and it has been passed as below.
-- Testing: 1 tests, 1 workers -- PASS: Clang :: CodeGen/aarch64-neon-misc.c (1 of 1) Testing Time: 2.42s Passed: 1
Ah, Dave's remark is a good one. These intrinsics are available in both AAch64 and ARM, and I missed that you covered only ARM here; Dave meant to add these tests for AArch64 too.
The LLVM side indeed looks in order: the AArch64 tests live in tests/CodeGen/AArch64/arm64-vcnt.ll, and the ARM tests in tests/CodeGen/ARM/vcnt.ll.
Yeah. I mean, arm_neon.td drives two backends - ARM and AArch64. This adds test for ARM (you can tell because of the llvm.arm.neon.vcls), there should ideally also be tests for llvm.aarcht64.neon.vcls.