Preparation for adding simple Mips64 instructions.
authorAkira Hatanaka <ahatanak@gmail.com>
Sat, 24 Sep 2011 01:34:44 +0000 (01:34 +0000)
committerAkira Hatanaka <ahatanak@gmail.com>
Sat, 24 Sep 2011 01:34:44 +0000 (01:34 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140443 91177308-0d34-0410-b5e6-96231b3b80d8

.gitignore
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsInstrInfo.td

index 5dae4342984fcfce477cc1cff400594e8c1672ee..7677716035d308f66c00469ccca6bd3d0118b955 100644 (file)
 *.pyc
 # vim swap files
 .*.swp
+*.patch
 
 #==============================================================================#
 # Explicit files to ignore (only matches one).
 #==============================================================================#
 .gitusers
+.svn
 autom4te.cache
 cscope.files
 cscope.out
index 0c0b9abdd3f78328f25ca5bbab959ea5ab9f39c3..77650c7ef072e30270e4c9ea26e413ca4b25d34b 100644 (file)
@@ -95,6 +95,9 @@ MipsTargetLowering(MipsTargetMachine &TM)
   addRegisterClass(MVT::i32, Mips::CPURegsRegisterClass);
   addRegisterClass(MVT::f32, Mips::FGR32RegisterClass);
 
+  if (HasMips64)
+    addRegisterClass(MVT::i64, Mips::CPU64RegsRegisterClass);
+
   // When dealing with single precision only, use libcalls
   if (!Subtarget->isSingleFloat()) {
     if (HasMips64)
@@ -2260,6 +2263,8 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
 
       if (RegVT == MVT::i32)
         RC = Mips::CPURegsRegisterClass;
+      else if (RegVT == MVT::i64)
+        RC = Mips::CPU64RegsRegisterClass;
       else if (RegVT == MVT::f32)
         RC = Mips::FGR32RegisterClass;
       else if (RegVT == MVT::f64) {
index 101a7ceb78b0ff84bc8fd7ecc8c5ec38118fc1b9..454b636dd2e8351f5ee1875d4cd6e71c70293eda 100644 (file)
@@ -879,4 +879,5 @@ def : Pat<(MipsDynAlloc addr:$f), (DynAlloc addr:$f)>;
 //===----------------------------------------------------------------------===//
 
 include "MipsInstrFPU.td"
+include "Mips64InstrInfo.td"