xref: /linux/lib/ucmpdi2.c (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  */
4 
5 #include <linux/module.h>
6 #include <linux/libgcc.h>
7 
8 word_type notrace __ucmpdi2(unsigned long long a, unsigned long long b)
9 {
10 	const DWunion au = {.ll = a};
11 	const DWunion bu = {.ll = b};
12 
13 	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
14 		return 0;
15 	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
16 		return 2;
17 	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
18 		return 0;
19 	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
20 		return 2;
21 	return 1;
22 }
23 EXPORT_SYMBOL(__ucmpdi2);
24