diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-12 09:30:38 -0800 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-11-12 09:30:38 -0800 |
| commit | 6446a30da6ba7a3ff23e7c374a49fb52d38437e6 (patch) | |
| tree | 3763e5c2431ed8bfbc8ec58fb2f468b9b56bcc01 /vm/compiler/codegen | |
| parent | de1aa11481e683c247f5609ce409ae674ee1c1b5 (diff) | |
| parent | d726991ba52466cde88e37aba4de2395b62477fa (diff) | |
Merge change Id726991b
* changes:
Jit stress mode: translate everything we can and self verify.
Diffstat (limited to 'vm/compiler/codegen')
| -rw-r--r-- | vm/compiler/codegen/arm/armv7-a/ArchVariant.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/armv7-a/ArchVariant.c b/vm/compiler/codegen/arm/armv7-a/ArchVariant.c index 02b9b79fc..a2e417502 100644 --- a/vm/compiler/codegen/arm/armv7-a/ArchVariant.c +++ b/vm/compiler/codegen/arm/armv7-a/ArchVariant.c @@ -323,6 +323,7 @@ static bool handleCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, if (isDouble) { rlSrc1 = loadValueWide(cUnit, rlSrc1, kFPReg); rlSrc2 = loadValueWide(cUnit, rlSrc2, kFPReg); + clobberSReg(cUnit, rlDest.sRegLow); rlResult = evalLoc(cUnit, rlDest, kCoreReg, true); loadConstant(cUnit, rlResult.lowReg, defaultResult); newLIR2(cUnit, kThumb2Vcmpd, S2D(rlSrc1.lowReg, r1Src2.highReg), @@ -330,6 +331,7 @@ static bool handleCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest, } else { rlSrc1 = loadValue(cUnit, rlSrc1, kFPReg); rlSrc2 = loadValue(cUnit, rlSrc2, kFPReg); + clobberSReg(cUnit, rlDest.sRegLow); rlResult = evalLoc(cUnit, rlDest, kCoreReg, true); loadConstant(cUnit, rlResult.lowReg, defaultResult); newLIR2(cUnit, kThumb2Vcmps, rlSrc1.lowReg, rlSrc2.lowReg); |
