[ARM] Fix muldi3.S
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Wed, 8 Mar 2006 17:25:33 +0000 (17:25 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 8 Mar 2006 17:25:33 +0000 (17:25 +0000)
When shifting the low-parts of signed numbers, a logical shift
should be used to avoid sign-extending a bit which isn't a sign
bit.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/lib/muldi3.S

index 72d594184b8a942bedc437453365b2bb8e970d3e..d89c60615794e7a72c4f5614837939ed0735d62d 100644 (file)
@@ -29,8 +29,8 @@ ENTRY(__aeabi_lmul)
 
        mul     xh, yl, xh
        mla     xh, xl, yh, xh
-       mov     ip, xl, asr #16
-       mov     yh, yl, asr #16
+       mov     ip, xl, lsr #16
+       mov     yh, yl, lsr #16
        bic     xl, xl, ip, lsl #16
        bic     yl, yl, yh, lsl #16
        mla     xh, yh, ip, xh