Re: Multiply and Accumulate
- From: Rabatscher Michael <m.rabatscher@xxxxxxxxxxxxxxx>
- Date: Tue, 25 Mar 2008 17:31:02 +0100
David schrieb:
I am working on some filter calculations which can be quite lengthy andYes they do. Take a look at the MMX (for fixed point calculations) and
wondered if anyone knew if the Intel Pentium has a "MultiplyAndAccumlate"
instruction as found in DSP chips.
AFAIK the SSEx for the floating point calculations:
If you calculate on words or integers then have a look at
the movq
and the pmaddwd (and others).
P.S.: You can already achieve a boost if you vectorize your
loop manually (e.g.:
i := 0;
repeat
inc(Result, A[i]*B[j+1]);
inc(Result, A[i+1]*B[j+1]);
...
inc(i, amount);
until yourCondition;
// don't forget here the last few operations which did not fit into
// the vectorization loop
// it's even faster if you only use pointer arithmetic!
.
- References:
- Multiply and Accumulate
- From: David
- Multiply and Accumulate
- Prev by Date: Multiply and Accumulate
- Next by Date: Re: Multiply and Accumulate
- Previous by thread: Multiply and Accumulate
- Next by thread: Re: Multiply and Accumulate
- Index(es):
Relevant Pages
|