aboutsummaryrefslogtreecommitdiff
path: root/src/vm_arm.dasc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/vm_arm.dasc21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/vm_arm.dasc b/src/vm_arm.dasc
index 6928e03b..1d4b60f4 100644
--- a/src/vm_arm.dasc
+++ b/src/vm_arm.dasc
@@ -1801,10 +1801,11 @@ static void build_subroutines(BuildCtx *ctx)
1801 | cmp CARG2, #1 1801 | cmp CARG2, #1
1802 | blo ->fff_emptystr // Zero-length string? 1802 | blo ->fff_emptystr // Zero-length string?
1803 | bne ->fff_fallback // Fallback for > 1-char strings. 1803 | bne ->fff_fallback // Fallback for > 1-char strings.
1804 | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.sz)] 1804 | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.b)]
1805 | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.buf)] 1805 | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.e)]
1806 | ldr CARG1, STR:CARG1[1] 1806 | ldr CARG1, STR:CARG1[1]
1807 | cmp RB, CARG3 1807 | add INS, CARG2, CARG3
1808 | cmp RB, INS
1808 | blo ->fff_fallback 1809 | blo ->fff_fallback
1809 |1: // Fill buffer with char. 1810 |1: // Fill buffer with char.
1810 | strb CARG1, [CARG2, CARG4] 1811 | strb CARG1, [CARG2, CARG4]
@@ -1819,11 +1820,12 @@ static void build_subroutines(BuildCtx *ctx)
1819 | blo ->fff_fallback 1820 | blo ->fff_fallback
1820 | checkstr CARG2, ->fff_fallback 1821 | checkstr CARG2, ->fff_fallback
1821 | ldr CARG3, STR:CARG1->len 1822 | ldr CARG3, STR:CARG1->len
1822 | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.sz)] 1823 | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.b)]
1823 | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.buf)] 1824 | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.e)]
1824 | mov CARG4, CARG3 1825 | mov CARG4, CARG3
1825 | add CARG1, STR:CARG1, #sizeof(GCstr) 1826 | add CARG1, STR:CARG1, #sizeof(GCstr)
1826 | cmp RB, CARG3 1827 | add INS, CARG2, CARG3
1828 | cmp RB, INS
1827 | blo ->fff_fallback 1829 | blo ->fff_fallback
1828 |1: // Reverse string copy. 1830 |1: // Reverse string copy.
1829 | ldrb RB, [CARG1], #1 1831 | ldrb RB, [CARG1], #1
@@ -1840,11 +1842,12 @@ static void build_subroutines(BuildCtx *ctx)
1840 | blo ->fff_fallback 1842 | blo ->fff_fallback
1841 | checkstr CARG2, ->fff_fallback 1843 | checkstr CARG2, ->fff_fallback
1842 | ldr CARG3, STR:CARG1->len 1844 | ldr CARG3, STR:CARG1->len
1843 | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.sz)] 1845 | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.b)]
1844 | ldr CARG2, [DISPATCH, #DISPATCH_GL(tmpbuf.buf)] 1846 | ldr RB, [DISPATCH, #DISPATCH_GL(tmpbuf.e)]
1845 | mov CARG4, #0 1847 | mov CARG4, #0
1846 | add CARG1, STR:CARG1, #sizeof(GCstr) 1848 | add CARG1, STR:CARG1, #sizeof(GCstr)
1847 | cmp RB, CARG3 1849 | add INS, CARG2, CARG3
1850 | cmp RB, INS
1848 | blo ->fff_fallback 1851 | blo ->fff_fallback
1849 |1: // ASCII case conversion. 1852 |1: // ASCII case conversion.
1850 | ldrb RB, [CARG1, CARG4] 1853 | ldrb RB, [CARG1, CARG4]