The 64/128-bit vector types will be treated as legal type when NEON is
enabled, but there was no matching pattern for @llvm.cttz.*()
intrinsics. This commit fix the problem by lowering cttz to ctpop or
ctlz.
Details
- Reviewers
rengolin grosbach t.p.northover chh
Diff Detail
Event Timeline
Hi Logan,
The patch looks good, though I was expecting the vector test to be checking instructions as well.
cheers,
--renato
Hi Logan, looks good, thanks!
The cases where you didn't add CHECKs, was it because it didn't use vector instructions? I think it should be fine to check for scalar instructions, like the others, at least to check that the instructions you were expecting got lowered.
Otherwise, LGTM. Thanks!
Hi Renato,
I have added the test cases for 64/128-bit vector types. For the other cases I am leaving them unchanged because they are automatically expanded by the code generator and irrelevant to this change. Please have a look again. Thanks.
Logan
Hi Renato,
Thanks for your review. I have committed this as rL242037.
Regarding to your comments on the check lines (for automatically expanded cases), I will try to address them in the different change after I have figured out the pattern for automatic expansion.
Logan