-1
我正在使用以下代碼使用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