[PATCH] D61744: [SDAG] Recursively legalize both vector mulo results

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 9 10:15:32 PDT 2019


nikic created this revision.
nikic added reviewers: RKSimon, spatel, craig.topper, aemerson.
Herald added subscribers: llvm-commits, hiraditya, javed.absar.
Herald added a project: LLVM.

Split out from D61692 <https://reviews.llvm.org/D61692> per @RKSimon's suggestion. Vector op legalization will automatically recursively legalize the returned SDValue, but we need to take care of the other results ourselves. Otherwise it will end up getting legalized only during op legalization, by which point it might be too late (though I'm not aware of any specific cases right now).

There are codegen differences because expansion occurs earlier now and we don't get a DAGCombiner run in between.


Repository:
  rL LLVM

https://reviews.llvm.org/D61744

Files:
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  llvm/test/CodeGen/AArch64/vec_umulo.ll
  llvm/test/CodeGen/X86/mulo-pow2.ll
  llvm/test/CodeGen/X86/vec_smulo.ll
  llvm/test/CodeGen/X86/vec_umulo.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61744.198864.patch
Type: text/x-patch
Size: 33181 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190509/fa3f9b70/attachment.bin>


More information about the llvm-commits mailing list