diff options
author | Thom Johansen <thomj@rockbox.org> | 2005-11-15 16:56:20 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2005-11-15 16:56:20 +0000 |
commit | 391f6af7ab7eb463485dad3c0a3a895243e86694 (patch) | |
tree | c533b0116bf0bfbf4b2409329e45db7d8b9294a7 | |
parent | c2678666756d8875cdb647dd8de9560c7f547fc2 (diff) | |
download | rockbox-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
-rw-r--r-- | firmware/thread.c | 6 |
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 | } |