Some of the SPEC tests end up with reduction+(sext/zext(<n x i1>) to <n x im>) pattern, which can be transformed to [-]zext/trunc(ctpop(bitcast <n x i1> to in)) to im.
https://alive2.llvm.org/ce/z/TBZbdZ
https://alive2.llvm.org/ce/z/N6qJGz
Differential D105587
[Instcombine]Transform reduction+(sext/zext(<n x i1>) to <n x im>) to [-]zext/trunc(ctpop(bitcast <n x i1> to in)) to im. ABataev on Jul 7 2021, 1:16 PM. Authored by
Details Some of the SPEC tests end up with reduction+(sext/zext(<n x i1>) to <n x im>) pattern, which can be transformed to [-]zext/trunc(ctpop(bitcast <n x i1> to in)) to im. https://alive2.llvm.org/ce/z/TBZbdZ
Diff Detail
Event TimelineComment Actions While not required, since you already had it, it is really good to make patch description more useful by adding such details there.
Comment Actions Sure.
|
Extension is optional: https://alive2.llvm.org/ce/z/N6qJGz
Please either use m_ZExtOrSExtOrSelf(), or if it's already handled elsewhere add a comment about that.