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)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170669 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsISelLowering.cpp

index e3abd3e1af477c8691a895f7254b191e349d806e..dd44adb044b620accd419df95f439c526445b8de 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)