diff options
| author | 2012-10-22 18:16:22 -0700 | |
|---|---|---|
| committer | 2012-10-22 18:16:22 -0700 | |
| commit | 30a3317577d84feafa859b3e39d1545a995f0b7c (patch) | |
| tree | b102c00c0e2fa5601b0a7021522121d087569964 /src/compiler/codegen/mips | |
| parent | 63af6361337cc9b5c75ae55405b45d770c5a3b08 (diff) | |
More MIPS fixes. Many run-test tests pass.
Run-test tests 001-043 work, including 003-omnibus-opcodes. 044 is
proxy, which is still broken.
Changes made:
- Fixed argument marshalling of FP values for calls to helper functions
in the compiler.
- Fixed CheckCast compilation's mistaken use of rARG0 instead of rRET0.
- Fixed conversion calls to marshall FP arguments properly.
- Created named values for FP args, though they differ in MIPS only.
- Fixed assembly to always use T9 to hold code pointer to jump to.
- Fixed proxy offset values.
Change-Id: If121db322683a307e5a1016210f4f73283aa817c
Diffstat (limited to 'src/compiler/codegen/mips')
| -rw-r--r-- | src/compiler/codegen/mips/FP/MipsFP.cc | 8 | ||||
| -rw-r--r-- | src/compiler/codegen/mips/MipsLIR.h | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/compiler/codegen/mips/FP/MipsFP.cc b/src/compiler/codegen/mips/FP/MipsFP.cc index 437f1ed2d8..990c71f232 100644 --- a/src/compiler/codegen/mips/FP/MipsFP.cc +++ b/src/compiler/codegen/mips/FP/MipsFP.cc @@ -197,11 +197,11 @@ static bool genCmpFP(CompilationUnit *cUnit, Instruction::Code opcode, RegLocati oatFlushAllRegs(cUnit); oatLockCallTemps(cUnit); if (wide) { - loadValueDirectWideFixed(cUnit, rlSrc1, r_FARG0, r_FARG1); - loadValueDirectWideFixed(cUnit, rlSrc2, r_FARG2, r_FARG3); + loadValueDirectWideFixed(cUnit, rlSrc1, rFARG0, rFARG1); + loadValueDirectWideFixed(cUnit, rlSrc2, rFARG2, rFARG3); } else { - loadValueDirectFixed(cUnit, rlSrc1, r_FARG0); - loadValueDirectFixed(cUnit, rlSrc2, r_FARG2); + loadValueDirectFixed(cUnit, rlSrc1, rFARG0); + loadValueDirectFixed(cUnit, rlSrc2, rFARG2); } int rTgt = loadHelper(cUnit, offset); // NOTE: not a safepoint diff --git a/src/compiler/codegen/mips/MipsLIR.h b/src/compiler/codegen/mips/MipsLIR.h index 5077c9fa40..4b7da557b3 100644 --- a/src/compiler/codegen/mips/MipsLIR.h +++ b/src/compiler/codegen/mips/MipsLIR.h @@ -301,6 +301,10 @@ enum NativeRegisterPool { #define rARG1 r_ARG1 #define rARG2 r_ARG2 #define rARG3 r_ARG3 +#define rFARG0 r_FARG0 +#define rFARG1 r_FARG1 +#define rFARG2 r_FARG2 +#define rFARG3 r_FARG3 #define rRET0 r_RESULT0 #define rRET1 r_RESULT1 #define rINVOKE_TGT r_T9 |