microblaze: Add __cmpdi2
Some new kernel configurations require __cmpdi2 function. Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
parent
ed705633d3
commit
eecb20720f
2 changed files with 27 additions and 0 deletions
|
@ -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
arch/microblaze/lib/cmpdi2.c
Normal file
26
arch/microblaze/lib/cmpdi2.c
Normal file
|
@ -0,0 +1,26 @@
|
|||
#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);
|
Loading…
Reference in a new issue