summaryrefslogtreecommitdiff
path: root/lib/arm/bswapsi2.S
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arm/bswapsi2.S')
-rw-r--r--lib/arm/bswapsi2.S15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/arm/bswapsi2.S b/lib/arm/bswapsi2.S
index 309b202c0..7e3ab7f48 100644
--- a/lib/arm/bswapsi2.S
+++ b/lib/arm/bswapsi2.S
@@ -1,4 +1,4 @@
-//===------- bswapsi2 - Implement bswapsi2 ---------------------------------===//
+//===------- bswapsi2 - Implement bswapsi2 --------------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -18,13 +18,12 @@
DEFINE_COMPILERRT_FUNCTION(__bswapsi2)
#if __ARM_ARCH_5TEJ__ || __ARM_ARCH_4T__
// before armv6 does not have "rev" instruction
- mov r1, #255, 24
- mov r2, #255, 16
- and r1, r1, r0, lsr #8
- and r2, r2, r0, lsl #8
- orr r1, r1, r0, lsr #24
- orr r0, r2, r0, lsl #24
- orr r0, r0, r1
+ mov r1, #0xff00
+ and r2, r1, r0, lsr #8
+ and r1, r1, r0
+ orr r2, r2, r0, lsr #24
+ orr r2, r2, r0, lsl #24
+ orr r0, r2, r1, lsl #8
#else
rev r0, r0 // reverse bytes in parameter and put into result register
#endif