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

Commit df6b106b authored by Thiemo Seufer's avatar Thiemo Seufer Committed by Ralf Baechle
Browse files

[MIPS] Add __ucmpdi2 implementation



Recent GCC SVN versions may generate calls to __ucmpdi2.

Signed-off-by: default avatarThiemo Seufer <ths@networkno.de>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 774583f8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -9,4 +9,4 @@ obj-y += iomap.o
obj-$(CONFIG_PCI)	+= iomap-pci.o

# libgcc-style stuff needed in the kernel
lib-y += ashldi3.o ashrdi3.o lshrdi3.o
lib-y += ashldi3.o ashrdi3.o lshrdi3.o ucmpdi2.o
+19 −0
Original line number Diff line number Diff line
#include <linux/module.h>

#include "libgcc.h"

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

	if ((unsigned int) au.s.high < (unsigned int) bu.s.high)
		return 0;
	else if ((unsigned int) au.s.high > (unsigned int) 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;
}