set register class properly for mips16 here
authorReed Kotler <rkotler@mips.com>
Thu, 20 Dec 2012 06:06:35 +0000 (06:06 +0000)
committerReed Kotler <rkotler@mips.com>
Thu, 20 Dec 2012 06:06:35 +0000 (06:06 +0000)
llvm-svn: 170669

llvm/lib/Target/Mips/MipsISelLowering.cpp

index e3abd3e..dd44adb 100644 (file)
@@ -3099,7 +3099,8 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
       const TargetRegisterClass *RC;
 
       if (RegVT == MVT::i32)
-        RC = &Mips::CPURegsRegClass;
+        RC = Subtarget->inMips16Mode()? &Mips::CPU16RegsRegClass :
+                                        &Mips::CPURegsRegClass;
       else if (RegVT == MVT::i64)
         RC = &Mips::CPU64RegsRegClass;
       else if (RegVT == MVT::f32)