mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
Add print functions for printing '__m128i' datatypes
This commit is contained in:
parent
452c8afcf3
commit
27c3ed0365
@ -32,6 +32,11 @@ vector<int> StringToBytes(const string& svInput, bool bNullTerminator);
|
||||
vector<int> PatternToBytes(const string& svInput);
|
||||
vector<int> IntToDigits(int value);
|
||||
|
||||
void PrintM128i8(__m128i in);
|
||||
void PrintM128i16(__m128i in);
|
||||
void PrintM128i32(__m128i in);
|
||||
void PrintM128i64(__m128i in);
|
||||
|
||||
string PrintPercentageEscape(const string& svInput);
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -489,6 +489,35 @@ vector<int> IntToDigits(int value)
|
||||
return vDigits;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// For printing __m128i datatypes.
|
||||
void PrintM128i8(__m128i in)
|
||||
{
|
||||
alignas(16) uint8_t v[16];
|
||||
_mm_store_si128(reinterpret_cast<__m128i*>(v), in);
|
||||
printf("v16_u8: %x %x %x %x | %x %x %x %x | %x %x %x %x | %x %x %x %x\n",
|
||||
v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7],
|
||||
v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15]);
|
||||
}
|
||||
void PrintM128i16(__m128i in)
|
||||
{
|
||||
alignas(16) uint16_t v[8];
|
||||
_mm_store_si128(reinterpret_cast<__m128i*>(v), in);
|
||||
printf("v8_u16: %x %x %x %x, %x %x %x %x\n", v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]);
|
||||
}
|
||||
void PrintM128i32(__m128i in)
|
||||
{
|
||||
alignas(16) uint32_t v[4];
|
||||
_mm_store_si128(reinterpret_cast<__m128i*>(v), in);
|
||||
printf("v4_u32: %x %x %x %x\n", v[0], v[1], v[2], v[3]);
|
||||
}
|
||||
void PrintM128i64(__m128i in)
|
||||
{
|
||||
alignas(16) uint64_t v[2]; // uint64_t might give format-string warnings with %llx; it's just long in some ABIs
|
||||
_mm_store_si128(reinterpret_cast<__m128i*>(v), in);
|
||||
printf("v2_u64: %llx %llx\n", v[0], v[1]);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// For escaping the '%' character for *rintf.
|
||||
string PrintPercentageEscape(const string& svInput)
|
||||
|
Loading…
x
Reference in New Issue
Block a user