xref: /openbmc/linux/arch/microblaze/lib/ucmpdi2.c (revision 615c36f5)
1 #include <linux/module.h>
2 
3 #include "libgcc.h"
4 
5 word_type __ucmpdi2(unsigned long long a, unsigned long long b)
6 {
7 	const DWunion au = {.ll = a};
8 	const DWunion bu = {.ll = b};
9 
10 	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
11 		return 0;
12 	else if ((unsigned int) au.s.high > (unsigned int) bu.s.high)
13 		return 2;
14 	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
15 		return 0;
16 	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
17 		return 2;
18 	return 1;
19 }
20 EXPORT_SYMBOL(__ucmpdi2);
21