[PATCH] D61114: [SelectionDAG] Use stack load/store in PromoteIntRes_BITCAST when the input needs to be be split and the output type is a vector.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 24 22:01:06 PDT 2019


craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel, efriedma.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

We had special case handling here, but it uses a scalar any_extend for the
promotion then bitcasts to the final type. This won't split up the input data
into multiple promoted elements like we need.

This patch falls back to doing the conversion through memory.

Fixes PR41594 which I believe was reflected in the bitcast-vector-bool.ll
changes. The changes to vector-half-conversions.ll are fixing a previously
unknown miscompile from this issue.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D61114

Files:
  llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  llvm/test/CodeGen/X86/bitcast-vector-bool.ll
  llvm/test/CodeGen/X86/vector-half-conversions.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61114.196578.patch
Type: text/x-patch
Size: 109185 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190425/3ab22c8d/attachment.bin>


More information about the llvm-commits mailing list