दोनों का उपयोग करें मैंने जीसीसी में एसएसई 2 इंट्रिनिक्स और इनलाइन असेंबलर को मिश्रण करने की कोशिश की है। लेकिन अगर मैं xmm0/इनपुट के रूप में एक चर निर्दिष्ट करता हूं तो में मामलों में मुझे एक कंपाइलर त्रुटि मिलती है। उदाहरण:एसएसई 2 इंट्रिनिक्स और जीसीसी इनलाइन असेंबलर
#include <emmintrin.h>
int main() {
__m128i test = _mm_setzero_si128();
asm ("pxor %%xmm0, %%xmm0" : : "xmm0" (test) :);
}
जब जीसीसी संस्करण 4.6.1 के साथ संकलित मैं:
>gcc asm_xmm.c
asm_xmm.c: In function ‘main’:
asm_xmm.c:10:3: error: matching constraint references invalid operand number
asm_xmm.c:7:5: error: matching constraint references invalid operand number
अजीब बात है कि एक ही मामलों में जहां मैं अन्य इनपुट चर राशि में/रजिस्टर तो यह अचानक के रूप में xmm0 के साथ काम करता है इनपुट लेकिन xmm1, आदि नहीं। और एक और मामले में मैं xmm0-xmm4 निर्दिष्ट करने में सक्षम था लेकिन ऊपर नहीं। एक छोटी सी उलझन में/इस बारे में निराश: एस
धन्यवाद :)
आप एक स्टार हैं! धन्यवाद :) –