मैं अपने एआरएम प्रांतस्था A9 पर नियोन vectorization सक्षम करना चाहते हैं, लेकिन मैं संकलन में इस आउटपुट प्राप्त:एआरएम नियोन vectorization विफलता
"vectorized नहीं: प्रासंगिक stmt समर्थित नहीं: D.14140_82 = D.14143_77
void my_mul(float32_t * __restrict data1, float32_t * __restrict data2, float32_t * __restrict out){
for(int i=0; i<SIZE*4; i+=1){
out[i] = data1[i]*data2[i];
}
}
और विकल्पों संकलन में प्रयोग किया है::
-march=armv7-a -mcpu=cortex-a9 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize -mvectorize-with-neon-quad -ftree-vectorizer-verbose=2
* D.14141_81 "
यहाँ मेरी पाश है
मैं आर्म-लिनक्स-gnueabi (v4.6) कंपाइलर का उपयोग कर रहा हूं।
यह ध्यान रखना महत्वपूर्ण है कि समस्या केवल फ्लोट 32 वैक्टर के साथ दिखाई देती है। अगर मैं int32 में स्विच करता हूं, तो वेक्टरेशन किया जाता है। शायद float32 के लिए वेक्टरेशन अभी तक उपलब्ध नहीं है ...
क्या किसी के पास कोई विचार है? क्या मैं cmd लाइन में या मेरे कार्यान्वयन में कुछ भूल जाता हूं?
आपकी मदद के लिए अग्रिम धन्यवाद।
Guix
धन्यवाद, '-फनसाफ-गणित-अनुकूलन' चाल करता है! – user2092113