pvmp3_mdct_18_arm.s revision d9618f23226f46c752e56f712bc4b505117d8b4b
1d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; ------------------------------------------------------------------ 2d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Copyright (C) 1998-2009 PacketVideo 3d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 4d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Licensed under the Apache License, Version 2.0 (the "License"); 5d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; you may not use this file except in compliance with the License. 6d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; You may obtain a copy of the License at 7d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 8d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; http://www.apache.org/licenses/LICENSE-2.0 9d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 10d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Unless required by applicable law or agreed to in writing, software 11d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; distributed under the License is distributed on an "AS IS" BASIS, 12d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; express or implied. 14d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; See the License for the specific language governing permissions 15d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; and limitations under the License. 16d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; ------------------------------------------------------------------- 17d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 18d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 19d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 20d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Filename: pvmp3_dct_18.s 21d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 22d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------ 23d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; REVISION HISTORY 24d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 25d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 26d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Who: Date: MM/DD/YYYY 27d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; Description: 28d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; 29d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------ 30d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 31d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber EXPORT pvmp3_mdct_18 32d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 33d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber IMPORT ||Lib$$Request$$armlib|| [WEAK] 34d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber IMPORT ||Lib$$Request$$cpplib|| [WEAK] 35d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber IMPORT pvmp3_dct_9 36d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 37d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 38d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------ 39d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 40d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber AREA |.text|, CODE, READONLY, ALIGN=2 41d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 42d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 43d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------ 44d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 45d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber|pvmp3_mdct_18| PROC 46d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber stmfd sp!,{r4-r10,lr} 47d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r7,r2 48d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r2,table 49d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r6,r1 50d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r3,r2,#0x24 51d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r12,r3,#0x44 52d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r1,r0,#0x44 53d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r5,r0 54d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 55d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; for ( i=9; i!=0; i--) 56d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; { 57d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 58d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r4,#9 59d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLoop_1 60d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 61d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; tmp = *(pt_vec); 62d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; tmp1 = *(pt_vec_o); 63d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 64d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r0] ;; tmp == lr 65d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r8,[r3],#4 ;; tmp1 == r8 66d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 67d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; tmp = fxp_mul32_Q32( tmp<<1, *(pt_cos++ )); 68d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; tmp1 = fxp_mul32_Q27( tmp1, *(pt_cos_x--)); 69d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 70d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov lr,lr,lsl #1 71d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r10,lr,r8,lr 72d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r8,[r12],#-4 73d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r9,[r1] 74d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber subs r4,r4,#1 75d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r9,r10,r8,r9 76d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r8,r9,lsr #27 77d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r8,r8,r10,lsl #5 78d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 79d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; *(pt_vec++) = tmp + tmp1 ; 80d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; *(pt_vec_o--) = fxp_mul32_Q28( (tmp - tmp1), *(pt_cos_split++)); 81d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 82d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r9,lr,r8 83d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r8,lr,r8 84d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r2],#4 85d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r9,[r0],#4 86d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r8,r9,lr,r8 87d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov lr,r8,lsr #28 88d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add lr,lr,r9,lsl #4 89d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str lr,[r1],#-4 90d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber bne Loop_1 91d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 92d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber; } 93d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 94d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r5 ;; r0 = vec 95d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber bl pvmp3_dct_9 96d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r0,r5,#0x24 ;; r0 = &vec[9] 97d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber bl pvmp3_dct_9 98d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 99d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x20] 100d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r2,[r5,#0x40] 101d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x40] 102d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x1c] 103d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r5,#0x38] 104d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x38] 105d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x18] 106d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x30] 107d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x30] 108d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#0x14] 109d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x28] 110d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#0x28] 111d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#0x10] 112d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#0x20] 113d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#0xc] 114d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#0x18] 115d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#8] 116d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#0x10] 117d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#4] 118d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#8] 119d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#0x24] 120d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r12,r12,r1 121d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#4] 122d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#0x2c] 123d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r1,r12,r1 124d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0xc] 125d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r1,r12,r0 126d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x14] 127d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x34] 128d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r0,r1,r0 129d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x1c] 130d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r0,r1,r3 131d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x24] 132d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x3c] 133d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r3,r1,r3 134d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r1,r1,r2 135d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x34] 136d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r5,#0x2c] 137d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x44] 138d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber sub r1,r1,r2 139d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x3c] 140d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r5,#0] 141d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 142d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HuberLoop_2 143d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r1,r5,r4,lsl #2 144d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r2,[r1,#0x28] 145d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r6,r4,lsl #2] 146d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r0,r0,r2 147d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r1,#0x28] 148d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,r4,lsl #2] 149d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r1,#4] 150d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r0,r3,lr,r0 151d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r2 152d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r2,r12,r1 153d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r2,r2,#0 154d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r5,r4,lsl #2] 155d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r6,r4,lsl #2] 156d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r4,r4,#1 157d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber cmp r4,#6 158d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r12,r1 159d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 160d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber blt Loop_2 161d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 162d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x40] 163d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r2,[r6,#0x18] 164d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r3,r0,r1 165d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r5,#0x40] 166d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,r4,lsl #2] 167d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r3,r3,lsl #1 168d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x1c] 169d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r3,r2,lr,r3 170d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r3,r12,r0 171d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r5,#0x18] 172d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r2,[r6,#0x1c] 173d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r3,r3,#0 174d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r6,#0x18] 175d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r5,#0x20] 176d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r0,r3,r0 177d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r0,r0,#0 178d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r6,#0x1c] 179d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r5,#0x44] 180d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6,#0x20] 181d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r3,r3,r1 182d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r1,r2 183d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r10,[r7,#0x1c] 184d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r2,r3,lsl #1 185d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r12,r1,r10,r2 186d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x1c] 187d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x20] 188d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r5,#0x24] 189d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber add r1,r1,r3 190d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r1,r1,#0 191d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r6,#0x20] 192d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x44] 193d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r7,#0x20] 194d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r1,r1,lsl #1 195d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r12,r0,r3,r1 196d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x24] 197d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r6,#0x24] 198d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x20] 199d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r1,r3,lr,r1 200d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6,#0x40] 201d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r6,#0x44] 202d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r5,#0x24] 203d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x28] 204d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r7,#0x44] 205d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r1,r1,lsl #1 206d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r1,r12,r3,r1 207d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x40] 208d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#0x44] 209d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r8,r1,#0 210d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r8,[r5,#0x28] 211d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r5,#0x2c] 212d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r7,#0x40] 213d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r1,r1,lsl #1 214d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r1,r0,r3,r1 215d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x40] 216d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x3c] 217d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r6,#0x38] 218d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r6,#0x3c] 219d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r9,r0,#0 220d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r9,[r5,#0x2c] 221d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x30] 222d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x3c] 223d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r0,lsl #1 224d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r0,r3,r12,r0 225d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r5,#0x3c] 226d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r5,#0x38] 227d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber rsb r0,r0,#0 228d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r5,#0x30] 229d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r5,#0x34] 230d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x38] 231d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r3,r3,lsl #1 232d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r3,r1,r12,r3 233d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r0,lsl #1 234d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x38] 235d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r4,[r7,#0x34] 236d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r6,#0x34] 237d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r6,#0x30] 238d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r0,r1,r4,r0 239d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r6,#0x2c] 240d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r6,#0x28] 241d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r5,#0x34] 242d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r7,#0x30] 243d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r9,lsl #1 244d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r0,r3,r1,r0 245d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r8,lsl #1 246d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r7,#0x2c] 247d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r3,[r5,#0x30] 248d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r0,r12,r1,r0 249d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r7,#0x28] 250d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r12,[r5,#0x2c] 251d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smlal r2,lr,r0,r2 252d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str lr,[r5,#0x28] 253d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r6,#4] 254d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x48] 255d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r2,r1,lsl #1 256d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r1,[r6,#0x20] 257d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6] 258d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r1,r1,lsl #1 259d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r4,lr,r12,r1 260d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r3,[r6,#0x1c] 261d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str lr,[r6] 262d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x4c] 263d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r3,r3,lsl #1 264d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r4,lr,r12,r3 265d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r0,lsl #1 266d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x64] 267d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str lr,[r6,#4] 268d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r4,lr,r12,r2 269d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x68] 270d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str lr,[r6,#0x1c] 271d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r4,lr,r12,r0 272d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x6c] 273d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str lr,[r6,#0x20] 274d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull lr,r0,r12,r0 275d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r7,#0x70] 276d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r6,#0x24] 277d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r0,r2,r12,r2 278d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r7,#0x88] 279d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r6,#0x28] 280d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r3,r2,r0,r3 281d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r7,#0x8c] 282d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r6,#0x40] 283d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r2,r1,r0,r1 284d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r6,#0x44] 285d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6,#0x18] 286d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x50] 287d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r1,r0,lsl #1 288d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6,#0x14] 289d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r5,r4,lr,r1 290d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r12,[r6,#0x10] 291d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r3,r0,lsl #1 292d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6,#0xc] 293d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r12,r12,lsl #1 294d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r2,r0,lsl #1 295d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r6,#8] 296d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r4,[r6,#8] 297d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x54] 298d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber mov r0,r0,lsl #1 299d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r5,r4,lr,r3 300d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x58] 301d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r4,[r6,#0xc] 302d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r5,r4,lr,r12 303d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x5c] 304d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r4,[r6,#0x10] 305d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r5,r4,lr,r2 306d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x60] 307d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r4,[r6,#0x14] 308d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r5,r4,lr,r0 309d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x74] 310d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r4,[r6,#0x18] 311d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r4,r0,lr,r0 312d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr lr,[r7,#0x78] 313d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r0,[r6,#0x2c] 314d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r0,r2,lr,r2 315d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r7,#0x7c] 316d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r6,#0x30] 317d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r12,r2,r0,r12 318d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r7,#0x80] 319d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r6,#0x34] 320d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r3,r2,r0,r3 321d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldr r0,[r7,#0x84] 322d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r2,[r6,#0x38] 323d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber smull r2,r1,r0,r1 324d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber str r1,[r6,#0x3c] 325d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ldmfd sp!,{r4-r10,pc} 326d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Hubertable 327d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD ||.constdata$1|| 328d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber ENDP 329d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 330d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------ 331d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 332d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber AREA |.constdata|, DATA, READONLY, ALIGN=2 333d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 334d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber;------------------------------------------------------------------------------ 335d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 336d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber||.constdata$1|| 337d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HubercosTerms_dct18 338d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x0807d2b0 339d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x08483ee0 340d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x08d3b7d0 341d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x09c42570 342d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x0b504f30 343d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x0df29440 344d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x12edfb20 345d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x1ee8dd40 346d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x5bca2a00 347d9618f23226f46c752e56f712bc4b505117d8b4bAndreas HubercosTerms_1_ov_cos_phi 348d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x400f9c00 349d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x408d6080 350d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x418dcb80 351d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x431b1a00 352d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x4545ea00 353d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x48270680 354d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x4be25480 355d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x50ab9480 356d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x56ce4d80 357d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x05ebb630 358d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x06921a98 359d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x0771d3a8 360d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x08a9a830 361d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x0a73d750 362d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x0d4d5260 363d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x127b1ca0 364d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x1ea52b40 365d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber DCD 0x5bb3cc80 366d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 367d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 368d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber 369d9618f23226f46c752e56f712bc4b505117d8b4bAndreas Huber END 370