Merge branch 'master' of git://www.denx.de/git/u-boot-dm
[oweals/u-boot.git] / arch / arm / lib / ashrdi3.S
index c74fd6449933f804db83a821394ae074cf6394ce..6e15774c0a89239eb2d027e4f2521b2fbcc81ed0 100644 (file)
@@ -5,6 +5,7 @@
  */
 
 #include <linux/linkage.h>
+#include <asm/assembler.h>
 
 #ifdef __ARMEB__
 #define al r1
 #define ah r1
 #endif
 
-.globl __ashrdi3
-__ashrdi3:
+.pushsection .text.__ashrdi3, "ax"
+ENTRY(__ashrdi3)
 ENTRY(__aeabi_lasr)
 
        subs    r3, r2, #32
        rsb     ip, r2, #32
        movmi   al, al, lsr r2
        movpl   al, ah, asr r3
-       orrmi   al, al, ah, lsl ip
+ ARM(  orrmi   al, al, ah, lsl ip      )
+ THUMB(        lslmi   r3, ah, ip              )
+ THUMB(        orrmi   al, al, r3              )
        mov     ah, ah, asr r2
-       mov     pc, lr
+       ret     lr
+
+ENDPROC(__ashrdi3)
 ENDPROC(__aeabi_lasr)
+.popsection