diff options
Diffstat (limited to 'llvm/lib/Target/CellSPU')
-rw-r--r-- | llvm/lib/Target/CellSPU/SPUISelLowering.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUISelLowering.cpp b/llvm/lib/Target/CellSPU/SPUISelLowering.cpp index ed6dfe069ef..e2a1b43d1a0 100644 --- a/llvm/lib/Target/CellSPU/SPUISelLowering.cpp +++ b/llvm/lib/Target/CellSPU/SPUISelLowering.cpp @@ -129,13 +129,21 @@ SPUTargetLowering::SPUTargetLowering(SPUTargetMachine &TM) setLoadXAction(ISD::EXTLOAD, MVT::i1, Custom); setLoadXAction(ISD::SEXTLOAD, MVT::i1, Promote); setLoadXAction(ISD::ZEXTLOAD, MVT::i1, Promote); - setStoreXAction(MVT::i1, Custom); + setTruncStoreAction(MVT::i8, MVT::i1, Custom); + setTruncStoreAction(MVT::i16, MVT::i1, Custom); + setTruncStoreAction(MVT::i32, MVT::i1, Custom); + setTruncStoreAction(MVT::i64, MVT::i1, Custom); + setTruncStoreAction(MVT::i128, MVT::i1, Custom); setLoadXAction(ISD::EXTLOAD, MVT::i8, Custom); setLoadXAction(ISD::SEXTLOAD, MVT::i8, Custom); setLoadXAction(ISD::ZEXTLOAD, MVT::i8, Custom); - setStoreXAction(MVT::i8, Custom); - + setTruncStoreAction(MVT::i8 , MVT::i8, Custom); + setTruncStoreAction(MVT::i16 , MVT::i8, Custom); + setTruncStoreAction(MVT::i32 , MVT::i8, Custom); + setTruncStoreAction(MVT::i64 , MVT::i8, Custom); + setTruncStoreAction(MVT::i128, MVT::i8, Custom); + setLoadXAction(ISD::EXTLOAD, MVT::i16, Custom); setLoadXAction(ISD::SEXTLOAD, MVT::i16, Custom); setLoadXAction(ISD::ZEXTLOAD, MVT::i16, Custom); |