//===-- int_mul_impl.inc - Integer multiplication -------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Helpers used by __mulsi3, __muldi3. // //===----------------------------------------------------------------------===// #ifndef __mulxi3 #error "__mulxi3 must be defined to use this generic implementation" #endif .text .align 2 .globl __mulxi3 .type __mulxi3, @function __mulxi3: mv a2, a0 mv a0, zero .L1: andi a3, a1, 1 beqz a3, .L2 add a0, a0, a2 .L2: srli a1, a1, 1 slli a2, a2, 1 bnez a1, .L1 ret