small collection of fixes

This commit is contained in:
p01arst0rm 2021-04-14 20:44:37 +01:00 committed by Ivan
parent a16cc3ac8a
commit c9d2aed286
3 changed files with 12 additions and 25 deletions

View File

@ -450,7 +450,7 @@ void decode_x64_reg_op(const u8* code, x64_op_t& out_op, x64_reg_t& out_reg, usz
}
case 0x7f:
{
if ((repe && !oso) || (!repe && oso)) // MOVDQU/MOVDQA xmm/m, xmm
if (repe != oso) // MOVDQU/MOVDQA xmm/m, xmm
{
out_op = X64OP_STORE;
out_reg = get_modRM_reg_xmm(code, rex);

View File

@ -255,6 +255,8 @@ struct RSXFragmentProgram
data_storage_helper& operator=(const data_storage_helper& other)
{
if (this == &other) return *this;
if (other.data_ptr == other.local_storage.data())
{
local_storage = other.local_storage;
@ -271,12 +273,11 @@ struct RSXFragmentProgram
data_storage_helper& operator=(data_storage_helper&& other)
{
if (this != &other)
{
data_ptr = other.data_ptr;
local_storage = std::move(other.local_storage);
other.data_ptr = nullptr;
}
if (this == &other) return *this;
data_ptr = other.data_ptr;
local_storage = std::move(other.local_storage);
other.data_ptr = nullptr;
return *this;
}

View File

@ -1053,15 +1053,8 @@ namespace stx
ensure(is_same_ptr_test<T, U>(cmp.m_ptr));
shared_type old = cmp;
if (compare_exchange(old, std::move(exch)))
{
return old;
}
else
{
return old;
}
static_cast<void>(compare_exchange(old, std::move(exch)));
return old;
}
// More lightweight than compare_exchange
@ -1114,15 +1107,8 @@ namespace stx
ensure(is_same_ptr_test<T, U>(cmp.m_ptr));
shared_type old = cmp;
if (compare_exchange(old, std::move(exch)))
{
return old;
}
else
{
return old;
}
static_cast<void>(compare_exchange(old, std::move(exch)));
return old;
}
// Supplementary