summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-06-27 16:06:28 +0000
committerJens Arnold <amiconn@rockbox.org>2008-06-27 16:06:28 +0000
commit71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1 (patch)
treedc804b6fecc4bd77053286f726cf10aa4a6028e4
parent39aaa2f2b5ef1efe7dc8cefdf11877ab10231f88 (diff)
downloadrockbox-71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1.tar.gz
rockbox-71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1.zip
Small optimisation for mandelbrot on arm targets: Help the compiler allocating registers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17807 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/mandelbrot.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/plugins/mandelbrot.c b/apps/plugins/mandelbrot.c
index 8b045e74de..793fbdf313 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -443,11 +443,11 @@ static inline long muls32_asr26(long a, long b)
443 "mov %[r], %[r], lsr #26 \n" 443 "mov %[r], %[r], lsr #26 \n"
444 "orr %[r], %[r], %[t1], lsl #6 \n" 444 "orr %[r], %[r], %[t1], lsl #6 \n"
445 : /* outputs */ 445 : /* outputs */
446 [r] "=&r"(r), 446 [r] "=&r,&r,&r"(r),
447 [t1]"=&r"(t1) 447 [t1]"=&r,&r,&r"(t1)
448 : /* inputs */ 448 : /* inputs */
449 [a] "r" (a), 449 [a] "%r,%r,%r" (a),
450 [b] "r" (b) 450 [b] "r,0,1" (b)
451 ); 451 );
452 return r; 452 return r;
453} 453}
@@ -615,7 +615,7 @@ void calc_mandelbrot_high_prec(void)
615 y2 = MULS32_ASR26(y, y); 615 y2 = MULS32_ASR26(y, y);
616 616
617 if (x2 + y2 > (4L<<26)) break; 617 if (x2 + y2 > (4L<<26)) break;
618 618
619 y = 2 * MULS32_ASR26(x, y) + b; 619 y = 2 * MULS32_ASR26(x, y) + b;
620 x = x2 - y2 + a; 620 x = x2 - y2 + a;
621 } 621 }