diff options
author | Jens Arnold <amiconn@rockbox.org> | 2006-08-09 14:17:09 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2006-08-09 14:17:09 +0000 |
commit | f54c34eb0f86a49b13b5c75fac64a68fc4769b10 (patch) | |
tree | 546bae3f1c617e036a85ee6bb05d40b4f9285ee3 /apps/plugins/lib | |
parent | 91022738ee412fda01088fcef44d4eaee946513f (diff) | |
download | rockbox-f54c34eb0f86a49b13b5c75fac64a68fc4769b10.tar.gz rockbox-f54c34eb0f86a49b13b5c75fac64a68fc4769b10.zip |
ARM targets: Shave off one instruction from the multiply-by-75.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10503 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib')
-rw-r--r-- | apps/plugins/lib/gray_core.c | 5 | ||||
-rw-r--r-- | apps/plugins/lib/gray_draw.c | 5 |
2 files changed, 4 insertions, 6 deletions
diff --git a/apps/plugins/lib/gray_core.c b/apps/plugins/lib/gray_core.c index f08189dbc2..e65a7f259e 100644 --- a/apps/plugins/lib/gray_core.c +++ b/apps/plugins/lib/gray_core.c | |||
@@ -690,9 +690,8 @@ void gray_update_rect(int x, int y, int width, int height) | |||
690 | 690 | ||
691 | "ldr r2, [%[bpat], r0, lsl #2] \n" /* r2 = bitpattern[byte]; */ | 691 | "ldr r2, [%[bpat], r0, lsl #2] \n" /* r2 = bitpattern[byte]; */ |
692 | 692 | ||
693 | "add r0, %[rnd], %[rnd], lsl #3 \n" /* multiply by 75 */ | 693 | "add %[rnd], %[rnd], %[rnd], lsl #2 \n" /* multiply by 75 */ |
694 | "add %[rnd], %[rnd], %[rnd], lsl #1 \n" | 694 | "rsb %[rnd], %[rnd], %[rnd], lsl #4 \n" |
695 | "add %[rnd], %[rnd], r0, lsl #3 \n" | ||
696 | "add %[rnd], %[rnd], #74 \n" /* add another 74 */ | 695 | "add %[rnd], %[rnd], #74 \n" /* add another 74 */ |
697 | /* Since the lower bits are not very random: get bits 8..15 (need max. 5) */ | 696 | /* Since the lower bits are not very random: get bits 8..15 (need max. 5) */ |
698 | "and r1, %[rmsk], %[rnd], lsr #8 \n" /* ..and mask out unneeded bits */ | 697 | "and r1, %[rmsk], %[rnd], lsr #8 \n" /* ..and mask out unneeded bits */ |
diff --git a/apps/plugins/lib/gray_draw.c b/apps/plugins/lib/gray_draw.c index 7df3e13c56..9406664ea2 100644 --- a/apps/plugins/lib/gray_draw.c +++ b/apps/plugins/lib/gray_draw.c | |||
@@ -898,9 +898,8 @@ static void _writearray(unsigned char *address, const unsigned char *src, | |||
898 | "ldrb r0, [%[trns], r0] \n" /* idxtable into pattern index */ | 898 | "ldrb r0, [%[trns], r0] \n" /* idxtable into pattern index */ |
899 | "ldr r2, [%[bpat], r0, lsl #2] \n" /* r2 = bitpattern[byte]; */ | 899 | "ldr r2, [%[bpat], r0, lsl #2] \n" /* r2 = bitpattern[byte]; */ |
900 | 900 | ||
901 | "add r0, %[rnd], %[rnd], lsl #3 \n" /* multiply by 75 */ | 901 | "add %[rnd], %[rnd], %[rnd], lsl #2 \n" /* multiply by 75 */ |
902 | "add %[rnd], %[rnd], %[rnd], lsl #1 \n" | 902 | "rsb %[rnd], %[rnd], %[rnd], lsl #4 \n" |
903 | "add %[rnd], %[rnd], r0, lsl #3 \n" | ||
904 | "add %[rnd], %[rnd], #74 \n" /* add another 74 */ | 903 | "add %[rnd], %[rnd], #74 \n" /* add another 74 */ |
905 | /* Since the lower bits are not very random: get bits 8..15 (need max. 5) */ | 904 | /* Since the lower bits are not very random: get bits 8..15 (need max. 5) */ |
906 | "and r1, %[rmsk], %[rnd], lsr #8 \n" /* ..and mask out unneeded bits */ | 905 | "and r1, %[rmsk], %[rnd], lsr #8 \n" /* ..and mask out unneeded bits */ |