Removed SELECT_CC custom lowering. This is not needed anymore, the SELECT node
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 13 Aug 2008 07:13:40 +0000 (07:13 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 13 Aug 2008 07:13:40 +0000 (07:13 +0000)
commit739e441311410796d66e6d72426ef0344e0be98f
tree029e452e4cd86b0b3b2b56045def326531c1cf9c
parentd16aba22c9eca0b2576a5fe5507f3c8ab378942e
Removed SELECT_CC custom lowering. This is not needed anymore, the SELECT node
is lowered properly and covers everything LowerSELECT_CC did.
Added method printUnsignedImm in AsmPrinter to print uimm16 operands. This
avoid the ugly instruction by instruction checking in printOperand.
Added a swap instruction present in the allegrex core.
Added two conditional instructions present in the allegrex core : MOVZ and MOVN.
They both allow a more efficient SELECT operation for integers.
Also added SELECT patterns to optimize MOVZ and MOVN usage.
The brcond and setcc patterns were cleaned: redundant and suboptimal patterns
were
removed. The suboptimals were replaced by more efficient ones.
Fixed some instructions that were using immZExt16 instead of immSExt16.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54724 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
lib/Target/Mips/MipsInstrInfo.td
lib/Target/Mips/MipsSubtarget.cpp