【C++】高速化手法【SSE】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0968デフォルトの名無しさん
2015/05/20(水) 15:23:09.81ID:Uv5CefPeちっとも速くなりませんでしたが。
__m64 d64, s64, a64, b64;
d64.m64_u64 = *d; d64 = _mm_unpacklo_pi8( d64, _0 );
s64.m64_u64 = *s; s64 = _mm_unpacklo_pi8( s64, _0 );
uint16_t a = (0xFF000000&(*s))>>24; a64 = _mm_set1_pi16( (short)a );
b64 = _mm_subs_pu16( _255, a64 );
d64 = _mm_mullo_pi16( d64, b64 );
s64 = _mm_mullo_pi16( s64, a64 );
d64 = _mm_add_pi16( d64, s64 );
d64 = _mm_srli_pi16( d64, 8 );
d64 = _mm_packs_pu16( d64, _0 );
*d = d64.m64_u32[0];
レス数が950を超えています。1000を超えると書き込みができなくなります。