// Skalarprodukt in C berechnen: float skalarprodukt(float x[], float y[]) { return x[0]*y[0] + x[1]*y[1] + x[2]*y[2] + x[3]*y[3]; } // Skalarprodukt in Assembler berechnen: float skalarproduktAssembler(float x[], float y[]) { vector tmp; asm( "movl %1, %%esi;" "movl %2, %%edi;" "movaps (%%esi), %%xmm0;" "mulps (%%edi), %%xmm0;" "movaps %%xmm0, %0;" :"=g"(tmp) /* Ausgabe */ :"r"(x),"r"(y) /* Eingabe */ ); return tmp.f[0] + tmp.f[1] + tmp.f[2] + tmp.f[3]; }