summaryrefslogtreecommitdiff
path: root/apps
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 /apps
parent39aaa2f2b5ef1efe7dc8cefdf11877ab10231f88 (diff)
downloadrockbox-71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1.zip
rockbox-71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1.tar.gz
rockbox-71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1.tar.bz2
rockbox-71cc98605fd5d6e3fc5645fd59bfddd094c5e2d1.tar.xz
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
Diffstat (limited to 'apps')
-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 8b045e7..793fbdf 100644
--- a/apps/plugins/mandelbrot.c
+++ b/apps/plugins/mandelbrot.c
@@ -443,11 +443,11 @@ static inline long muls32_asr26(long a, long b)
"mov %[r], %[r], lsr #26 \n"
"orr %[r], %[r], %[t1], lsl #6 \n"
: /* outputs */
- [r] "=&r"(r),
- [t1]"=&r"(t1)
+ [r] "=&r,&r,&r"(r),
+ [t1]"=&r,&r,&r"(t1)
: /* inputs */
- [a] "r" (a),
- [b] "r" (b)
+ [a] "%r,%r,%r" (a),
+ [b] "r,0,1" (b)
);
return r;
}
@@ -615,7 +615,7 @@ void calc_mandelbrot_high_prec(void)
y2 = MULS32_ASR26(y, y);
if (x2 + y2 > (4L<<26)) break;
-
+
y = 2 * MULS32_ASR26(x, y) + b;
x = x2 - y2 + a;
}