Fixed MulHi in value.cc for Linux systems
This commit is contained in:
parent
f6b5424a9f
commit
41f451bf8b
|
@ -409,13 +409,15 @@ void Value::MulHi(Value* other, bool is_unsigned) {
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (is_unsigned) {
|
if (is_unsigned) {
|
||||||
constant.i64 = static_cast<uint64_t>(
|
constant.i64 = static_cast<uint64_t>((
|
||||||
static_cast<unsigned __int128>(constant.i64) *
|
static_cast<unsigned __int128>(constant.i64) *
|
||||||
static_cast<unsigned __int128>(other->constant.i64));
|
static_cast<unsigned __int128>(other->constant.i64))
|
||||||
|
>> 64);
|
||||||
} else {
|
} else {
|
||||||
constant.i64 =
|
constant.i64 =
|
||||||
static_cast<uint64_t>(static_cast<__int128>(constant.i64) *
|
static_cast<uint64_t>((static_cast<__int128>(constant.i64) *
|
||||||
static_cast<__int128>(other->constant.i64));
|
static_cast<__int128>(other->constant.i64))
|
||||||
|
>> 64);
|
||||||
}
|
}
|
||||||
#endif // XE_COMPILER_MSVC
|
#endif // XE_COMPILER_MSVC
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue