[PATCH] D37451: [x86] enable storeOfVectorConstantIsCheap() target hook
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 7 11:52:26 PDT 2017
spatel updated this revision to Diff 114224.
spatel added a comment.
Patch updated:
Don't enable vector store of constants unless we can replace more than 2 scalar stores. This avoids the borderline cases and sidesteps the regressions in the earlier rev.
big_nonzero_16_bytes() for x86-64 shows a different merging problem. We can't directly store 64-bit immediates, so we have to materialize the constants in registers and then store as a separate instruction. The test is trying to store four 32-bit imms, so we probably shouldn't have done any merging there?
https://reviews.llvm.org/D37451
Files:
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
test/CodeGen/X86/avx512-regcall-Mask.ll
test/CodeGen/X86/merge-store-constants.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37451.114224.patch
Type: text/x-patch
Size: 6779 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170907/2ae404bb/attachment.bin>
More information about the llvm-commits
mailing list