summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/arch/microblaze/lib/mulsi3.S
diff options
context:
space:
mode:
Diffstat (limited to 'ANDROID_3.4.5/arch/microblaze/lib/mulsi3.S')
-rw-r--r--ANDROID_3.4.5/arch/microblaze/lib/mulsi3.S46
1 files changed, 0 insertions, 46 deletions
diff --git a/ANDROID_3.4.5/arch/microblaze/lib/mulsi3.S b/ANDROID_3.4.5/arch/microblaze/lib/mulsi3.S
deleted file mode 100644
index 90bd7b93..00000000
--- a/ANDROID_3.4.5/arch/microblaze/lib/mulsi3.S
+++ /dev/null
@@ -1,46 +0,0 @@
-#include <linux/linkage.h>
-
-/*
- * Multiply operation for 32 bit integers.
- * Input : Operand1 in Reg r5
- * Operand2 in Reg r6
- * Output: Result [op1 * op2] in Reg r3
- */
- .text
- .globl __mulsi3
- .type __mulsi3, @function
- .ent __mulsi3
-
-__mulsi3:
- .frame r1, 0, r15
- add r3, r0, r0
- beqi r5, result_is_zero /* multiply by zero */
- beqi r6, result_is_zero /* multiply by zero */
- bgeid r5, r5_pos
- xor r4, r5, r6 /* get the sign of the result */
- rsubi r5, r5, 0 /* make r5 positive */
-r5_pos:
- bgei r6, r6_pos
- rsubi r6, r6, 0 /* make r6 positive */
-r6_pos:
- bri l1
-l2:
- add r5, r5, r5
-l1:
- srl r6, r6
- addc r7, r0, r0
- beqi r7, l2
- bneid r6, l2
- add r3, r3, r5
- blti r4, negateresult
- rtsd r15, 8
- nop
-negateresult:
- rtsd r15, 8
- rsub r3, r3, r0
-result_is_zero:
- rtsd r15, 8
- addi r3, r0, 0
-
-.size __mulsi3, . - __mulsi3
-.end __mulsi3