mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 21:22:39 -05:00
Using ARM Unified Assembler Language
Change-Id: Iae32a8ba8eff6087330e458fafc912a12fee4509
This commit is contained in:
parent
a64cad847e
commit
86429dbf1e
23 changed files with 139 additions and 127 deletions
|
|
@ -53,12 +53,13 @@ enum state_enum
|
|||
#define CMP_3_CONST(_a, _b) \
|
||||
({ int _x; \
|
||||
asm volatile ( \
|
||||
".syntax unified \n" \
|
||||
"ldrb %[x], [%[a], #0] \n" \
|
||||
"eors %[x], %[x], %[b0] \n" \
|
||||
"ldreqb %[x], [%[a], #1] \n" \
|
||||
"eoreqs %[x], %[x], %[b1] \n" \
|
||||
"ldreqb %[x], [%[a], #2] \n" \
|
||||
"eoreqs %[x], %[x], %[b2] \n" \
|
||||
"ldrbeq %[x], [%[a], #1] \n" \
|
||||
"eorseq %[x], %[x], %[b1] \n" \
|
||||
"ldrbeq %[x], [%[a], #2] \n" \
|
||||
"eorseq %[x], %[x], %[b2] \n" \
|
||||
: [x]"=&r"(_x) \
|
||||
: [a]"r"(_a), \
|
||||
[b0]"i"(((_b) >> 24) & 0xff), \
|
||||
|
|
@ -70,14 +71,15 @@ enum state_enum
|
|||
#define CMP_4_CONST(_a, _b) \
|
||||
({ int _x; \
|
||||
asm volatile ( \
|
||||
".syntax unified \n" \
|
||||
"ldrb %[x], [%[a], #0] \n" \
|
||||
"eors %[x], %[x], %[b0] \n" \
|
||||
"ldreqb %[x], [%[a], #1] \n" \
|
||||
"eoreqs %[x], %[x], %[b1] \n" \
|
||||
"ldreqb %[x], [%[a], #2] \n" \
|
||||
"eoreqs %[x], %[x], %[b2] \n" \
|
||||
"ldreqb %[x], [%[a], #3] \n" \
|
||||
"eoreqs %[x], %[x], %[b3] \n" \
|
||||
"ldrbeq %[x], [%[a], #1] \n" \
|
||||
"eorseq %[x], %[x], %[b1] \n" \
|
||||
"ldrbeq %[x], [%[a], #2] \n" \
|
||||
"eorseq %[x], %[x], %[b2] \n" \
|
||||
"ldrbeq %[x], [%[a], #3] \n" \
|
||||
"eorseq %[x], %[x], %[b3] \n" \
|
||||
: [x]"=&r"(_x) \
|
||||
: [a]"r"(_a), \
|
||||
[b0]"i"(((_b) >> 24) & 0xff), \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue