diff options
author | Kalle Raiskila <kalle.raiskila@nokia.com> | 2010-10-07 16:32:42 +0000 |
---|---|---|
committer | Kalle Raiskila <kalle.raiskila@nokia.com> | 2010-10-07 16:32:42 +0000 |
commit | ac1ffa27b6dff6a76536843609dd21a318d2355a (patch) | |
tree | 17bc388be978d1a780ee7d2622b5cd45badfee88 | |
parent | 149f659af39d08e71e78e91ab91f1957291de248 (diff) | |
download | bcm5719-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.cpp | 14 |
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: |