summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/arch/arm/memcmp16_arm.S19
1 files changed, 3 insertions, 16 deletions
diff --git a/runtime/arch/arm/memcmp16_arm.S b/runtime/arch/arm/memcmp16_arm.S
index b623a2a2cb..0195b05b27 100644
--- a/runtime/arch/arm/memcmp16_arm.S
+++ b/runtime/arch/arm/memcmp16_arm.S
@@ -150,11 +150,7 @@ ARM_ENTRY __memcmp16
bne 8f
/* restore registers and return */
mov r0, #0
- pop {r4, lr}
- .cfi_restore r4
- .cfi_restore lr
- .cfi_adjust_cfa_offset -8
- bx lr
+ pop {r4, pc}
2: /* the last 2 words are different, restart them */
ldrh r0, [r3, #-4]
@@ -164,11 +160,7 @@ ARM_ENTRY __memcmp16
ldrheq ip, [r1, #-2]
subseq r0, r0, ip
/* restore registers and return */
- pop {r4, lr}
- .cfi_restore r4
- .cfi_restore lr
- .cfi_adjust_cfa_offset -8
- bx lr
+ pop {r4, pc}
/* process the last few words */
8: ldrh r0, [r3], #2
@@ -179,12 +171,7 @@ ARM_ENTRY __memcmp16
bne 8b
9: /* restore registers and return */
- pop {r4, lr}
- .cfi_restore r4
- .cfi_restore lr
- .cfi_adjust_cfa_offset -8
- bx lr
-
+ pop {r4, pc}
5: /*************** non-congruent case ***************/