summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKalle Raiskila <kalle.raiskila@nokia.com>2010-10-07 16:32:42 +0000
committerKalle Raiskila <kalle.raiskila@nokia.com>2010-10-07 16:32:42 +0000
commitac1ffa27b6dff6a76536843609dd21a318d2355a (patch)
tree17bc388be978d1a780ee7d2622b5cd45badfee88
parent149f659af39d08e71e78e91ab91f1957291de248 (diff)
downloadbcm5719-llvm-ac1ffa27b6dff6a76536843609dd21a318d2355a.tar.gz
bcm5719-llvm-ac1ffa27b6dff6a76536843609dd21a318d2355a.zip
Add the missing cases to the type->registerclass conversion function.
llvm-svn: 115921
-rw-r--r--llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp b/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
index d389842b785..38a13d1874c 100644
--- a/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
+++ b/llvm/lib/Target/CellSPU/SPUISelDAGToDAG.cpp
@@ -581,13 +581,27 @@ CurDAG->getMachineNode(COPY_TO_REGCLASS,..., ) function call
*/
SDValue SPUDAGToDAGISel::getRC( MVT VT ) {
switch( VT.SimpleTy ) {
+ case MVT::i8:
+ return CurDAG->getTargetConstant(SPU::R8CRegClass.getID(), MVT::i32);
+ break;
+ case MVT::i16:
+ return CurDAG->getTargetConstant(SPU::R16CRegClass.getID(), MVT::i32);
+ break;
case MVT::i32:
return CurDAG->getTargetConstant(SPU::R32CRegClass.getID(), MVT::i32);
break;
+ case MVT::f32:
+ return CurDAG->getTargetConstant(SPU::R32FPRegClass.getID(), MVT::i32);
+ break;
case MVT::i64:
return CurDAG->getTargetConstant(SPU::R64CRegClass.getID(), MVT::i32);
break;
+ case MVT::v16i8:
+ case MVT::v8i16:
+ case MVT::v4i32:
+ case MVT::v4f32:
case MVT::v2i64:
+ case MVT::v2f64:
return CurDAG->getTargetConstant(SPU::VECREGRegClass.getID(), MVT::i32);
break;
default:
OpenPOWER on IntegriCloud