: 마이크로 소프트 C++ 컴파일러에SSE2 코드 최적화
ddata = _mm_xor_si128(_mm_xor_si128(
_mm_sll_epi32(xdata, 0x7u), _mm_srl_epi32(tdata, 0x19u)), xdata);
유형 __m128i
및 unsigned int
이 (_mm_sll_epi32
명령에 전달하기 때문에이 컴파일되지 않습니다를)는 상호 교환 할 수 없습니다.
왜 이런 이유가 있으며 unsigned int
값을 _mm_sll_epi32
으로 전달해야하는 이유는 무엇입니까?
_m128i
은 다음과 같습니다
typedef union __declspec(intrin_type) _CRT_ALIGN(16) __m128i {
__int8 m128i_i8[16];
__int16 m128i_i16[8];
__int32 m128i_i32[4];
__int64 m128i_i64[2];
unsigned __int8 m128i_u8[16];
unsigned __int16 m128i_u16[8];
unsigned __int32 m128i_u32[4];
unsigned __int64 m128i_u64[2];
} __m128i;