diff options
author | Kalle Raiskila <kalle.raiskila@nokia.com> | 2010-11-24 12:59:16 +0000 |
---|---|---|
committer | Kalle Raiskila <kalle.raiskila@nokia.com> | 2010-11-24 12:59:16 +0000 |
commit | e0a1d2b32c5c070c0cdda9f50f9b8698745dc4cf (patch) | |
tree | 6e97cf36b8f1d1d0d04374922877515fb16c526a /llvm/lib/Target/CellSPU/SPUISelLowering.cpp | |
parent | f6d24ae09121ce063a20badbe23b1add3aa3db68 (diff) | |
download | bcm5719-llvm-e0a1d2b32c5c070c0cdda9f50f9b8698745dc4cf.tar.gz bcm5719-llvm-e0a1d2b32c5c070c0cdda9f50f9b8698745dc4cf.zip |
Use i8 as SETCC result type for i1 in SPU.
llvm-svn: 120092
Diffstat (limited to 'llvm/lib/Target/CellSPU/SPUISelLowering.cpp')
-rw-r--r-- | llvm/lib/Target/CellSPU/SPUISelLowering.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUISelLowering.cpp b/llvm/lib/Target/CellSPU/SPUISelLowering.cpp index 0fa511eade3..8d047f14ae9 100644 --- a/llvm/lib/Target/CellSPU/SPUISelLowering.cpp +++ b/llvm/lib/Target/CellSPU/SPUISelLowering.cpp @@ -501,10 +501,20 @@ unsigned SPUTargetLowering::getFunctionAlignment(const Function *) const { //===----------------------------------------------------------------------===// MVT::SimpleValueType SPUTargetLowering::getSetCCResultType(EVT VT) const { - // i16 and i32 are valid SETCC result types - return ((VT == MVT::i8 || VT == MVT::i16 || VT == MVT::i32) ? - VT.getSimpleVT().SimpleTy : - MVT::i32); + // i8, i16 and i32 are valid SETCC result types + MVT::SimpleValueType retval; + + switch(VT.getSimpleVT().SimpleTy){ + case MVT::i1: + case MVT::i8: + retval = MVT::i8; break; + case MVT::i16: + retval = MVT::i16; break; + case MVT::i32: + default: + retval = MVT::i32; + } + return retval; } //===----------------------------------------------------------------------===// |