summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU/SPUISelLowering.cpp
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2010-11-24 12:59:16 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2010-11-24 12:59:16 +0000
commite0a1d2b32c5c070c0cdda9f50f9b8698745dc4cf (patch)
tree6e97cf36b8f1d1d0d04374922877515fb16c526a /llvm/lib/Target/CellSPU/SPUISelLowering.cpp
parentf6d24ae09121ce063a20badbe23b1add3aa3db68 (diff)
downloadbcm5719-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.cpp18
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;
}
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud