हाय सब लोग मुझे बहुतमुद्दे
void test()
{
uint16_t n1 = 5;
uint16_t n2 = 2;
__m64 vec1, vec2, res;
vec1 = _mm_set_pi16(n1, n1, n1, n1);
vec2 = _mm_set_pi16(n2, n2, n2, n2);
res = _mm_add_pi16(vec1, vec2);
printf("%u %u %u %u \n", vec1[0], vec1[1], vec1[2], vec1[3]);
printf("%u %u %u %u \n", vec2[0], vec2[1], vec2[2], vec2[3]);
printf("%u %u %u %u \n", res[0], res[1], res[2], res[3]);
}
तरह इंटेल intrinsics उपयोग करने के लिए कोशिश कर रहा हूँ, लेकिन अजीब बात यह है कि मैं इस परिणाम मिल रहे हैं:
327685 327685 131074 131074
131074 131074 458759 458759
458759 458759 327685 327685
मैं उपयोग कर रहा हूँ ग्रहण ग्रहण ... और मैं mmintrin.h, xmmintrin.h, emmintrin.h समेत हूं।
कृपया कोई व्याख्या कर सकते हैं कि इस
आप शायद का उपयोग करना चाहिए '__m128i' SSE नए कोड में वैक्टर, नहीं 64 बिट MMX
निम्नलिखित कोड नमूना देखें। एसएसई 2 समर्थन 32-बिट कोड में भी बेसलाइन के रूप में मानने के लिए बहुत सुरक्षित है, और x86-64 के लिए इसकी गारंटी है। –