[PATCH] D47718: [Mips] Use UADDO/ADDCARRY instead of ADDC/ADDE

Amaury SECHET via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 4 07:25:55 PDT 2018


deadalnix created this revision.
deadalnix added reviewers: smaksimovic, atanasyan, abeserminji.
Herald added subscribers: arichardson, sdardis.

This changes the DAG to DAG to lower from UADDO/ADDCARRY. It involves some trickery to make sure we do not materialize the carry when it comes from ADDSC.

The spec doesn't mention if ADDWC clear with 20, however, code clearing it was removed as The carry now always comes from a ADDSC and previous version of the code did not seems to worry about bit 20 being set in that case, so my assumption is that this is the proper thing to do.


Repository:
  rL LLVM

https://reviews.llvm.org/D47718

Files:
  lib/Target/Mips/MicroMips32r6InstrInfo.td
  lib/Target/Mips/MicroMipsInstrInfo.td
  lib/Target/Mips/Mips64InstrInfo.td
  lib/Target/Mips/MipsDSPInstrInfo.td
  lib/Target/Mips/MipsInstrInfo.td
  lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  lib/Target/Mips/MipsSEISelDAGToDAG.h
  lib/Target/Mips/MipsSEISelLowering.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D47718.149759.patch
Type: text/x-patch
Size: 10820 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180604/8647d853/attachment.bin>


More information about the llvm-commits mailing list