summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorThom Johansen <thomj@rockbox.org>2005-11-15 16:56:20 +0000
committerThom Johansen <thomj@rockbox.org>2005-11-15 16:56:20 +0000
commit391f6af7ab7eb463485dad3c0a3a895243e86694 (patch)
treec533b0116bf0bfbf4b2409329e45db7d8b9294a7 /firmware
parentc2678666756d8875cdb647dd8de9560c7f547fc2 (diff)
downloadrockbox-391f6af7ab7eb463485dad3c0a3a895243e86694.tar.gz
rockbox-391f6af7ab7eb463485dad3c0a3a895243e86694.zip
Shave off an instruction by use of conditionals.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7896 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/thread.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/firmware/thread.c b/firmware/thread.c
index 9a2dbd3033..5cd4dbeaf0 100644
--- a/firmware/thread.c
+++ b/firmware/thread.c
@@ -102,10 +102,8 @@ static inline void load_context(const void* addr)
102 "ldr r0, [%0, #44] \n" /* load start pointer */ 102 "ldr r0, [%0, #44] \n" /* load start pointer */
103 "mov r1, #0 \n" 103 "mov r1, #0 \n"
104 "cmp r0, r1 \n" /* check for NULL */ 104 "cmp r0, r1 \n" /* check for NULL */
105 "beq .running \n" /* if it's NULL, we're already running */ 105 "strne r1, [%0, #44] \n" /* if it's NULL, we're already running */
106 "str r1, [%0, #44] \n" 106 "movne pc, r0 \n" /* not already running, so jump to start */
107 "mov pc, r0 \n" /* not already running, so jump to start */
108 ".running: \n"
109 : : "r" (addr) : "r0", "r1" 107 : : "r" (addr) : "r0", "r1"
110 ); 108 );
111} 109}