diff options
author | Andreas Gampe <agampe@google.com> | 2014-11-06 16:22:29 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-11-06 16:22:30 +0000 |
commit | 3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3 (patch) | |
tree | ff08a90875aae2fc78acc5384b742764787487c3 | |
parent | a710c50023cd343d1cf765069426f678cee19eb7 (diff) | |
parent | 943826e5b05bc5a41603398193a610cb876c15f3 (diff) | |
download | art-3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3.tar.gz art-3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3.tar.bz2 art-3ed86e4e98dfe1b05c9a03aa2aee42c145a018c3.zip |
Merge "ART: Fix warnings in memcmp16 for arm32"
-rw-r--r-- | runtime/arch/arm/memcmp16_arm.S | 45 |
1 files changed, 27 insertions, 18 deletions
diff --git a/runtime/arch/arm/memcmp16_arm.S b/runtime/arch/arm/memcmp16_arm.S index 37621946ef..b623a2a2cb 100644 --- a/runtime/arch/arm/memcmp16_arm.S +++ b/runtime/arch/arm/memcmp16_arm.S @@ -65,7 +65,7 @@ ARM_ENTRY __memcmp16 /* save registers */ -0: stmfd sp!, {r4, lr} +0: push {r4, lr} .cfi_def_cfa_offset 8 .cfi_rel_offset r4, 0 .cfi_rel_offset lr, 4 @@ -79,7 +79,7 @@ ARM_ENTRY __memcmp16 sub r2, r2, #1 subs r0, r0, ip /* restore registers and return */ - ldmnefd sp!, {r4, lr} + popne {r4, lr} bxne lr @@ -110,25 +110,25 @@ ARM_ENTRY __memcmp16 eors r0, r0, ip ldreq r0, [r3], #4 ldreq ip, [r1, #4]! - eoreqs r0, r0, lr + eorseq r0, r0, lr ldreq r0, [r3], #4 ldreq lr, [r1, #4]! - eoreqs r0, r0, ip + eorseq r0, r0, ip ldreq r0, [r3], #4 ldreq ip, [r1, #4]! - eoreqs r0, r0, lr + eorseq r0, r0, lr ldreq r0, [r3], #4 ldreq lr, [r1, #4]! - eoreqs r0, r0, ip + eorseq r0, r0, ip ldreq r0, [r3], #4 ldreq ip, [r1, #4]! - eoreqs r0, r0, lr + eorseq r0, r0, lr ldreq r0, [r3], #4 ldreq lr, [r1, #4]! - eoreqs r0, r0, ip + eorseq r0, r0, ip ldreq r0, [r3], #4 ldreq ip, [r1, #4]! - eoreqs r0, r0, lr + eorseq r0, r0, lr bne 2f subs r2, r2, #16 bhs 0b @@ -150,18 +150,24 @@ ARM_ENTRY __memcmp16 bne 8f /* restore registers and return */ mov r0, #0 - ldmfd sp!, {r4, lr} + pop {r4, lr} + .cfi_restore r4 + .cfi_restore lr + .cfi_adjust_cfa_offset -8 bx lr 2: /* the last 2 words are different, restart them */ ldrh r0, [r3, #-4] ldrh ip, [r1, #-4] subs r0, r0, ip - ldreqh r0, [r3, #-2] - ldreqh ip, [r1, #-2] - subeqs r0, r0, ip + ldrheq r0, [r3, #-2] + ldrheq ip, [r1, #-2] + subseq r0, r0, ip /* restore registers and return */ - ldmfd sp!, {r4, lr} + pop {r4, lr} + .cfi_restore r4 + .cfi_restore lr + .cfi_adjust_cfa_offset -8 bx lr /* process the last few words */ @@ -173,7 +179,10 @@ ARM_ENTRY __memcmp16 bne 8b 9: /* restore registers and return */ - ldmfd sp!, {r4, lr} + pop {r4, lr} + .cfi_restore r4 + .cfi_restore lr + .cfi_adjust_cfa_offset -8 bx lr @@ -196,17 +205,17 @@ ARM_ENTRY __memcmp16 ldreq lr, [r1], #4 ldreq r0, [r3], #4 orreq ip, ip, lr, lsl #16 - eoreqs r0, r0, ip + eorseq r0, r0, ip moveq ip, lr, lsr #16 ldreq lr, [r1], #4 ldreq r0, [r3], #4 orreq ip, ip, lr, lsl #16 - eoreqs r0, r0, ip + eorseq r0, r0, ip moveq ip, lr, lsr #16 ldreq lr, [r1], #4 ldreq r0, [r3], #4 orreq ip, ip, lr, lsl #16 - eoreqs r0, r0, ip + eorseq r0, r0, ip bne 7f subs r2, r2, #8 bhs 6b |