Tidy endianness support (se_t) implementation

Move se_t and se_storage to util/endian.hpp
Use single template instead of two specializations.
Add minor optimization for MSVC.
Remove v128 dependency.
Try to enable intrinsics for unaligned data.
Fix minor bug in u16/u32/u64 specializations.
This commit is contained in:
Nekotekina 2019-09-26 21:57:03 +03:00
parent c7c12941bc
commit bd1a24b894
8 changed files with 308 additions and 344 deletions

View file

@ -229,7 +229,7 @@ void CgBinaryDisasm::TaskFP()
for (u32 i = 0; i < (m_buffer_size - m_offset) / sizeof(u32); i++)
{
// Get BE data
data[i] = be_t<u32>{data[i]}.raw();
data[i] = std::bit_cast<u32, be_t<u32>>(data[i]);
}
enum