[PATCH] D40055: [SelectionDAG][X86] Explicitly store the scale in the gather/scatter ISD nodes

Elena Demikhovsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 16 21:40:05 PST 2017


delena added inline comments.


================
Comment at: test/CodeGen/X86/masked_gather_scatter.ll:1275
 ; KNL_64-NEXT:    vptestmq %zmm1, %zmm1, %k1
-; KNL_64-NEXT:    vpgatherqq (%rdi,%zmm0,8), %zmm2 {%k1}
+; KNL_64-NEXT:    vpgatherqq (%rdi,%zmm0,4), %zmm2 {%k1}
 ; KNL_64-NEXT:    vmovdqa %xmm2, %xmm0
----------------
gatherQQ is a bug, we should read dwords. And scale 4 does not help.  I've fixed this bug in some cases, probably not in all.
As far as I remember, the community voted against the scale - they said that I'm trying to push X86 specific things into the common nodes.
So I waited until instruction selection in push the scale. And I created X86MaskedGather to cover all other things, mainly <2 x i32> types.


https://reviews.llvm.org/D40055





More information about the llvm-commits mailing list