[PATCH] D36992: [AVX512] Don't create SHRUNKBLEND SDNodes for 512-bit vectors.x
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 23 09:11:51 PDT 2017
craig.topper added inline comments.
================
Comment at: lib/Target/X86/X86ISelLowering.cpp:30679
// Look for vselects with LHS/RHS being bitcasted from an operation that
// can be executed on another type. Push the bitcast to the inputs of
----------------
zvi wrote:
> Any chance that due to the added bail-out we will be missing out on this combine?
This combine runs on the very last DAG combine. The one above runs on earlier DAG combine. So I don't think there's an issue. If there was, I think the early out on BitWidth==1 above would be much worse.
================
Comment at: test/CodeGen/X86/pr34139.ll:13
+; CHECK-NEXT: vmovapd %zmm0, %zmm1 {%k1}
+; CHECK-NEXT: vmovapd %zmm1, (%rax)
+ store <16 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, <16 x i8>* undef
----------------
delena wrote:
> Could you, please, explain me how <16 x double> value is stored using one ZMM instruction?
I think its because the IR is using a store to undef as its address. So I think we sort of merged the stores. If i put in a real address we get two stores. I'll try to unreduce the test case a little
https://reviews.llvm.org/D36992
More information about the llvm-commits
mailing list