aboutsummaryrefslogtreecommitdiff
path: root/vm/compiler/codegen
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-11-12 09:30:38 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-11-12 09:30:38 -0800
commit6446a30da6ba7a3ff23e7c374a49fb52d38437e6 (patch)
tree3763e5c2431ed8bfbc8ec58fb2f468b9b56bcc01 /vm/compiler/codegen
parentde1aa11481e683c247f5609ce409ae674ee1c1b5 (diff)
parentd726991ba52466cde88e37aba4de2395b62477fa (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.c2
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);