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