summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/mips
diff options
context:
space:
mode:
author jeffhao <jeffhao@google.com> 2012-08-24 17:56:54 -0700
committer jeffhao <jeffhao@google.com> 2012-08-27 11:33:05 -0700
commit7fbee0731b14b5bf392a4254f5cd84685ab517da (patch)
treeb24cf6d9eed7935e3b26d63cf2292fd8c008005b /src/compiler/codegen/mips
parentf3a26411e0e8b56b64d184d3e946e72f9c31e4c7 (diff)
Preliminary changes to allow mips target to build.
It compiles, but it doesn't work yet. Change-Id: I2973a03bd956d8d398b9cfd1047e66fbf3ff439c
Diffstat (limited to 'src/compiler/codegen/mips')
-rw-r--r--src/compiler/codegen/mips/MipsLIR.h2
-rw-r--r--src/compiler/codegen/mips/MipsRallocUtil.cc5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/compiler/codegen/mips/MipsLIR.h b/src/compiler/codegen/mips/MipsLIR.h
index 4850205174..5852b31c56 100644
--- a/src/compiler/codegen/mips/MipsLIR.h
+++ b/src/compiler/codegen/mips/MipsLIR.h
@@ -148,7 +148,7 @@ namespace art {
#define LOC_C_RETURN {kLocPhysReg, 0, 0, 0, 0, 0, 0, 0, 1, r_V0, INVALID_REG, \
INVALID_SREG, INVALID_SREG}
#define LOC_C_RETURN_FLOAT LOC_C_RETURN
-#define LOC_C_RETURN_ALT {kLocPhysReg, 0, 0, 0, 0, 0, 0, 0, 1, r_F0, \
+#define LOC_C_RETURN_ALT {kLocPhysReg, 0, 0, 0, 0, 0, 0, 0, 1, r_V1, \
INVALID_REG, INVALID_SREG, INVALID_SREG}
#define LOC_C_RETURN_WIDE {kLocPhysReg, 1, 0, 0, 0, 0, 0, 0, 1, r_RESULT0, \
r_RESULT1, INVALID_SREG, INVALID_SREG}
diff --git a/src/compiler/codegen/mips/MipsRallocUtil.cc b/src/compiler/codegen/mips/MipsRallocUtil.cc
index ded59f0a77..43fcc071d9 100644
--- a/src/compiler/codegen/mips/MipsRallocUtil.cc
+++ b/src/compiler/codegen/mips/MipsRallocUtil.cc
@@ -149,8 +149,9 @@ extern RegLocation oatGetReturnWideAlt(CompilationUnit* cUnit)
extern RegLocation oatGetReturnAlt(CompilationUnit* cUnit)
{
- UNIMPLEMENTED(FATAL);
- RegLocation res = LOC_C_RETURN;
+ RegLocation res = LOC_C_RETURN_ALT;
+ oatClobber(cUnit, res.lowReg);
+ oatMarkInUse(cUnit, res.lowReg);
return res;
}