1362703Sdim//===-- int_mul_impl.inc - Integer multiplication -------------------------===// 2362703Sdim// 3362703Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4362703Sdim// See https://llvm.org/LICENSE.txt for license information. 5362703Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6362703Sdim// 7362703Sdim//===----------------------------------------------------------------------===// 8362703Sdim// 9362703Sdim// Helpers used by __mulsi3, __muldi3. 10362703Sdim// 11362703Sdim//===----------------------------------------------------------------------===// 12362703Sdim 13362703Sdim#if !defined(__riscv_mul) 14362703Sdim .text 15362703Sdim .align 2 16362703Sdim 17362703Sdim .globl __mulxi3 18362703Sdim .type __mulxi3, @function 19362703Sdim__mulxi3: 20362703Sdim mv a2, a0 21362703Sdim mv a0, zero 22362703Sdim.L1: 23362703Sdim andi a3, a1, 1 24362703Sdim beqz a3, .L2 25362703Sdim add a0, a0, a2 26362703Sdim.L2: 27362703Sdim srli a1, a1, 1 28362703Sdim slli a2, a2, 1 29362703Sdim bnez a1, .L1 30362703Sdim ret 31362703Sdim#endif 32