summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2016-09-06 17:59:40 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2016-09-06 17:59:40 +0000
commit49fa4f28a27e18427c5c37afb39dbb503ea02b13 (patch)
tree748ddc8c1e0e9851cfacb861b4ae25e6594f38c1
parent9d185da3bef8caf015d3dbf4ad79c520af7ce3b1 (diff)
parent52d0fce5958013d8e6fe50919d48efacbfcb3d3e (diff)
Merge "ARM: VIXL32: Support a newer version of VIXL."
-rw-r--r--compiler/utils/arm/jni_macro_assembler_arm_vixl.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc
index 719fe7f3a1..a03dd74657 100644
--- a/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc
+++ b/compiler/utils/arm/jni_macro_assembler_arm_vixl.cc
@@ -73,12 +73,11 @@ void ArmVIXLJNIMacroAssembler::BuildFrame(size_t frame_size,
cfi().RelOffsetForMany(DWARFReg(r0), 0, core_spill_mask, kFramePointerSize);
if (fp_spill_mask != 0) {
uint32_t first = CTZ(fp_spill_mask);
- uint32_t last = first + POPCOUNT(fp_spill_mask) - 1;
// Check that list is contiguous.
DCHECK_EQ(fp_spill_mask >> CTZ(fp_spill_mask), ~0u >> (32 - POPCOUNT(fp_spill_mask)));
- ___ Vpush(SRegisterList(vixl32::SRegister(first), vixl32::SRegister(last)));
+ ___ Vpush(SRegisterList(vixl32::SRegister(first), POPCOUNT(fp_spill_mask)));
cfi().AdjustCFAOffset(POPCOUNT(fp_spill_mask) * kFramePointerSize);
cfi().RelOffsetForMany(DWARFReg(s0), 0, fp_spill_mask, kFramePointerSize);
}
@@ -136,11 +135,10 @@ void ArmVIXLJNIMacroAssembler::RemoveFrame(size_t frame_size,
if (fp_spill_mask != 0) {
uint32_t first = CTZ(fp_spill_mask);
- uint32_t last = first + POPCOUNT(fp_spill_mask) - 1;
// Check that list is contiguous.
DCHECK_EQ(fp_spill_mask >> CTZ(fp_spill_mask), ~0u >> (32 - POPCOUNT(fp_spill_mask)));
- ___ Vpop(SRegisterList(vixl32::SRegister(first), vixl32::SRegister(last)));
+ ___ Vpop(SRegisterList(vixl32::SRegister(first), POPCOUNT(fp_spill_mask)));
cfi().AdjustCFAOffset(-kFramePointerSize * POPCOUNT(fp_spill_mask));
cfi().RestoreMany(DWARFReg(s0), fp_spill_mask);
}