[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:
committed by
Ralf Baechle
parent
774583f8bc
commit
df6b106bf0
@@ -9,4 +9,4 @@ obj-y += iomap.o
|
|||||||
obj-$(CONFIG_PCI) += iomap-pci.o
|
obj-$(CONFIG_PCI) += iomap-pci.o
|
||||||
|
|
||||||
# libgcc-style stuff needed in the kernel
|
# 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
arch/mips/lib/ucmpdi2.c
Normal file
19
arch/mips/lib/ucmpdi2.c
Normal file
@@ -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;
|
||||||
|
}
|
Reference in New Issue
Block a user