diff options
author | Robin Watts <robin@xiph.org> | 2010-05-23 19:56:34 +0000 |
---|---|---|
committer | Robin Watts <robin@xiph.org> | 2010-05-23 19:56:34 +0000 |
commit | e6fbc1237f15dc83853cf3be978688fbb8f9c18c (patch) | |
tree | b8bf74c761768cdeb38d5f3991497c34c3014e31 /floor1LARM.s | |
parent | 803774a8221732bdb2086a77d8ea973c72f945de (diff) | |
download | tremor-e6fbc1237f15dc83853cf3be978688fbb8f9c18c.tar.gz |
Convert ARM assembler files to GNU format.
Add simple test app testtremor.c.
Add temporary test Makefile, Makefile2 that builds testtremor for
a beagleboard.
Testing with Makefile2/testtremor shows that the C version and the version
with ARM code differs by a maximum of 1 in the output due to different
rounding behaviour.
git-svn-id: https://svn.xiph.org/branches/lowmem-branch/Tremolo@17244 0101bb08-14d6-0310-b084-bc0e0c8e3800
Diffstat (limited to 'floor1LARM.s')
-rw-r--r-- | floor1LARM.s | 46 |
1 files changed, 23 insertions, 23 deletions
diff --git a/floor1LARM.s b/floor1LARM.s index d7ead1d..21163ae 100644 --- a/floor1LARM.s +++ b/floor1LARM.s @@ -1,35 +1,35 @@ -; Tremolo library -; Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd +@ Tremolo library +@ Copyright (C) 2009 Robin Watts for Pinknoise Productions Ltd - AREA |.text|, CODE, READONLY + .text - EXPORT render_line_arm_low + .global render_line_arm_low -render_line_arm_low - ; r0 = n - ; r1 = d - ; r2 = floor - ; r3 = base - ; <> = err - ; <> = adx - ; <> = ady +render_line_arm_low: + @ r0 = n + @ r1 = d + @ r2 = floor + @ r3 = base + @ <> = err + @ <> = adx + @ <> = ady MOV r12,r13 STMFD r13!,{r4-r6,r11,r14} - LDMFD r12,{r11,r12,r14} ; r11 = err - ; r12 = adx - ; r14 = ady -rl_loop - LDR r4, [r1] ; r4 = *d - LDR r5, [r2], r3,LSL #2 ; r5 = *floor r2 = floor+base - SUBS r11,r11,r14 ; err -= ady + LDMFD r12,{r11,r12,r14} @ r11 = err + @ r12 = adx + @ r14 = ady +rl_loop: + LDR r4, [r1] @ r4 = *d + LDR r5, [r2], r3,LSL #2 @ r5 = *floor r2 = floor+base + SUBS r11,r11,r14 @ err -= ady MOV r4, r4, ASR #6 - MUL r5, r4, r5 ; r5 = MULT31_SHIFT15 - ADDLT r11,r11,r12 ; if (err < 0) err+=adx - ADDLT r2, r2, #4 ; floor+=1 + MUL r5, r4, r5 @ r5 = MULT31_SHIFT15 + ADDLT r11,r11,r12 @ if (err < 0) err+=adx + ADDLT r2, r2, #4 @ floor+=1 SUBS r0, r0, #1 STR r5, [r1], #4 BGT rl_loop LDMFD r13!,{r4-r6,r11,PC} - END + @ END |