mirror of
https://github.com/corda/corda.git
synced 2025-01-06 05:04:20 +00:00
ARM port work
This commit is contained in:
parent
c1e16482ba
commit
e00fc5d91a
957
src/arm.cpp
957
src/arm.cpp
File diff suppressed because it is too large
Load Diff
@ -780,6 +780,8 @@ class Context {
|
||||
case Divide:
|
||||
if (size == 8) {
|
||||
return local::getThunk(t, divideLongThunk);
|
||||
} else if (size == 4) {
|
||||
return local::getThunk(t, divideIntThunk);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1996,6 +1998,12 @@ divideLong(int64_t b, int64_t a)
|
||||
return a / b;
|
||||
}
|
||||
|
||||
int64_t
|
||||
divideInt(int32_t b, int32_t a)
|
||||
{
|
||||
return a / b;
|
||||
}
|
||||
|
||||
int64_t
|
||||
moduloLong(int64_t b, int64_t a)
|
||||
{
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "unistd.h"
|
||||
#include "pthread.h"
|
||||
#include "signal.h"
|
||||
#include "ucontext.h"
|
||||
#include "sys/ucontext.h"
|
||||
#include "stdint.h"
|
||||
#include "dirent.h"
|
||||
|
||||
|
@ -990,10 +990,7 @@ load(Context* c, unsigned srcSize, int base, int offset, int index,
|
||||
break;
|
||||
|
||||
case 8: {
|
||||
if (srcSize == 4 and dstSize == 8) {
|
||||
load(c, 4, base, offset, NoRegister, 1, 4, dst, false, false);
|
||||
moveRR(c, 4, dst, 8, dst);
|
||||
} else if (srcSize == 8 and dstSize == 8) {
|
||||
if (dstSize == 8) {
|
||||
Assembler::Register dstHigh(dst->high);
|
||||
load(c, 4, base, offset, NoRegister, 1, 4, &dstHigh, false, false);
|
||||
load(c, 4, base, offset + 4, NoRegister, 1, 4, dst, false, false);
|
||||
|
@ -20,6 +20,7 @@ THUNK(divideFloat)
|
||||
THUNK(moduloFloat)
|
||||
THUNK(negateFloat)
|
||||
THUNK(divideLong)
|
||||
THUNK(divideInt)
|
||||
THUNK(moduloLong)
|
||||
THUNK(floatToDouble)
|
||||
THUNK(floatToInt)
|
||||
|
Loading…
Reference in New Issue
Block a user