10c1bc742181ded4930842b46e9507372f0b1b963James Dong/*
278e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Copyright (C) 2007-2008 ARM Limited
378e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
478e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Licensed under the Apache License, Version 2.0 (the "License");
578e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * you may not use this file except in compliance with the License.
678e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * You may obtain a copy of the License at
778e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
878e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *      http://www.apache.org/licenses/LICENSE-2.0
978e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
1078e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * Unless required by applicable law or agreed to in writing, software
1178e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * distributed under the License is distributed on an "AS IS" BASIS,
1278e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1378e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * See the License for the specific language governing permissions and
1478e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar * limitations under the License.
1578e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar *
1678e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar */
1778e52bfac041d71ce53b5b13c2abf78af742b09dLajos Molnar/*
180c1bc742181ded4930842b46e9507372f0b1b963James Dong *
190c1bc742181ded4930842b46e9507372f0b1b963James Dong */
200c1bc742181ded4930842b46e9507372f0b1b963James Dong
210c1bc742181ded4930842b46e9507372f0b1b963James Dong    .eabi_attribute 24, 1
220c1bc742181ded4930842b46e9507372f0b1b963James Dong    .eabi_attribute 25, 1
230c1bc742181ded4930842b46e9507372f0b1b963James Dong
240c1bc742181ded4930842b46e9507372f0b1b963James Dong    .arm
250c1bc742181ded4930842b46e9507372f0b1b963James Dong    .fpu neon
2622e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel    .text
270c1bc742181ded4930842b46e9507372f0b1b963James Dong    .align 4
280c1bc742181ded4930842b46e9507372f0b1b963James Dong
290c1bc742181ded4930842b46e9507372f0b1b963James DongarmVCM4P10_pIndexTable8x8:
3022e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel    .word  OMX_VC_CHROMA_DC-(P0+8),    OMX_VC_CHROMA_HOR-(P0+8)
3122e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel    .word  OMX_VC_CHROMA_VERT-(P0+8),  OMX_VC_CHROMA_PLANE-(P0+8)
320c1bc742181ded4930842b46e9507372f0b1b963James Dong
330c1bc742181ded4930842b46e9507372f0b1b963James DongarmVCM4P10_MultiplierTableChroma8x8:
340c1bc742181ded4930842b46e9507372f0b1b963James Dong    .hword   3, 2, 1,4
350c1bc742181ded4930842b46e9507372f0b1b963James Dong    .hword  -3,-2,-1,0
360c1bc742181ded4930842b46e9507372f0b1b963James Dong    .hword   1, 2, 3,4
370c1bc742181ded4930842b46e9507372f0b1b963James Dong
380c1bc742181ded4930842b46e9507372f0b1b963James Dong    .global omxVCM4P10_PredictIntraChroma_8x8
390c1bc742181ded4930842b46e9507372f0b1b963James Dong    .func   omxVCM4P10_PredictIntraChroma_8x8
400c1bc742181ded4930842b46e9507372f0b1b963James DongomxVCM4P10_PredictIntraChroma_8x8:
410c1bc742181ded4930842b46e9507372f0b1b963James Dong    PUSH     {r4-r10,lr}
420c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPUSH    {d8-d15}
4322e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel    ADR      r8, armVCM4P10_pIndexTable8x8
440c1bc742181ded4930842b46e9507372f0b1b963James Dong    LDR      r6,[sp,#0x68]
450c1bc742181ded4930842b46e9507372f0b1b963James Dong    LDR      r4,[sp,#0x60]
460c1bc742181ded4930842b46e9507372f0b1b963James Dong    LDR      r5,[sp,#0x64]
470c1bc742181ded4930842b46e9507372f0b1b963James Dong    LDR      r7,[sp,#0x6c]
4822e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel    LDR      r8,[r8,r6,LSL #2]
4922e06318d04074d1a7c90caa173857abdcfd153eArd BiesheuvelP0: ADD      pc,r8
5022e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel
510c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_CHROMA_DC:
520c1bc742181ded4930842b46e9507372f0b1b963James Dong    TST      r7,#2
530c1bc742181ded4930842b46e9507372f0b1b963James Dong    BEQ      L0xe8
540c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r9,r0,r4
550c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r10,r4,r4
560c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[0]},[r0],r10
570c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[1]},[r9],r10
580c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[2]},[r0],r10
590c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[3]},[r9],r10
600c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[4]},[r0],r10
610c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[5]},[r9],r10
620c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[6]},[r0],r10
630c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[7]},[r9]
640c1bc742181ded4930842b46e9507372f0b1b963James Dong    TST      r7,#1
650c1bc742181ded4930842b46e9507372f0b1b963James Dong    BEQ      L0xcc
660c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d0},[r1]
670c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV      r0,#0
680c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U8 d2,d0
690c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U16 d3,d2
700c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U8 d2,d1
710c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U16 d1,d2
720c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I32 d2,d3,d1
730c1bc742181ded4930842b46e9507372f0b1b963James Dong    VRSHR.U32 d2,d2,#3
740c1bc742181ded4930842b46e9507372f0b1b963James Dong    VRSHR.U32 d3,d3,#2
750c1bc742181ded4930842b46e9507372f0b1b963James Dong    VRSHR.U32 d1,d1,#2
760c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMOV.I8  d5,#0xc
770c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMOV.I8  d6,#0x4
780c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHL.I64 d5,d5,#32
790c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHR.U64 d6,d6,#32
800c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I8  d6,d6,d5
810c1bc742181ded4930842b46e9507372f0b1b963James Dong    VTBL.8   d0,{d2-d3},d5
820c1bc742181ded4930842b46e9507372f0b1b963James Dong    VTBL.8   d4,{d1-d2},d6
830c1bc742181ded4930842b46e9507372f0b1b963James DongL0x9c:
840c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r9,r3,r5
850c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r10,r5,r5
860c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
870c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r9],r10
880c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
890c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r9],r10
900c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d4},[r3],r10
910c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d4},[r9],r10
920c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d4},[r3],r10
930c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d4},[r9]
940c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPOP     {d8-d15}
950c1bc742181ded4930842b46e9507372f0b1b963James Dong    POP      {r4-r10,pc}
960c1bc742181ded4930842b46e9507372f0b1b963James DongL0xcc:
970c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV      r0,#0
980c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U8 d2,d1
990c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U16 d1,d2
1000c1bc742181ded4930842b46e9507372f0b1b963James Dong    VRSHR.U32 d1,d1,#2
1010c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.8   d0,d1[0]
1020c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.8   d4,d1[4]
1030c1bc742181ded4930842b46e9507372f0b1b963James Dong    B        L0x9c
1040c1bc742181ded4930842b46e9507372f0b1b963James DongL0xe8:
1050c1bc742181ded4930842b46e9507372f0b1b963James Dong    TST      r7,#1
1060c1bc742181ded4930842b46e9507372f0b1b963James Dong    BEQ      L0x114
1070c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d0},[r1]
1080c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV      r0,#0
1090c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U8 d2,d0
1100c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.U16 d3,d2
1110c1bc742181ded4930842b46e9507372f0b1b963James Dong    VRSHR.U32 d3,d3,#2
1120c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMOV.I8  d5,#0x4
1130c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHL.I64 d5,d5,#32
1140c1bc742181ded4930842b46e9507372f0b1b963James Dong    VTBL.8   d0,{d3},d5
1150c1bc742181ded4930842b46e9507372f0b1b963James Dong    B        L0x11c
1160c1bc742181ded4930842b46e9507372f0b1b963James DongL0x114:
1170c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMOV.I8  d0,#0x80
1180c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV      r0,#0
1190c1bc742181ded4930842b46e9507372f0b1b963James DongL0x11c:
1200c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r9,r3,r5
1210c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r10,r5,r5
1220c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
1230c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r9],r10
1240c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
1250c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r9],r10
1260c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
1270c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r9],r10
1280c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
1290c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r9]
1300c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPOP     {d8-d15}
1310c1bc742181ded4930842b46e9507372f0b1b963James Dong    POP      {r4-r10,pc}
1320c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_CHROMA_VERT:
1330c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d0},[r1]
1340c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV      r0,#0
1350c1bc742181ded4930842b46e9507372f0b1b963James Dong    B        L0x11c
1360c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_CHROMA_HOR:
1370c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r9,r0,r4
1380c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r10,r4,r4
1390c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d0[]},[r0],r10
1400c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[]},[r9],r10
1410c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d2[]},[r0],r10
1420c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d3[]},[r9],r10
1430c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d4[]},[r0],r10
1440c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d5[]},[r9],r10
1450c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d6[]},[r0],r10
1460c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d7[]},[r9]
1470c1bc742181ded4930842b46e9507372f0b1b963James Dong    B        L0x28c
1480c1bc742181ded4930842b46e9507372f0b1b963James DongOMX_VC_CHROMA_PLANE:
1490c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r9,r0,r4
1500c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r10,r4,r4
1510c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d0},[r1]
1520c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d2[0]},[r2]
1530c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[0]},[r0],r10
1540c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[1]},[r9],r10
1550c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[2]},[r0],r10
1560c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[3]},[r9],r10
1570c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[4]},[r0],r10
1580c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[5]},[r9],r10
1590c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[6]},[r0],r10
1600c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.8   {d1[7]},[r9]
1610c1bc742181ded4930842b46e9507372f0b1b963James Dong    VREV64.8 d3,d0
1620c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSUBL.U8 q3,d3,d2
1630c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHR.U64 d3,d3,#8
1640c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSUBL.U8 q2,d3,d0
1650c1bc742181ded4930842b46e9507372f0b1b963James Dong    VREV64.8 d3,d1
1660c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSUBL.U8 q7,d3,d2
1670c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHR.U64 d3,d3,#8
1680c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSUBL.U8 q6,d3,d1
16922e06318d04074d1a7c90caa173857abdcfd153eArd Biesheuvel    ADR      r2, armVCM4P10_MultiplierTableChroma8x8
1700c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHL.I64 d4,d4,#16
1710c1bc742181ded4930842b46e9507372f0b1b963James Dong    VEXT.8   d9,d4,d6,#2
1720c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.16  {d10},[r2]!
1730c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHL.I64 d12,d12,#16
1740c1bc742181ded4930842b46e9507372f0b1b963James Dong    VEXT.8   d16,d12,d14,#2
1750c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMUL.I16 d11,d9,d10
1760c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMUL.I16 d3,d16,d10
1770c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADD.I16 d3,d11,d3
1780c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPADDL.S16 d3,d3
1790c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHL.I32 d2,d3,#4
1800c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I32 d3,d3,d2
1810c1bc742181ded4930842b46e9507372f0b1b963James Dong    VLD1.16  {d10,d11},[r2]
1820c1bc742181ded4930842b46e9507372f0b1b963James Dong    VRSHR.S32 d3,d3,#5
1830c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADDL.U8 q0,d0,d1
1840c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q0,d1[3]
1850c1bc742181ded4930842b46e9507372f0b1b963James Dong    VSHL.I16 q0,q0,#4
1860c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q2,d3[0]
1870c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q3,d3[2]
1880c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMUL.I16 q2,q2,q5
1890c1bc742181ded4930842b46e9507372f0b1b963James Dong    VMUL.I16 q3,q3,q5
1900c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q2,q2,q0
1910c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q0,d6[0]
1920c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q1,d6[1]
1930c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q4,d6[2]
1940c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q5,d6[3]
1950c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q6,d7[0]
1960c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q7,d7[1]
1970c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q8,d7[2]
1980c1bc742181ded4930842b46e9507372f0b1b963James Dong    VDUP.16  q9,d7[3]
1990c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q0,q2,q0
2000c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q1,q2,q1
2010c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q4,q2,q4
2020c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q5,q2,q5
2030c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q6,q2,q6
2040c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q7,q2,q7
2050c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q8,q2,q8
2060c1bc742181ded4930842b46e9507372f0b1b963James Dong    VADD.I16 q9,q2,q9
2070c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d0,q0,#5
2080c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d1,q1,#5
2090c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d2,q4,#5
2100c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d3,q5,#5
2110c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d4,q6,#5
2120c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d5,q7,#5
2130c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d6,q8,#5
2140c1bc742181ded4930842b46e9507372f0b1b963James Dong    VQRSHRUN.S16 d7,q9,#5
2150c1bc742181ded4930842b46e9507372f0b1b963James DongL0x28c:
2160c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r9,r3,r5
2170c1bc742181ded4930842b46e9507372f0b1b963James Dong    ADD      r10,r5,r5
2180c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d0},[r3],r10
2190c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d1},[r9],r10
2200c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d2},[r3],r10
2210c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d3},[r9],r10
2220c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d4},[r3],r10
2230c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d5},[r9],r10
2240c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d6},[r3],r10
2250c1bc742181ded4930842b46e9507372f0b1b963James Dong    VST1.8   {d7},[r9]
2260c1bc742181ded4930842b46e9507372f0b1b963James Dong    MOV      r0,#0
2270c1bc742181ded4930842b46e9507372f0b1b963James Dong    VPOP     {d8-d15}
2280c1bc742181ded4930842b46e9507372f0b1b963James Dong    POP      {r4-r10,pc}
2290c1bc742181ded4930842b46e9507372f0b1b963James Dong    .endfunc
2300c1bc742181ded4930842b46e9507372f0b1b963James Dong
2310c1bc742181ded4930842b46e9507372f0b1b963James Dong    .end
2320c1bc742181ded4930842b46e9507372f0b1b963James Dong
233