blob: d71e138d995c76e231ac7bd36ae183f42ad163b6 [file] [log] [blame]
Daniel Boulby318e7a52022-10-21 20:20:52 +01001//===-- divdi3.c - Implement __divdi3 -------------------------------------===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file implements __divdi3 for the compiler_rt library.
10//
11//===----------------------------------------------------------------------===//
Lionel Debieve6bda5472020-01-02 11:09:03 +010012
13#include "int_lib.h"
14
Daniel Boulby318e7a52022-10-21 20:20:52 +010015// Returns: a / b
16
17#define fixint_t di_int
18#define fixuint_t du_int
19#define COMPUTE_UDIV(a, b) __udivmoddi4((a), (b), (du_int *)0)
20#include "int_div_impl.inc"
Lionel Debieve6bda5472020-01-02 11:09:03 +010021
Daniel Boulby318e7a52022-10-21 20:20:52 +010022COMPILER_RT_ABI di_int __divdi3(di_int a, di_int b) { return __divXi3(a, b); }