[PATCH] D34343: AVX-512: Lowering Masked Gather intrinsic - fixed a bug

Elena Demikhovsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 19 02:40:12 PDT 2017


delena created this revision.

Masked gather for vector length 2 is lowered incorrectly for element type i32.
The type <2 x i32> was automatically extended to <2 x i64> and we generated VPGATHERQQ instead of VPGATHERQD.
The type <2 x float> is extended to <4 x float>, so there is no bug for this type, but the sequence may be more optimal.

In this patch I'm fixing <2 x i32>bug and optimizing <2 x float> sequence for GATHERs only. The same fix should be done for Scatters as well.


Repository:
  rL LLVM

https://reviews.llvm.org/D34343

Files:
  include/llvm/CodeGen/SelectionDAGNodes.h
  lib/Target/X86/X86ISelDAGToDAG.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  lib/Target/X86/X86InstrAVX512.td
  lib/Target/X86/X86InstrFragmentsSIMD.td
  test/CodeGen/X86/masked_gather_scatter.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34343.103002.patch
Type: text/x-patch
Size: 13910 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170619/f2c4b72a/attachment.bin>


More information about the llvm-commits mailing list