[MIPS] Add __ucmpdi2 implementation
Recent GCC SVN versions may generate calls to __ucmpdi2. Signed-off-by: Thiemo Seufer <ths@networkno.de> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
774583f8bc
commit
df6b106bf0
|
@ -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
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
#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;
|
||||
}
|
Loading…
Reference in New Issue