मैं 2 डी घुमाव के लिए एक SSE कोड लिख रहा हूँ, लेकिन SSE प्रलेखन बहुत विरल है का उपयोग कर के लिए एक हेक्स नाव कन्वर्ट करने के लिए। मैं _mm_dp_ps साथ डॉट उत्पाद की गणना कर रहा हूँ और _mm_extract_ps का उपयोग कर डॉट उत्पाद परिणाम प्राप्त करने के लिए, लेकिन एक हेक्स कि एक नाव का प्रतिनिधित्व करता है _mm_extract_ps वापस आती है और मैं समझ नहीं कैसे एक नियमित रूप से नाव को यह हेक्स नाव कन्वर्ट करने के लिए। मैं __builtin_ia32_vec_ext_v4sf का उपयोग कर सकता हूं जो एक फ्लोट देता है लेकिन मैं दूसरों के कंपाइलर्स के साथ संगतता रखना चाहता हूं।कैसे C/C++ एक नाव _mm_extract_ps SSE जीसीसी instrinc समारोह
_mm_extract_ps (__m128 __X, const int __N)
{
union { int i; float f; } __tmp;
__tmp.f = __builtin_ia32_vec_ext_v4sf ((__v4sf)__X, __N);
return __tmp.i;
}
मुझे किस बिंदु पर याद आ रही है?
एक छोटी सी मदद की सराहना की जाएगी, धन्यवाद।
OpenSUSE 11.2
जीसीसी 4.4.1
सी ++
संकलक विकल्प
-fopenmp -Wall -O3 -msse4.1 मार्च = core2
लिंकर विकल्पों
-lgomp -Wall -O3 -msse4। 1-मार्च = कोर 2
मैंने यह भी सोचा। –
मुझे लगता है कि इंटेल इंटेलिजेंट को उनके दस्तावेज़ीकरण में निर्देश का वर्णन करता है, जो कि त्रुटि हो सकती है या नहीं भी हो सकती है - जीसीसी हेडर दस्तावेज़ों में बस क्या लागू करते हैं। –