Цитата(kons @ Mar 9 2009, 18:36)

А для того, чтобы написать его и заценить понятливость компилятора, все равно надо знать asm...
C этим не поспоришь!
Еще при этом можно узнать некоторые особенности компилятора, например если заменить строчку
Код
r += s1*d1 + s2*d2 + s3*d3 + s4*d4;
на
Код
r += s1*d1;
r += s2*d2;
r += s3*d3;
r += s4*d4;
то получим в RVCT слегка другой листинг
Код
LDR r12,[r0],#4
LDM r1!,{r7,r8,r10}
MLA r3,r7,r12,r3
LDM r0!,{r4-r6}
MLA r3,r8,r4,r3
MLA r3,r10,r5,r3
LDR r9,[r1],#4
SUBS r2,r2,#4
MLA r3,r9,r6,r3
BNE |L1.8|
тут видно что для RVCT подобные циклы лучше разворачивать на 3 операции ( 6 регистров он может выделить), а не на 4