xref: /llvm-project/compiler-rt/lib/builtins/moddi3.c (revision 11cf6346fd49a54cf1f0a8fbf5dee0dab0f4f217)
10ba22f51SPetr Hosek //===-- moddi3.c - Implement __moddi3 -------------------------------------===//
20ba22f51SPetr Hosek //
30ba22f51SPetr Hosek // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
40ba22f51SPetr Hosek // See https://llvm.org/LICENSE.txt for license information.
50ba22f51SPetr Hosek // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
60ba22f51SPetr Hosek //
70ba22f51SPetr Hosek //===----------------------------------------------------------------------===//
80ba22f51SPetr Hosek //
90ba22f51SPetr Hosek // This file implements __moddi3 for the compiler_rt library.
100ba22f51SPetr Hosek //
110ba22f51SPetr Hosek //===----------------------------------------------------------------------===//
12a6b264b5SAlexey Samsonov 
13a6b264b5SAlexey Samsonov #include "int_lib.h"
14a6b264b5SAlexey Samsonov 
150ba22f51SPetr Hosek // Returns: a % b
16a6b264b5SAlexey Samsonov 
17*11cf6346SAnatoly Trosinenko #define fixint_t di_int
18*11cf6346SAnatoly Trosinenko #define fixuint_t du_int
19*11cf6346SAnatoly Trosinenko #define ASSIGN_UMOD(res, a, b) __udivmoddi4((a), (b), &(res))
20*11cf6346SAnatoly Trosinenko #include "int_div_impl.inc"
21*11cf6346SAnatoly Trosinenko 
__moddi3(di_int a,di_int b)22*11cf6346SAnatoly Trosinenko COMPILER_RT_ABI di_int __moddi3(di_int a, di_int b) { return __modXi3(a, b); }
23