Use this function to print:
void print128_num(__m128i var) { uint16_t *val = (uint16_t*) &var;//can also use uint32_t instead of 16_t printf("Numerical: %i %i %i %i %i %i %i %i \n", val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7]); }
Before printing, you divided 128 bits into 16 bits (or 32 bits).
This is a 64-bit separation and printing method if you have 64-bit support:
void print128_num(__m128i var) { int64_t *v64val = (int64_t*) &var; printf("%.16llx %.16llx\n", v64val[1], v64val[0]); }
Replace llx with lld if you want to print int .
source share