#undef silk_SMULWW staticinlineint silk_SMULWW(int a, int b)
{ longlong ac; int c;
ac = __builtin_mips_mult(a, b);
c = __builtin_mips_extr_w(ac, 16);
return c;
}
#undef silk_SMLAWW staticinlineint silk_SMLAWW(int a, int b, int c)
{ longlong ac; int res;
ac = __builtin_mips_mult(b, c);
res = __builtin_mips_extr_w(ac, 16);
res += a;
return res;
}
#elifdefined (__mips_isa_rev) && __mips == 32
#undef silk_SMULWB staticinlineint silk_SMULWB(int a, int b)
{ longlong ac = (longlong)a * (int)(b << 16);
return ac >> 32;
}
/* a32 + (b32 * (opus_int32)((opus_int16)(c32))) >> 16 output have to be 32bit int */ #undef silk_SMLAWB staticinlineint silk_SMLAWB(int a, int b, int c)
{ longlong ac = (longlong)b * (int)(c << 16);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.