If feature CSSC is available, CTTZ intrinsics are lowered using the CTZ
instruction when using GlobalIsel.
spec:
https://developer.arm.com/documentation/ddi0602/2022-09/Base-Instructions/CTZ--Count-Trailing-Zeros-
Paths
| Differential D139418
[AArch64] GlobalIsel codegen for gpr CTZ ClosedPublic Authored by stuij on Dec 6 2022, 5:32 AM.
Details Summary If feature CSSC is available, CTTZ intrinsics are lowered using the CTZ spec:
Diff Detail
Event Timeline
This revision is now accepted and ready to land.Dec 16 2022, 11:24 AM This revision was landed with ongoing or failed builds.Dec 21 2022, 3:32 AM Closed by commit rG50ddc8cca631: [AArch64] GlobalIsel codegen for gpr CTZ (authored by stuij). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 484520 llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz-zero-undef.mir
llvm/test/CodeGen/AArch64/GlobalISel/legalize-cttz.mir
llvm/test/CodeGen/AArch64/GlobalISel/select-cttz.mir
|
I think the HasCSSC variable should go somewhere around here so that we can avoid moving it around as you add support for the CSSC feature.