Paweł Bylica
10 years ago
9 changed files with 57 additions and 74 deletions
@ -0,0 +1,38 @@ |
|||||
|
#pragma once |
||||
|
|
||||
|
#include <evmjit/libevmjit/Common.h> |
||||
|
|
||||
|
namespace dev |
||||
|
{ |
||||
|
namespace eth |
||||
|
{ |
||||
|
|
||||
|
inline u256 llvm2eth(jit::i256 _i) |
||||
|
{ |
||||
|
u256 u = 0; |
||||
|
u |= _i.d; |
||||
|
u <<= 64; |
||||
|
u |= _i.c; |
||||
|
u <<= 64; |
||||
|
u |= _i.b; |
||||
|
u <<= 64; |
||||
|
u |= _i.a; |
||||
|
return u; |
||||
|
} |
||||
|
|
||||
|
inline jit::i256 eth2llvm(u256 _u) |
||||
|
{ |
||||
|
jit::i256 i; |
||||
|
u256 mask = 0xFFFFFFFFFFFFFFFF; |
||||
|
i.a = static_cast<uint64_t>(_u & mask); |
||||
|
_u >>= 64; |
||||
|
i.b = static_cast<uint64_t>(_u & mask); |
||||
|
_u >>= 64; |
||||
|
i.c = static_cast<uint64_t>(_u & mask); |
||||
|
_u >>= 64; |
||||
|
i.d = static_cast<uint64_t>(_u & mask); |
||||
|
return i; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
Loading…
Reference in new issue