2
4 개의 정수로 채워진 128 비트 변수가 있습니다. [1,2,3,4]. 나는 교대하고 싶다. 그래서 나는 [2,3,4,0]을 얻을 수있다. 가장 빠른 방법은 무엇입니까?__m128 (Intel Intrinsics)에서 32 비트 오른쪽으로 이동하는 가장 빠른 방법
내 현재 코드 :
__m128 v1;
v1 = (__m128)_mm_srli_si128( _mm_castps_si128(v1) , 4);
이 비트를 이동에 성공,하지만 속도와 캐시 최적화 (가능한 한 일명 적은 변수)에 대한 이동하려합니다. 어쨌든 __m128i에서주고받는 것을 피하기 위해이 코드를 향상시킬 수 있습니까?
감사합니다.
아마도이 방법을 모르지만 현재 방법에는 1 개의 레지스터 만 있으면됩니다. 그러나 int <-> fp 전송 대기 시간에 도달하게됩니다. – Mysticial