Go to the documentation of this file.
58 static float ff_dot_productf_mips(
const float*
a,
const float*
b,
62 const float* a_end = a + length;
65 "mtc1 $zero, %[sum] \n\t"
66 "blez %[length], ff_dot_productf_end%= \n\t"
67 "ff_dot_productf_madd%=: \n\t"
68 "lwc1 $f2, 0(%[a]) \n\t"
69 "lwc1 $f1, 0(%[b]) \n\t"
70 "addiu %[a], %[a], 4 \n\t"
71 "addiu %[b], %[b], 4 \n\t"
72 "madd.s %[sum], %[sum], $f1, $f2 \n\t"
73 "bne %[a], %[a_end], ff_dot_productf_madd%= \n\t"
74 "ff_dot_productf_end%=: \n\t"
76 : [sum]
"=&f" (sum), [a]
"+r" (a), [
b]
"+r" (
b)
77 : [a_end]
"r"(a_end), [length]
"r" (length)