Added backend & sample for Android
[openal-soft/android/lowlatency.git] / android / jni / tremolo / floor1LARM.s
blob5397fb6c3328c1c266386b30466c6a0a86e35689
1 .text
3 .global render_lineARM
5 render_lineARM:
6 @ r0 = n
7 @ r1 = d
8 @ r2 = floor
9 @ r3 = base
10 @ <> = err
11 @ <> = adx
12 @ <> = ady
13 MOV r12,r13
14 STMFD r13!,{r4-r6,r11,r14}
15 LDMFD r12,{r11,r12,r14} @ r11 = err
16 @ r12 = adx
17 @ r14 = ady
18 rl_loop:
19 LDR r4, [r1] @ r4 = *d
20 LDR r5, [r2], r3,LSL #2 @ r5 = *floor r2 = floor+base
21 SUBS r11,r11,r14 @ err -= ady
22 MOV r4, r4, ASR #6
23 MUL r5, r4, r5 @ r5 = MULT31_SHIFT15
24 ADDLT r11,r11,r12 @ if (err < 0) err+=adx
25 ADDLT r2, r2, #4 @ floor+=1
26 SUBS r0, r0, #1
27 STR r5, [r1], #4
28 BGT rl_loop
30 LDMFD r13!,{r4-r6,r11,PC}