[PATCH] D78608: [llvm] [CodeGen] Fixed vector halving bug for masked load

Aart Bik via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 21 21:05:03 PDT 2020


aartbik created this revision.
Herald added subscribers: llvm-commits, dmgreen, hiraditya.
Herald added a project: LLVM.
aartbik added reviewers: craig.topper, mehdi_amini, nicolasvasilache.

Given a VL=14 that is enveloped by a proper VL=16, splitting the
masked load using the enveloping halving VL=8/8 should yields
should eventually yield V=8/5. This fixes various assert failures
in getHalfNumVectorElementsVT() and IncrementMemoryAddress().

Note, I suspect similar fixes will be needed for other masked
operations, but for now I send out a fix for masked load only.

Bugzilla issue 45563
https://bugs.llvm.org/show_bug.cgi?id=45563


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D78608

Files:
  llvm/include/llvm/CodeGen/SelectionDAG.h
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  llvm/test/CodeGen/X86/pr45563-2.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78608.259156.patch
Type: text/x-patch
Size: 5852 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200422/30d3df7f/attachment.bin>


More information about the llvm-commits mailing list