1 #include <linux/linkage.h>
4 * Multiply operation for 32 bit integers.
5 * Input : Operand1 in Reg r5
7 * Output: Result [op1 * op2] in Reg r3
11 .type __mulsi3, @function
17 beqi r5, result_is_zero /* multiply by zero */
18 beqi r6, result_is_zero /* multiply by zero */
20 xor r4, r5, r6 /* get the sign of the result */
21 rsubi r5, r5, 0 /* make r5 positive */
24 rsubi r6, r6, 0 /* make r6 positive */
45 .size __mulsi3, . - __mulsi3