diff options
author | Jens Arnold <amiconn@rockbox.org> | 2009-07-11 23:43:44 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2009-07-11 23:43:44 +0000 |
commit | 47d4c4739bafcb9864dc8d1c2b44903ad4f75b68 (patch) | |
tree | 7a9f510c72a0df2ddacb0f6ec393658cf676b8d4 /firmware/target/arm/iriver/h10 | |
parent | fa59ed6ae724b3f75c8ba35efcf7ce18f21e3ed2 (diff) |
ARM asm LCD and ATA driver functions: Don't save r12 as it is a scratch reg. Saves a bit of stack and execution time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21795 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/iriver/h10')
-rw-r--r-- | firmware/target/arm/iriver/h10/lcd-as-h10.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/target/arm/iriver/h10/lcd-as-h10.S b/firmware/target/arm/iriver/h10/lcd-as-h10.S index ba6c876d44..e99eee50c9 100644 --- a/firmware/target/arm/iriver/h10/lcd-as-h10.S +++ b/firmware/target/arm/iriver/h10/lcd-as-h10.S @@ -49,7 +49,7 @@ lcd_write_yuv420_lines: @ r0 = yuv_src @ r1 = width @ r2 = stride - stmfd sp!, { r4-r12, lr } @ save non-scratch + stmfd sp!, { r4-r11, lr } @ save non-scratch ldmia r0, { r4, r5, r6 } @ r4 = yuv_src[0] = Y'_p @ r5 = yuv_src[1] = Cb_p @ r6 = yuv_src[2] = Cr_p @@ -232,7 +232,7 @@ lcd_write_yuv420_lines: subs r1, r1, #2 @ subtract block from width bgt 10b @ loop line @ @ - ldmfd sp!, { r4-r12, pc } @ restore registers and return + ldmfd sp!, { r4-r11, pc } @ restore registers and return .ltorg @ dump constant pool .size lcd_write_yuv420_lines, .-lcd_write_yuv420_lines @@ -273,7 +273,7 @@ lcd_write_yuv420_lines_odither: @ r2 = stride @ r3 = x_screen @ [sp] = y_screen - stmfd sp!, { r4-r12, lr } @ save non-scratch + stmfd sp!, { r4-r11, lr } @ save non-scratch ldmia r0, { r4, r5, r6 } @ r4 = yuv_src[0] = Y'_p @ r5 = yuv_src[1] = Cb_p @ r6 = yuv_src[2] = Cr_p @@ -533,6 +533,6 @@ lcd_write_yuv420_lines_odither: subs r1, r1, #2 @ subtract block from width bgt 10b @ loop line @ @ - ldmfd sp!, { r4-r12, pc } @ restore registers and return + ldmfd sp!, { r4-r11, pc } @ restore registers and return .ltorg @ dump constant pool .size lcd_write_yuv420_lines_odither, .-lcd_write_yuv420_lines_odither |