일부 int 값 ([position % 2 = 0]의 값은 음수이고 [position % 2 = 1]의 값은 양수입니다)이 포함 된 배열이 있습니다.C++ SSE는 레지스터 값을 반전합니다.
I는 레지스터 어레이로부터 4 단계에서 이러한 값을로드 할하지만 그 반전
__m128i v1;
for (int k = 0; k < limit; k += 4) {
v1 = _mm_load_si128((__m128i *) & myArray[position + k]);
}
SSE 코드 위
레지스터에 값을로드 (마이너스 반대로 긍정적 변환) 할 있는 그대로 : v1을 가져 와서 반대의 명령이 있습니까? 원 스텝/커맨드로 처리 할 수 있습니까? 원래 배열에서 직접 반전 된 값을로드 할 수 있습니까?도움이 될 것입니다. 미리 감사드립니다.
... 성능이 문제가되는 경우 나 프로파일 링을 권하고 싶습니다, 모두 1을 설정합니다 -1이 1이고 2가 -2이면 "부정"이라고합니다. 반전은 비트 단위가 아니므로 값의 모든 비트를 반전하므로 -1이 0이됩니다 –