[PATCH] D54725: [SelectionDAG] Compute known bits and num sign bits for live out vector registers. Use it to add AssertZExt/AssertSExt in the live in basic blocks

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 19 14:13:46 PST 2018


craig.topper created this revision.
craig.topper added reviewers: spatel, efriedma, RKSimon, arsenm.
Herald added a subscriber: wdng.

We already support this for scalars, but it was explicitly disabled for vectors. In the updated test cases this allows us to see the upper bits are zero to use less multiply instructions to emulate a 64 bit multiply.

This should help with this ispc issue that a coworker pointed me to https://github.com/ispc/ispc/issues/1362


https://reviews.llvm.org/D54725

Files:
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  test/CodeGen/X86/vector-mul.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54725.174679.patch
Type: text/x-patch
Size: 6144 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181119/01882b4d/attachment.bin>


More information about the llvm-commits mailing list