umoddi3.c revision 2d1fdb26e458c4ddc04155c1d421bced3ba90cd0
18bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)/* ===-- umoddi3.c - Implement __umoddi3 -----------------------------------===
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *                    The LLVM Compiler Infrastructure
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
58bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) * This file is dual licensed under the MIT and the University of Illinois Open
68bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) * Source Licenses. See LICENSE.TXT for details.
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * ===----------------------------------------------------------------------===
98bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) *
108bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) * This file implements __umoddi3 for the compiler_rt library.
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) *
12d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) * ===----------------------------------------------------------------------===
13d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) */
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "int_lib.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Returns: a % b */
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
198bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)COMPILER_RT_ABI du_int
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)__umoddi3(du_int a, du_int b)
218bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles){
228bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)    du_int r;
238bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)    __udivmoddi4(a, b, &r);
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    return r;
258bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)}
268bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles)