summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/mpeg_misc.h
diff options
context:
space:
mode:
authorChris Chua <someone42@gmail.com>2023-03-19 06:22:08 +1100
committerAidan MacDonald <amachronic@protonmail.com>2023-03-23 13:28:22 -0400
commit86429dbf1eca8ee0e08176997f508647c3abf6bd (patch)
tree4d35e56e338a326d1a04c8d1f620821fa7909678 /apps/plugins/mpegplayer/mpeg_misc.h
parenta64cad847e7d24dc4d01d5ab22f6c8dc42f960ae (diff)
downloadrockbox-86429dbf1eca8ee0e08176997f508647c3abf6bd.tar.gz
rockbox-86429dbf1eca8ee0e08176997f508647c3abf6bd.zip
Using ARM Unified Assembler Language
Change-Id: Iae32a8ba8eff6087330e458fafc912a12fee4509
Diffstat (limited to 'apps/plugins/mpegplayer/mpeg_misc.h')
-rw-r--r--apps/plugins/mpegplayer/mpeg_misc.h22
1 files changed, 12 insertions, 10 deletions
diff --git a/apps/plugins/mpegplayer/mpeg_misc.h b/apps/plugins/mpegplayer/mpeg_misc.h
index e04db0e19d..68ee8cac3c 100644
--- a/apps/plugins/mpegplayer/mpeg_misc.h
+++ b/apps/plugins/mpegplayer/mpeg_misc.h
@@ -53,12 +53,13 @@ enum state_enum
53#define CMP_3_CONST(_a, _b) \ 53#define CMP_3_CONST(_a, _b) \
54 ({ int _x; \ 54 ({ int _x; \
55 asm volatile ( \ 55 asm volatile ( \
56 ".syntax unified \n" \
56 "ldrb %[x], [%[a], #0] \n" \ 57 "ldrb %[x], [%[a], #0] \n" \
57 "eors %[x], %[x], %[b0] \n" \ 58 "eors %[x], %[x], %[b0] \n" \
58 "ldreqb %[x], [%[a], #1] \n" \ 59 "ldrbeq %[x], [%[a], #1] \n" \
59 "eoreqs %[x], %[x], %[b1] \n" \ 60 "eorseq %[x], %[x], %[b1] \n" \
60 "ldreqb %[x], [%[a], #2] \n" \ 61 "ldrbeq %[x], [%[a], #2] \n" \
61 "eoreqs %[x], %[x], %[b2] \n" \ 62 "eorseq %[x], %[x], %[b2] \n" \
62 : [x]"=&r"(_x) \ 63 : [x]"=&r"(_x) \
63 : [a]"r"(_a), \ 64 : [a]"r"(_a), \
64 [b0]"i"(((_b) >> 24) & 0xff), \ 65 [b0]"i"(((_b) >> 24) & 0xff), \
@@ -70,14 +71,15 @@ enum state_enum
70#define CMP_4_CONST(_a, _b) \ 71#define CMP_4_CONST(_a, _b) \
71 ({ int _x; \ 72 ({ int _x; \
72 asm volatile ( \ 73 asm volatile ( \
74 ".syntax unified \n" \
73 "ldrb %[x], [%[a], #0] \n" \ 75 "ldrb %[x], [%[a], #0] \n" \
74 "eors %[x], %[x], %[b0] \n" \ 76 "eors %[x], %[x], %[b0] \n" \
75 "ldreqb %[x], [%[a], #1] \n" \ 77 "ldrbeq %[x], [%[a], #1] \n" \
76 "eoreqs %[x], %[x], %[b1] \n" \ 78 "eorseq %[x], %[x], %[b1] \n" \
77 "ldreqb %[x], [%[a], #2] \n" \ 79 "ldrbeq %[x], [%[a], #2] \n" \
78 "eoreqs %[x], %[x], %[b2] \n" \ 80 "eorseq %[x], %[x], %[b2] \n" \
79 "ldreqb %[x], [%[a], #3] \n" \ 81 "ldrbeq %[x], [%[a], #3] \n" \
80 "eoreqs %[x], %[x], %[b3] \n" \ 82 "eorseq %[x], %[x], %[b3] \n" \
81 : [x]"=&r"(_x) \ 83 : [x]"=&r"(_x) \
82 : [a]"r"(_a), \ 84 : [a]"r"(_a), \
83 [b0]"i"(((_b) >> 24) & 0xff), \ 85 [b0]"i"(((_b) >> 24) & 0xff), \