diff options
| author | Akira Hatanaka <ahatanaka@mips.com> | 2013-03-30 01:36:35 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@mips.com> | 2013-03-30 01:36:35 +0000 |
| commit | be8612f6f44b4cec3d462d780ce7734cdf3f2a98 (patch) | |
| tree | 0cbda5185d59f679ae7a0cf82c5f16bbb386ccad /llvm/lib/Target/Mips/MipsSEISelLowering.h | |
| parent | b8cb8359ce9156d36b6c3b12906bad0186b6b15d (diff) | |
| download | bcm5719-llvm-be8612f6f44b4cec3d462d780ce7734cdf3f2a98.tar.gz bcm5719-llvm-be8612f6f44b4cec3d462d780ce7734cdf3f2a98.zip | |
[mips] Fix definitions of multiply, multiply-add/sub and divide instructions.
The new instructions have explicit register output operands and use table-gen
patterns instead of C++ code to do instruction selection.
Mips16's instructions are unaffected by this change.
llvm-svn: 178403
Diffstat (limited to 'llvm/lib/Target/Mips/MipsSEISelLowering.h')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsSEISelLowering.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/Mips/MipsSEISelLowering.h b/llvm/lib/Target/Mips/MipsSEISelLowering.h index e1f949f2475..8f9dc90aeda 100644 --- a/llvm/lib/Target/Mips/MipsSEISelLowering.h +++ b/llvm/lib/Target/Mips/MipsSEISelLowering.h @@ -24,6 +24,8 @@ namespace llvm { virtual bool allowsUnalignedMemoryAccesses(EVT VT, bool *Fast) const; + virtual SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const; + virtual MachineBasicBlock * EmitInstrWithCustomInserter(MachineInstr *MI, MachineBasicBlock *MBB) const; @@ -47,6 +49,9 @@ namespace llvm { bool IsPICCall, bool GlobalOrExternal, bool InternalLinkage, CallLoweringInfo &CLI, SDValue Callee, SDValue Chain) const; + SDValue lowerMulDiv(SDValue Op, unsigned NewOpc, bool HasLo, bool HasHi, + SelectionDAG &DAG) const; + MachineBasicBlock *emitBPOSGE32(MachineInstr *MI, MachineBasicBlock *BB) const; }; |

