Я получаю эту ошибку компиляции:
ошибка: ожидается ‘;’, ‘,’ или ‘)’ до символа ‘&’
в отмеченной строке ниже:
//128 bit vector struct (4 integers)
typedef struct {
int w, x, y, z;
} iVector4;
iVector4 SSEadd(iVector4 &v1, iVector4 &v2) // <-- this line
{
iVector4 vr;
asm
{
MOV EAX v1
MOV EBX v2
//
MOVUPS XMM0, [EAX]
MOVUPS XMM1, [EBX]
//
PADDD XMM0 XMM1
MOVUPS [rv]
}
return rv;
}
Я действительно не вижу, что не так: в чем проблема?
EDIT:
Привет, спасибо за все ответы.
Я использую gcc в качестве компилятора, и я понимаю, что предоставленный мною ассемблерный код также был неверным. Мне было интересно, лучше ли использовать встроенные функции из -msse / -msse2.
Кроме того, каков наиболее эффективный способ загрузки и извлечения значений из вектора, такого как v4si?
Я считаю, что загрузка и извлечение из вектора - это дорогостоящая операция.
Когда вы говорите sse intrinsics, что именно вы имели в виду?
Спасибо за помощь.