summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/gray_scroll.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lib/gray_scroll.c')
-rw-r--r--apps/plugins/lib/gray_scroll.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/plugins/lib/gray_scroll.c b/apps/plugins/lib/gray_scroll.c
index f7ace0e47c..341024a67e 100644
--- a/apps/plugins/lib/gray_scroll.c
+++ b/apps/plugins/lib/gray_scroll.c
@@ -294,7 +294,9 @@ void gray_ub_scroll_up(int count)
294 "extu.b r0,r1 \n" /* store data for next round */ 294 "extu.b r0,r1 \n" /* store data for next round */
295 295
296 ".su_shift6: \n" /* shift right by 0..7 bits */ 296 ".su_shift6: \n" /* shift right by 0..7 bits */
297 "shlr2 r0 \n" 297 "shll2 r0 \n"
298 "bra .su_shift0 \n"
299 "shlr8 r0 \n"
298 ".su_shift4: \n" 300 ".su_shift4: \n"
299 "shlr2 r0 \n" 301 "shlr2 r0 \n"
300 ".su_shift2: \n" 302 ".su_shift2: \n"
@@ -378,7 +380,7 @@ void gray_ub_scroll_up(int count)
378 [wide]"r"(_gray_info.width), 380 [wide]"r"(_gray_info.width),
379 [rows]"r"(_gray_info.bheight - shift), 381 [rows]"r"(_gray_info.bheight - shift),
380 [addr]"a"(_gray_info.plane_data + _gray_info.plane_size - blockshift), 382 [addr]"a"(_gray_info.plane_data + _gray_info.plane_size - blockshift),
381 [cnt] "d"(2 * count) 383 [cnt] "d"(count)
382 : /* clobbers */ 384 : /* clobbers */
383 "a0", "a1", "d0", "d1", "d2", "d3", "d4" 385 "a0", "a1", "d0", "d1", "d2", "d3", "d4"
384 ); 386 );
@@ -474,7 +476,9 @@ void gray_ub_scroll_down(int count)
474 "extu.b r0,r0 \n" /* extend unsigned */ 476 "extu.b r0,r0 \n" /* extend unsigned */
475 477
476 ".sd_shift6: \n" /* shift left by 0..7 bits */ 478 ".sd_shift6: \n" /* shift left by 0..7 bits */
477 "shll2 r0 \n" 479 "shll8 r0 \n"
480 "bra .sd_shift0 \n"
481 "shlr2 r0 \n"
478 ".sd_shift4: \n" 482 ".sd_shift4: \n"
479 "shll2 r0 \n" 483 "shll2 r0 \n"
480 ".sd_shift2: \n" 484 ".sd_shift2: \n"
@@ -557,7 +561,7 @@ void gray_ub_scroll_down(int count)
557 [rows]"r"(_gray_info.bheight - shift), 561 [rows]"r"(_gray_info.bheight - shift),
558 [psiz]"r"(_gray_info.plane_size), 562 [psiz]"r"(_gray_info.plane_size),
559 [addr]"a"(_gray_info.plane_data + blockshift), 563 [addr]"a"(_gray_info.plane_data + blockshift),
560 [cnt] "d"(2 * count) 564 [cnt] "d"(count)
561 : /* clobbers */ 565 : /* clobbers */
562 "a0", "a1", "d0", "d1", "d2", "d3", "d4" 566 "a0", "a1", "d0", "d1", "d2", "d3", "d4"
563 ); 567 );