This is my string which i loaded into a __m256i
static __attribute__((aligned(32))) char data[33] = " Mozilla/5.0 (Windows NT 10.0; ";
__m256i vec_data = _mm256_load_si256((const __m256i *) data);
there are 2 spaces (0x20) at data[0] and data[1] ... i want to use shuffle and delete these spaces ... so i did this :
vec_data = _mm256_shuffle_epi8(vec_data, _mm256_set_epi8(-1,-1,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2));
what i expected is:
Mozilla/5.0 (Windows NT 10.0;
but what is stored into the vec_data
is this:
Mozilla/5.0 (W dows NT 10.0;
whitespaces are delete from the begin of string but what happend to 2 characters in the middle !!!????
Windows
changed to W dows
!!!!!!