summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s')
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s502
1 files changed, 251 insertions, 251 deletions
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
index 370daf4..b30881a 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV5E/R4R8First_v5.s
@@ -1,252 +1,252 @@
-@/*
-@ ** Copyright 2003-2010, VisualOn, Inc.
-@ **
-@ ** Licensed under the Apache License, Version 2.0 (the "License");
-@ ** you may not use this file except in compliance with the License.
-@ ** You may obtain a copy of the License at
-@ **
-@ ** http://www.apache.org/licenses/LICENSE-2.0
-@ **
-@ ** Unless required by applicable law or agreed to in writing, software
-@ ** distributed under the License is distributed on an "AS IS" BASIS,
-@ ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@ ** See the License for the specific language governing permissions and
-@ ** limitations under the License.
-@ */
-
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-@ File: R4R8First_v5.s
-@
-@ Content: Radix8First and Radix4First function armv5 assemble
-@
-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-
- .section .text
- .global Radix4First
-
-Radix4First:
- stmdb sp!, {r4 - r11, lr}
-
- movs r10, r1
- mov r11, r0
- beq Radix4First_END
-
-Radix4First_LOOP:
- ldrd r0, [r11]
- ldrd r2, [r11, #8]
- ldrd r4, [r11, #16]
- ldrd r6, [r11, #24]
-
- add r8, r0, r2
- add r9, r1, r3
-
- sub r0, r0, r2
- sub r1, r1, r3
-
- add r2, r4, r6
- add r3, r5, r7
-
- sub r4, r4, r6
- sub r5, r5, r7
-
- add r6, r8, r2
- add r7, r9, r3
-
- sub r8, r8, r2
- sub r9, r9, r3
-
- add r2, r0, r5
- sub r3, r1, r4
-
- sub r0, r0, r5
- add r1, r1, r4
-
- strd r6, [r11]
- strd r2, [r11, #8]
- strd r8, [r11, #16]
- strd r0, [r11, #24]
-
- subs r10, r10, #1
- add r11, r11, #32
- bne Radix4First_LOOP
-
-Radix4First_END:
- ldmia sp!, {r4 - r11, pc}
- @ENDP @ |Radix4First|
-
- .section .text
- .global Radix8First
-
-Radix8First:
- stmdb sp!, {r4 - r11, lr}
- sub sp, sp, #0x24
-
- mov r12, r1
- mov r14, r0
- cmp r12, #0
- beq Radix8First_END
-
-Radix8First_LOOP:
- ldrd r0, [r14]
- ldrd r2, [r14, #8]
- ldrd r4, [r14, #16]
- ldrd r6, [r14, #24]
-
- add r8, r0, r2 @ r0 = buf[0] + buf[2]@
- add r9, r1, r3 @ i0 = buf[1] + buf[3]@
-
- sub r0, r0, r2 @ r1 = buf[0] - buf[2]@
- sub r1, r1, r3 @ i1 = buf[1] - buf[3]@
-
- add r2, r4, r6 @ r2 = buf[4] + buf[6]@
- add r3, r5, r7 @ i2 = buf[5] + buf[7]@
-
- sub r4, r4, r6 @ r3 = buf[4] - buf[6]@
- sub r5, r5, r7 @ i3 = buf[5] - buf[7]@
-
- add r6, r8, r2 @ r4 = (r0 + r2) >> 1@
- add r7, r9, r3 @ i4 = (i0 + i2) >> 1@
-
- sub r8, r8, r2 @ r5 = (r0 - r2) >> 1@
- sub r9, r9, r3 @ i5 = (i0 - i2) >> 1@
-
- sub r2, r0, r5 @ r6 = (r1 - i3) >> 1@
- add r3, r1, r4 @ i6 = (i1 + r3) >> 1@
-
- add r0, r0, r5 @ r7 = (r1 + i3) >> 1@
- sub r1, r1, r4 @ i7 = (i1 - r3) >> 1@
-
- mov r6, r6, asr #1 @
- mov r7, r7, asr #1 @
-
- mov r8, r8, asr #1
- mov r9, r9, asr #1
-
- mov r2, r2, asr #1
- mov r3, r3, asr #1
-
- mov r0, r0, asr #1
- mov r1, r1, asr #1
-
- str r6, [sp]
- str r7, [sp, #4]
-
- str r8, [sp, #8]
- str r9, [sp, #12]
-
- str r2, [sp, #16]
- str r3, [sp, #20]
-
- str r0, [sp, #24]
- str r1, [sp, #28]
-
- ldrd r2, [r14, #32]
- ldrd r4, [r14, #40]
- ldrd r6, [r14, #48]
- ldrd r8, [r14, #56]
-
- add r0, r2, r4 @ r0 = buf[ 8] + buf[10]@
- add r1, r3, r5 @ i0 = buf[ 9] + buf[11]@
-
- sub r2, r2, r4 @ r1 = buf[ 8] - buf[10]@
- sub r3, r3, r5 @ i1 = buf[ 9] - buf[11]@
-
- add r4, r6, r8 @ r2 = buf[12] + buf[14]@
- add r5, r7, r9 @ i2 = buf[13] + buf[15]@
-
- sub r6, r6, r8 @ r3 = buf[12] - buf[14]@
- sub r7, r7, r9 @ i3 = buf[13] - buf[15]@
-
- add r8, r0, r4 @ t0 = (r0 + r2)
- add r9, r1, r5 @ t1 = (i0 + i2)
-
- sub r0, r0, r4 @ t2 = (r0 - r2)
- sub r1, r1, r5 @ t3 = (i0 - i2)
-
- mov r8, r8, asr #1
- ldr r4, [sp]
-
- mov r9, r9, asr #1
- ldr r5, [sp, #4]
-
- mov r0, r0, asr #1
- mov r1, r1, asr #1
-
- add r10, r4, r8 @ buf[ 0] = r4 + t0@
- add r11, r5, r9 @ buf[ 1] = i4 + t1@
-
- sub r4, r4, r8 @ buf[ 8] = r4 - t0@
- sub r5, r5, r9 @ buf[ 9] = i4 - t1@
-
- strd r10, [r14]
- strd r4, [r14, #32]
-
- ldr r10, [sp, #8]
- ldr r11, [sp, #12]
-
- add r4, r10, r1 @ buf[ 4] = r5 + t3@
- sub r5, r11, r0 @ buf[ 5] = i5 - t2@
-
- sub r10, r10, r1 @ buf[12] = r5 - t3@
- add r11, r11, r0 @ buf[13] = i5 + t2@
-
- strd r4, [r14, #16]
- strd r10, [r14, #48]
-
- sub r0, r2, r7 @ r0 = r1 - i3@
- add r1, r3, r6 @ i0 = i1 + r3@
-
- ldr r11, DATATab
-
- add r2, r2, r7 @ r2 = r1 + i3@
- sub r3, r3, r6 @ i2 = i1 - r3@
-
- sub r4, r0, r1 @ r0 - i0
- add r5, r0, r1 @ r0 + i0
-
- sub r0, r2, r3 @ r2 - i2
- add r1, r2, r3 @ r2 + i2
-
- smull r8, r6, r4, r11
- smull r9, r7, r5, r11
-
- ldr r2, [sp, #16]
- ldr r3, [sp, #20]
-
- smull r8, r4, r0, r11
- smull r9, r5, r1, r11
-
- ldr r10, [sp, #24]
- ldr r11, [sp, #28]
-
- sub r8, r2, r6
- sub r9, r3, r7
-
- add r2, r2, r6
- add r3, r3, r7
-
- add r6, r10, r5
- sub r7, r11, r4
-
- sub r0, r10, r5
- add r1, r11, r4
-
- strd r6, [r14, #8]
- strd r8, [r14, #24]
- strd r0, [r14, #40]
- strd r2, [r14, #56]
-
- subs r12, r12, #1
- add r14, r14, #64
-
- bne Radix8First_LOOP
-
-Radix8First_END:
- add sp, sp, #0x24
- ldmia sp!, {r4 - r11, pc}
-
-DATATab:
- .word 0x5a82799a
-
- @ENDP @ |Radix8First|
+@/*
+@ ** Copyright 2003-2010, VisualOn, Inc.
+@ **
+@ ** Licensed under the Apache License, Version 2.0 (the "License");
+@ ** you may not use this file except in compliance with the License.
+@ ** You may obtain a copy of the License at
+@ **
+@ ** http://www.apache.org/licenses/LICENSE-2.0
+@ **
+@ ** Unless required by applicable law or agreed to in writing, software
+@ ** distributed under the License is distributed on an "AS IS" BASIS,
+@ ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@ ** See the License for the specific language governing permissions and
+@ ** limitations under the License.
+@ */
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+@ File: R4R8First_v5.s
+@
+@ Content: Radix8First and Radix4First function armv5 assemble
+@
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ .section .text
+ .global Radix4First
+
+Radix4First:
+ stmdb sp!, {r4 - r11, lr}
+
+ movs r10, r1
+ mov r11, r0
+ beq Radix4First_END
+
+Radix4First_LOOP:
+ ldrd r0, [r11]
+ ldrd r2, [r11, #8]
+ ldrd r4, [r11, #16]
+ ldrd r6, [r11, #24]
+
+ add r8, r0, r2
+ add r9, r1, r3
+
+ sub r0, r0, r2
+ sub r1, r1, r3
+
+ add r2, r4, r6
+ add r3, r5, r7
+
+ sub r4, r4, r6
+ sub r5, r5, r7
+
+ add r6, r8, r2
+ add r7, r9, r3
+
+ sub r8, r8, r2
+ sub r9, r9, r3
+
+ add r2, r0, r5
+ sub r3, r1, r4
+
+ sub r0, r0, r5
+ add r1, r1, r4
+
+ strd r6, [r11]
+ strd r2, [r11, #8]
+ strd r8, [r11, #16]
+ strd r0, [r11, #24]
+
+ subs r10, r10, #1
+ add r11, r11, #32
+ bne Radix4First_LOOP
+
+Radix4First_END:
+ ldmia sp!, {r4 - r11, pc}
+ @ENDP @ |Radix4First|
+
+ .section .text
+ .global Radix8First
+
+Radix8First:
+ stmdb sp!, {r4 - r11, lr}
+ sub sp, sp, #0x24
+
+ mov r12, r1
+ mov r14, r0
+ cmp r12, #0
+ beq Radix8First_END
+
+Radix8First_LOOP:
+ ldrd r0, [r14]
+ ldrd r2, [r14, #8]
+ ldrd r4, [r14, #16]
+ ldrd r6, [r14, #24]
+
+ add r8, r0, r2 @ r0 = buf[0] + buf[2]@
+ add r9, r1, r3 @ i0 = buf[1] + buf[3]@
+
+ sub r0, r0, r2 @ r1 = buf[0] - buf[2]@
+ sub r1, r1, r3 @ i1 = buf[1] - buf[3]@
+
+ add r2, r4, r6 @ r2 = buf[4] + buf[6]@
+ add r3, r5, r7 @ i2 = buf[5] + buf[7]@
+
+ sub r4, r4, r6 @ r3 = buf[4] - buf[6]@
+ sub r5, r5, r7 @ i3 = buf[5] - buf[7]@
+
+ add r6, r8, r2 @ r4 = (r0 + r2) >> 1@
+ add r7, r9, r3 @ i4 = (i0 + i2) >> 1@
+
+ sub r8, r8, r2 @ r5 = (r0 - r2) >> 1@
+ sub r9, r9, r3 @ i5 = (i0 - i2) >> 1@
+
+ sub r2, r0, r5 @ r6 = (r1 - i3) >> 1@
+ add r3, r1, r4 @ i6 = (i1 + r3) >> 1@
+
+ add r0, r0, r5 @ r7 = (r1 + i3) >> 1@
+ sub r1, r1, r4 @ i7 = (i1 - r3) >> 1@
+
+ mov r6, r6, asr #1 @
+ mov r7, r7, asr #1 @
+
+ mov r8, r8, asr #1
+ mov r9, r9, asr #1
+
+ mov r2, r2, asr #1
+ mov r3, r3, asr #1
+
+ mov r0, r0, asr #1
+ mov r1, r1, asr #1
+
+ str r6, [sp]
+ str r7, [sp, #4]
+
+ str r8, [sp, #8]
+ str r9, [sp, #12]
+
+ str r2, [sp, #16]
+ str r3, [sp, #20]
+
+ str r0, [sp, #24]
+ str r1, [sp, #28]
+
+ ldrd r2, [r14, #32]
+ ldrd r4, [r14, #40]
+ ldrd r6, [r14, #48]
+ ldrd r8, [r14, #56]
+
+ add r0, r2, r4 @ r0 = buf[ 8] + buf[10]@
+ add r1, r3, r5 @ i0 = buf[ 9] + buf[11]@
+
+ sub r2, r2, r4 @ r1 = buf[ 8] - buf[10]@
+ sub r3, r3, r5 @ i1 = buf[ 9] - buf[11]@
+
+ add r4, r6, r8 @ r2 = buf[12] + buf[14]@
+ add r5, r7, r9 @ i2 = buf[13] + buf[15]@
+
+ sub r6, r6, r8 @ r3 = buf[12] - buf[14]@
+ sub r7, r7, r9 @ i3 = buf[13] - buf[15]@
+
+ add r8, r0, r4 @ t0 = (r0 + r2)
+ add r9, r1, r5 @ t1 = (i0 + i2)
+
+ sub r0, r0, r4 @ t2 = (r0 - r2)
+ sub r1, r1, r5 @ t3 = (i0 - i2)
+
+ mov r8, r8, asr #1
+ ldr r4, [sp]
+
+ mov r9, r9, asr #1
+ ldr r5, [sp, #4]
+
+ mov r0, r0, asr #1
+ mov r1, r1, asr #1
+
+ add r10, r4, r8 @ buf[ 0] = r4 + t0@
+ add r11, r5, r9 @ buf[ 1] = i4 + t1@
+
+ sub r4, r4, r8 @ buf[ 8] = r4 - t0@
+ sub r5, r5, r9 @ buf[ 9] = i4 - t1@
+
+ strd r10, [r14]
+ strd r4, [r14, #32]
+
+ ldr r10, [sp, #8]
+ ldr r11, [sp, #12]
+
+ add r4, r10, r1 @ buf[ 4] = r5 + t3@
+ sub r5, r11, r0 @ buf[ 5] = i5 - t2@
+
+ sub r10, r10, r1 @ buf[12] = r5 - t3@
+ add r11, r11, r0 @ buf[13] = i5 + t2@
+
+ strd r4, [r14, #16]
+ strd r10, [r14, #48]
+
+ sub r0, r2, r7 @ r0 = r1 - i3@
+ add r1, r3, r6 @ i0 = i1 + r3@
+
+ ldr r11, DATATab
+
+ add r2, r2, r7 @ r2 = r1 + i3@
+ sub r3, r3, r6 @ i2 = i1 - r3@
+
+ sub r4, r0, r1 @ r0 - i0
+ add r5, r0, r1 @ r0 + i0
+
+ sub r0, r2, r3 @ r2 - i2
+ add r1, r2, r3 @ r2 + i2
+
+ smull r8, r6, r4, r11
+ smull r9, r7, r5, r11
+
+ ldr r2, [sp, #16]
+ ldr r3, [sp, #20]
+
+ smull r8, r4, r0, r11
+ smull r9, r5, r1, r11
+
+ ldr r10, [sp, #24]
+ ldr r11, [sp, #28]
+
+ sub r8, r2, r6
+ sub r9, r3, r7
+
+ add r2, r2, r6
+ add r3, r3, r7
+
+ add r6, r10, r5
+ sub r7, r11, r4
+
+ sub r0, r10, r5
+ add r1, r11, r4
+
+ strd r6, [r14, #8]
+ strd r8, [r14, #24]
+ strd r0, [r14, #40]
+ strd r2, [r14, #56]
+
+ subs r12, r12, #1
+ add r14, r14, #64
+
+ bne Radix8First_LOOP
+
+Radix8First_END:
+ add sp, sp, #0x24
+ ldmia sp!, {r4 - r11, pc}
+
+DATATab:
+ .word 0x5a82799a
+
+ @ENDP @ |Radix8First|
.end \ No newline at end of file