【error: `__m128i‘ undeclared (first use in this function】啥原因啊,脑瓜疼

#include <stdio.h>
#include <time.h>
#include <emmintrin.h>
#define SIZE 24
void addArrays(int* arr1, int* arr2, int* arr3, int* arr4, int* result)
{
	int i;
	for(i = 0;i < SIZE;i++)
	{
		result[i] = (arr1[i] + arr2[i] + arr3[i] + arr4[i]) / 4;
	}
}

void addArraysSIMD(int* arr1, int* arr2, int* arr3, int* arr4, int* result)
{
    __m128i* ptr1; 
	ptr1 = (__m128i*)arr1;
	__m128i* ptr2 = (__m128i*)arr2;
	__m128i* ptr3 = (__m128i*)arr3;
	__m128i* ptr4 = (__m128i*)arr4;
	__m128i* ptrResult = (__m128i*)result;

int i;      
	for ( i = 0; i <SIZE / 4; i++) {
		__m128i vec1 = _mm_load_si128(ptr1 + i);
		__m128i vec2 = _mm_load_si128(ptr2 + i);
		__m128i vec3 = _mm_load_si128(ptr3 + i);
		__m128i vec4 = _mm_load_si128(ptr4 + i);

		__m128i sum = _mm_add_epi16(_mm_add_epi16(vec1, vec2), _mm_add_epi16(vec3, vec4));
		__m128i avg = _mm_srli_epi16(sum, 2);

		_mm_store_si128(ptrResult + i, avg);
	}
}
int main() {
	int arr1[SIZE] = { 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10 };
	int arr2[SIZE] = { 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10 };
	int arr3[SIZE] = { 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10 };
	int arr4[SIZE] = { 1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10 };
	int result[SIZE];

	clock_t start, end;
	double cpu_time_used;

	// 测量版本1的执行时间
	start = clock();
	addArrays(arr1, arr2, arr3, arr4, result);
	end = clock();
	cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC;
	printf("版本1的执行时间: %f 秒\n", cpu_time_used);

	// 测量版本2的执行时间
	start = clock();
	addArraysSIMD(arr1, arr2, arr3, arr4, result);
	end = clock();
	cpu_time_used = ((double)(end - start)) / CLOCKS_PER_SEC;
	printf("版本2的执行时间: %f 秒\n", cpu_time_used);
printf("gg");
	return 0;
}

--------------------Configuration: mingw5 - CUI Debug, Builder Type: MinGW--------------------

Checking file dependency...
Compiling C:\Users\123\Desktop\程序\jisuan.c...
[Error] C:\Users\123\Desktop\程序\jisuan.c:16: error: `__m128i' undeclared (first use in this function)
[Error] C:\Users\123\Desktop\程序\jisuan.c:16: error: (Each undeclared identifier is reported only once
[Error] C:\Users\123\Desktop\程序\jisuan.c:16: error: for each function it appears in.)
[Error] C:\Users\123\Desktop\程序\jisuan.c:16: error: `ptr1' undeclared (first use in this function)
[Error] C:\Users\123\Desktop\程序\jisuan.c:17: error: syntax error before ')' token
[Error] C:\Users\123\Desktop\程序\jisuan.c:18: error: `ptr2' undeclared (first use in this function)
[Error] C:\Users\123\Desktop\程序\jisuan.c:18: error: syntax error before ')' token
[Error] C:\Users\123\Desktop\程序\jisuan.c:19: error: `ptr3' undeclared (first use in this function)
[Error] C:\Users\123\Desktop\程序\jisuan.c:19: error: syntax error before ')' token
[Error] C:\Users\123\Desktop\程序\jisuan.c:20: error: `ptr4' undeclared (first use in this function)
[Error] C:\Users\123\Desktop\程序\jisuan.c:20: error: syntax error before ')' token
[Error] C:\Users\123\Desktop\程序\jisuan.c:21: error: `ptrResult' undeclared (first use in this function)
[Error] C:\Users\123\Desktop\程序\jisuan.c:21: error: syntax error before ')' token
[Error] C:\Users\123\Desktop\程序\jisuan.c:25: error: syntax error before "vec1"
[Error] C:\Users\123\Desktop\程序\jisuan.c:33: error: `avg' undeclared (first use in this function)
[Warning] C:\Users\123\Desktop\程序\jisuan.c:61:2: warning: no newline at end of file
[Error] gcc.exe: 5\mingw\include: No such file or directory
[Error] gcc.exe: 5\mingw\include\c++\3.4.5: No such file or directory
[Error] gcc.exe: 5\mingw\lib\gcc\mingw32\3.4.5\include: No such file or directory
[Error] gcc.exe: 5\mingw\bin\: No such file or directory
[Error] gcc.exe: 5\mingw\mingw32\bin\: No such file or directory

Complete Make jisuan: 20 error(s), 1 warning(s)

 这样输出,最后得到这样的输出,兄弟们知道哪里出问题了吗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值