다음 코드를 사용하여 SSE를 사용하여 모든 int 배열 요소를 상수 계수로 나눕니다.SSE 명령에서 오류가 발생했습니다
void sse_div(int *arr,int num_shift,int N) // devide all array elements by 2
{
num_shift=1;
int nb_iters = N/4;
__declspec(align(32))int *a1=arr;
__m128i* l = (__m128i*)a1;
for (int i = 0; i < nb_iters; ++i, ++l)
_mm_store_si128(l, _mm_srai_epi32(*l,num_shift)); //Error line
}
하지만 내가 드릴 수 없습니다
이 문제를 제거하기 위해 다음과 같은 오류를 얻고있다. 아무도이 문제를 해결할 수 있도록 도와주십시오. 도움이 될 것입니다. 사전에
감사
마찬가지로 a1을 선언해도 기본 배열 arr은 32 바이트로 정렬되지 않습니다. 표시된 특정 오류는 입력 배열이 잘못된 포인터 였음을 나타냅니다. –
디버거 사용 방법 익히기 – hirschhornsalz