177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao/* ===-- ucmpdi2.c - Implement __ucmpdi2 -----------------------------------===
277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *
377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *                     The LLVM Compiler Infrastructure
477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *
577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * This file is distributed under the University of Illinois Open Source
677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * License. See LICENSE.TXT for details.
777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *
877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * ===----------------------------------------------------------------------===
977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *
1077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * This file implements __ucmpdi2 for the compiler_rt library.
1177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *
1277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao * ===----------------------------------------------------------------------===
1377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao */
1477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include "int_lib.h"
1677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao/* Returns:  if (a <  b) returns 0
1877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *           if (a == b) returns 1
1977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao *           if (a >  b) returns 2
2077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao */
2177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
2277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaosi_int
2377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao__ucmpdi2(du_int a, du_int b)
2477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
2577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    udwords x;
2677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    x.all = a;
2777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    udwords y;
2877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    y.all = b;
2977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (x.s.high < y.s.high)
3077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 0;
3177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (x.s.high > y.s.high)
3277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 2;
3377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (x.s.low < y.s.low)
3477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 0;
3577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (x.s.low > y.s.low)
3677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 2;
3777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    return 1;
3877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
39