[PATCH] D138883: [SelectionDAG][PowerPC] Memset reuse vector element for tail store
Ting Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 29 23:59:25 PST 2022
tingwang added inline comments.
================
Comment at: llvm/test/CodeGen/ARM/memset-align.ll:21
; CHECK-NEXT: str r1, [r2]
+; CHECK-NEXT: add.w r2, r0, #15
+; CHECK-NEXT: vst1.32 {d16[0]}, [r2]
----------------
Hello @dmgreen @asavonic. This patch tries to reuse vector element for the tail store in memset by implementing `canCombineStoreAndExtract()` on PPC. This changed introduced test case change on ARM in llvm/test/CodeGen/ARM/memset-align.ll. Could you please help me check if the change looks good or not? Thank you!
Looked into the scenario on ARM, if the i8 fill value of memset is zero, it creates vector for the initial 16B, and constant tail for the remaining bytes, which exactly hit this patch's scenario. For other values, it creates i32 for memset and will not be impacted by this patch.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138883/new/
https://reviews.llvm.org/D138883
More information about the llvm-commits
mailing list