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
 
| Paths 
 |  Differential  D138682  
[AArch64][SME]: Generate streaming-compatible code for bit counting/select ClosedPublic Authored by hassnaa-arm on Nov 24 2022, 11:38 AM. 
Details Summary To generate code compatible to streaming mode: 
 
 
Diff Detail 
 Event Timelinehassnaa-arm added a child revision: D138683: [AArch64][SME]: Add streaming-compatible testing files(subvector.ll, permute-rev.ll, permute-zip-uzp-trn.ll, vector-shuffle.ll).Nov 25 2022, 3:52 AM hassnaa-arm added a parent revision: D138670: [AArch64][SME]: Generate streaming-compatible code for fp compares.. 
 This revision is now accepted and ready to land.Nov 28 2022, 8:46 AM 
 hassnaa-arm marked 3 inline comments as done and an inline comment as not done.Comment Actions code format This revision was landed with ongoing or failed builds.Nov 29 2022, 4:24 AM Closed by commit rG9c7286f938ea: [AArch64][SME]: Generate streaming-compatible code for bit counting/select (authored by Hassnaa Hamdi <hassnaa.hamdi@arm.com>).  ·  Explain Why This revision was automatically updated to reflect the committed changes. mgabka added inline comments. 
 
 
 
 
 
Revision Contents 
 
 
 
Diff 477833 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
 
 llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bit-counting.ll
 llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitselect.ll
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Odd indentation, have you used clang-format?