34 lines · plain
1//===-- int_mul_impl.inc - Integer multiplication -------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8//9// Helpers used by __mulsi3, __muldi3.10//11//===----------------------------------------------------------------------===//12 13#ifndef __mulxi314#error "__mulxi3 must be defined to use this generic implementation"15#endif16 17 .text18 .align 219 20 .globl __mulxi321 .type __mulxi3, @function22__mulxi3:23 mv a2, a024 mv a0, zero25.L1:26 andi a3, a1, 127 beqz a3, .L228 add a0, a0, a229.L2:30 srli a1, a1, 131 slli a2, a2, 132 bnez a1, .L133 ret34