diff options
Diffstat (limited to 'arch/parisc/lib/ucmpdi2.c')
| -rw-r--r-- | arch/parisc/lib/ucmpdi2.c | 25 | 
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/parisc/lib/ucmpdi2.c b/arch/parisc/lib/ucmpdi2.c new file mode 100644 index 00000000000..149c016f32c --- /dev/null +++ b/arch/parisc/lib/ucmpdi2.c @@ -0,0 +1,25 @@ +#include <linux/module.h> + +union ull_union { +	unsigned long long ull; +	struct { +		unsigned int high; +		unsigned int low; +	} ui; +}; + +int __ucmpdi2(unsigned long long a, unsigned long long b) +{ +	union ull_union au = {.ull = a}; +	union ull_union bu = {.ull = b}; + +	if (au.ui.high < bu.ui.high) +		return 0; +	else if (au.ui.high > bu.ui.high) +		return 2; +	if (au.ui.low < bu.ui.low) +		return 0; +	else if (au.ui.low > bu.ui.low) +		return 2; +	return 1; +}  |