xref: /openbmc/linux/arch/microblaze/lib/cmpdi2.c (revision 55fd7e02)
1 // SPDX-License-Identifier: GPL-2.0
2 #include <linux/export.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 EXPORT_SYMBOL(__cmpdi2);
28