Revert "Fix CAS intrinsic to clear exclusive if values don't match."
Ian is correct. I can still see this bug even with this change.
This reverts commit 3a0831507637028a439712dedaaddd7cd0893995.
Change-Id: I780f2de926f1ff7576adc679c56a6cf491dad127
diff --git a/compiler/dex/quick/arm/int_arm.cc b/compiler/dex/quick/arm/int_arm.cc
index 103dec6..f2ff58e 100644
--- a/compiler/dex/quick/arm/int_arm.cc
+++ b/compiler/dex/quick/arm/int_arm.cc
@@ -549,11 +549,10 @@
OpRegReg(kOpCmp, r_old_value, rl_expected.low_reg);
FreeTemp(r_old_value); // Now unneeded.
RegLocation rl_result = EvalLoc(rl_dest, kCoreReg, true);
- OpIT(kCondEq, "TEE");
+ OpIT(kCondEq, "TE");
NewLIR4(kThumb2Strex, rl_result.low_reg, rl_new_value.low_reg, r_ptr, 0);
FreeTemp(r_ptr); // Now unneeded.
OpRegImm(kOpXor, rl_result.low_reg, 1);
- NewLIR0(kThumb2Clrex);
OpRegReg(kOpXor, rl_result.low_reg, rl_result.low_reg);
StoreValue(rl_dest, rl_result);