[AArch64][SME]: Generate streaming-compatible code for bit counting/select
authorHassnaa Hamdi <hassnaa.hamdi@arm.com>
Tue, 29 Nov 2022 11:51:21 +0000 (11:51 +0000)
committerHassnaa Hamdi <hassnaa.hamdi@arm.com>
Tue, 29 Nov 2022 12:24:21 +0000 (12:24 +0000)
commit9c7286f938ea05be75f0a9287a8d7a77734e22e7
tree6a3e2ad0509461dcb19a52c5c6463db1ee158c2e
parent17e51cd4f94cea6798f37ca31863b5a61e278746
[AArch64][SME]: Generate streaming-compatible code for bit counting/select

To generate code compatible to streaming mode:
 - enable custom-lowering ISD::CTLZ and ISD::CTPOP.
 - disable combining OR into BSL.

- Testing files:
 - bit-counting.ll
 - bitselect.ll

Reviewed By: david-arm, sdesmalen

Differential Revision: https://reviews.llvm.org/D138682
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll