Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eecb2072 authored by Michal Simek's avatar Michal Simek
Browse files

microblaze: Add __cmpdi2



Some new kernel configurations require __cmpdi2 function.

Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent ed705633
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ lib-y += uaccess_old.o

lib-y += ashldi3.o
lib-y += ashrdi3.o
lib-y += cmpdi2.o
lib-y += divsi3.o
lib-y += lshrdi3.o
lib-y += modsi3.o
+26 −0
Original line number Diff line number Diff line
#include <linux/module.h>

#include "libgcc.h"

word_type __cmpdi2(long long a, long long b)
{
	const DWunion au = {
		.ll = a
	};
	const DWunion bu = {
		.ll = b
	};

	if (au.s.high < bu.s.high)
		return 0;
	else if (au.s.high > bu.s.high)
		return 2;

	if ((unsigned int) au.s.low < (unsigned int) bu.s.low)
		return 0;
	else if ((unsigned int) au.s.low > (unsigned int) bu.s.low)
		return 2;

	return 1;
}
EXPORT_SYMBOL(__cmpdi2);