abcdefgh --> (a+

(a-

(c+d)(c-d)(e+f)(e-f)(g+h)(g-h)
(все восьмибитное)
Результат оптимизации ниже. Лучше пока ничего в голову не приходит.
...
#pragma DATA_ALIGN(8)
double data[DATA_SIZE];
...
for(int i=0;i<DATA_SIZE;i++)
{
double dblVal=_amemd8_const(&data[i]);
int ph=_packh4(_hi(dblVal),_lo(dblVal));
int pl=_packl4(_hi(dblVal),_lo(dblVal));
int a=_add4(ph,pl);
int s=_sub4(ph,pl);
double adde=_mpysu4(a,0x10101010);
double sube=_mpysu4(s,0x01010101);
int hival=_hi(adde)|_hi(sube);
int loval=_lo(adde)|_lo(sube);
_amemd8(&data[i])=_itod(hival,loval);
}
...
PS: давайте делиться своими находками? =)