diff options
| author | Akira Hatanaka <ahatanaka@mips.com> | 2012-06-02 00:04:42 +0000 | 
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@mips.com> | 2012-06-02 00:04:42 +0000 | 
| commit | 019e592f756f1f0816117900f57022d203091166 (patch) | |
| tree | 5be0dd771904d5f1c55634f255d53907f05e7155 /llvm/lib/Target/Mips/MipsISelLowering.cpp | |
| parent | f11571d90d6da102ce000ac77e9e37ee54077f5c (diff) | |
| download | bcm5719-llvm-019e592f756f1f0816117900f57022d203091166.tar.gz bcm5719-llvm-019e592f756f1f0816117900f57022d203091166.zip | |
Set operation actions for load/store nodes in the Mips backend.
llvm-svn: 157866
Diffstat (limited to 'llvm/lib/Target/Mips/MipsISelLowering.cpp')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsISelLowering.cpp | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp index 992ecfc3c6f..8cd602ca64c 100644 --- a/llvm/lib/Target/Mips/MipsISelLowering.cpp +++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp @@ -161,6 +161,8 @@ MipsTargetLowering(MipsTargetMachine &TM)    setOperationAction(ISD::FCOPYSIGN,          MVT::f64,   Custom);    setOperationAction(ISD::MEMBARRIER,         MVT::Other, Custom);    setOperationAction(ISD::ATOMIC_FENCE,       MVT::Other, Custom); +  setOperationAction(ISD::LOAD,               MVT::i32, Custom); +  setOperationAction(ISD::STORE,              MVT::i32, Custom);    if (!TM.Options.NoNaNsFPMath) {      setOperationAction(ISD::FABS,             MVT::f32,   Custom); @@ -175,6 +177,8 @@ MipsTargetLowering(MipsTargetMachine &TM)      setOperationAction(ISD::ConstantPool,       MVT::i64,   Custom);      setOperationAction(ISD::SELECT,             MVT::i64,   Custom);      setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i64,   Custom); +    setOperationAction(ISD::LOAD,               MVT::i64,   Custom); +    setOperationAction(ISD::STORE,              MVT::i64,   Custom);    }    if (!HasMips64) { @@ -277,6 +281,13 @@ MipsTargetLowering(MipsTargetMachine &TM)      setOperationAction(ISD::BSWAP, MVT::i64, Expand);    } +  if (HasMips64) { +    setLoadExtAction(ISD::SEXTLOAD, MVT::i32, Custom); +    setLoadExtAction(ISD::ZEXTLOAD, MVT::i32, Custom); +    setLoadExtAction(ISD::EXTLOAD, MVT::i32, Custom); +    setTruncStoreAction(MVT::i64, MVT::i32, Custom); +  } +    setTargetDAGCombine(ISD::ADDE);    setTargetDAGCombine(ISD::SUBE);    setTargetDAGCombine(ISD::SDIVREM); | 

