[PATCH] D100908: [AArch64][GlobalISel] Legalize narrow type G_CTPOPs

Jon Roelofs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 20 17:44:05 PDT 2021


jroelofs added inline comments.


================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/legalize-ctpop.mir:125
+    ; CHECK: [[CTPOP:%[0-9]+]]:_(<8 x s8>) = G_CTPOP [[BITCAST]](<8 x s8>)
+    ; CHECK: [[INT:%[0-9]+]]:_(s32) = G_INTRINSIC intrinsic(@llvm.aarch64.neon.uaddlv), [[CTPOP]](<8 x s8>)
+    ; CHECK: [[COPY:%[0-9]+]]:_(s32) = COPY [[INT]](s32)
----------------
Can we emit a `COPY` (or an extract?) instead of the `uaddlv` since all but one lane are guaranteed to be zero in the `s8` case?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100908/new/

https://reviews.llvm.org/D100908



More information about the llvm-commits mailing list