OSDN Git Service
(root)
/
android-x86
/
dalvik.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
6f2dd71
)
Add scheduling barrier at the end of IT blocks for FP comparisons.
author
Ben Cheng
<bccheng@android.com>
Sat, 12 Feb 2011 01:01:08 +0000
(17:01 -0800)
committer
Ben Cheng
<bccheng@android.com>
Sat, 12 Feb 2011 01:01:08 +0000
(17:01 -0800)
Bug:
3448446
Change-Id: I98e2bbc4886443ba3c27c2963d7540fcee5790bb
vm/compiler/codegen/arm/FP/Thumb2VFP.c
patch
|
blob
|
history
diff --git
a/vm/compiler/codegen/arm/FP/Thumb2VFP.c
b/vm/compiler/codegen/arm/FP/Thumb2VFP.c
index
064183b
..
61698c2
100644
(file)
--- a/
vm/compiler/codegen/arm/FP/Thumb2VFP.c
+++ b/
vm/compiler/codegen/arm/FP/Thumb2VFP.c
@@
-251,11
+251,16
@@
static bool genCmpFP(CompilationUnit *cUnit, MIR *mir, RegLocation rlDest,
}
assert(!FPREG(rlResult.lowReg));
newLIR0(cUnit, kThumb2Fmstat);
+
genIT(cUnit, (defaultResult == -1) ? kArmCondGt : kArmCondMi, "");
newLIR2(cUnit, kThumb2MovImmShift, rlResult.lowReg,
modifiedImmediate(-defaultResult)); // Must not alter ccodes
+ genBarrier(cUnit);
+
genIT(cUnit, kArmCondEq, "");
loadConstant(cUnit, rlResult.lowReg, 0);
+ genBarrier(cUnit);
+
storeValue(cUnit, rlDest, rlResult);
return false;
}