mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
[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
2 changed files with 20 additions and 1 deletions
|
@ -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
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;
|
||||
}
|
Loading…
Reference in a new issue