xref: /linux/arch/microblaze/lib/cmpdi2.c (revision 93df8a1ed6231727c5db94a80b1a6bd5ee67cec3)
1 #include <linux/export.h>
2 
3 #include "libgcc.h"
4 
5 word_type __cmpdi2(long long a, long long b)
6 {
7 	const DWunion au = {
8 		.ll = a
9 	};
10 	const DWunion bu = {
11 		.ll = b
12 	};
13 
14 	if (au.s.high < bu.s.high)
15 		return 0;
16 	else if (au.s.high > bu.s.high)
17 		return 2;
18 
19 	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
20 		return 0;
21 	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
22 		return 2;
23 
24 	return 1;
25 }
26 EXPORT_SYMBOL(__cmpdi2);
27