Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
[linux-2.6-microblaze.git] / arch / sparc / lib / cmpdi2.c
1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/module.h>
3
4 #include "libgcc.h"
5
6 word_type __cmpdi2(long long a, long long b)
7 {
8         const DWunion au = {
9                 .ll = a
10         };
11         const DWunion bu = {
12                 .ll = b
13         };
14
15         if (au.s.high < bu.s.high)
16                 return 0;
17         else if (au.s.high > bu.s.high)
18                 return 2;
19
20         if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
21                 return 0;
22         else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
23                 return 2;
24
25         return 1;
26 }
27
28 EXPORT_SYMBOL(__cmpdi2);