omxVCM4P10_FilterDeblockingChroma_HorEdge_I_s.S revision 0c1bc742181ded4930842b46e9507372f0b1b963
10c1bc742181ded4930842b46e9507372f0b1b963James Dong/* 20c1bc742181ded4930842b46e9507372f0b1b963James Dong * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. 30c1bc742181ded4930842b46e9507372f0b1b963James Dong * 40c1bc742181ded4930842b46e9507372f0b1b963James Dong */ 50c1bc742181ded4930842b46e9507372f0b1b963James Dong 60c1bc742181ded4930842b46e9507372f0b1b963James Dong .eabi_attribute 24, 1 70c1bc742181ded4930842b46e9507372f0b1b963James Dong .eabi_attribute 25, 1 80c1bc742181ded4930842b46e9507372f0b1b963James Dong 90c1bc742181ded4930842b46e9507372f0b1b963James Dong .arm 100c1bc742181ded4930842b46e9507372f0b1b963James Dong .fpu neon 110c1bc742181ded4930842b46e9507372f0b1b963James Dong .text 120c1bc742181ded4930842b46e9507372f0b1b963James Dong 130c1bc742181ded4930842b46e9507372f0b1b963James Dong .global omxVCM4P10_FilterDeblockingChroma_HorEdge_I 140c1bc742181ded4930842b46e9507372f0b1b963James Dong .func omxVCM4P10_FilterDeblockingChroma_HorEdge_I 150c1bc742181ded4930842b46e9507372f0b1b963James DongomxVCM4P10_FilterDeblockingChroma_HorEdge_I: 160c1bc742181ded4930842b46e9507372f0b1b963James Dong PUSH {r4-r10,lr} 170c1bc742181ded4930842b46e9507372f0b1b963James Dong VPUSH {d8-d15} 180c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d0[]},[r2]! 190c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r0,r0,r1,LSL #1 200c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r0,r0,r1 210c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d2[]},[r3]! 220c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r4,[sp,#0x64] 230c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r5,[sp,#0x60] 240c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r9, =0x3030303 250c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r8, =0x4040404 260c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOV.I8 d14,#0 270c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOV.I8 d15,#0x1 280c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOV.I16 d1,#0x4 290c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r7,#0x40000000 300c1bc742181ded4930842b46e9507372f0b1b963James DongL0x38: 310c1bc742181ded4930842b46e9507372f0b1b963James Dong LDR r6,[r4],#8 320c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d6},[r0],r1 330c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d5},[r0],r1 340c1bc742181ded4930842b46e9507372f0b1b963James Dong CMP r6,#0 350c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d4},[r0],r1 360c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d8},[r0],r1 370c1bc742181ded4930842b46e9507372f0b1b963James Dong VABD.U8 d19,d6,d4 380c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d9},[r0],r1 390c1bc742181ded4930842b46e9507372f0b1b963James Dong VABD.U8 d13,d4,d8 400c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d10},[r0],r1 410c1bc742181ded4930842b46e9507372f0b1b963James Dong BEQ L0xe4 420c1bc742181ded4930842b46e9507372f0b1b963James Dong VABD.U8 d12,d5,d4 430c1bc742181ded4930842b46e9507372f0b1b963James Dong VABD.U8 d18,d9,d8 440c1bc742181ded4930842b46e9507372f0b1b963James Dong VCGT.U8 d16,d0,d13 450c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOV.32 d26[0],r6 460c1bc742181ded4930842b46e9507372f0b1b963James Dong VMAX.U8 d12,d18,d12 470c1bc742181ded4930842b46e9507372f0b1b963James Dong VMOVL.U8 q13,d26 480c1bc742181ded4930842b46e9507372f0b1b963James Dong VABD.U8 d17,d10,d8 490c1bc742181ded4930842b46e9507372f0b1b963James Dong VCGT.S16 d27,d26,#0 500c1bc742181ded4930842b46e9507372f0b1b963James Dong VCGT.U8 d12,d2,d12 510c1bc742181ded4930842b46e9507372f0b1b963James Dong VCGT.U8 d19,d2,d19 520c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d16,d16,d27 530c1bc742181ded4930842b46e9507372f0b1b963James Dong TST r6,r9 540c1bc742181ded4930842b46e9507372f0b1b963James Dong VCGT.U8 d17,d2,d17 550c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d16,d16,d12 560c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d12,d16,d17 570c1bc742181ded4930842b46e9507372f0b1b963James Dong VAND d17,d16,d19 580c1bc742181ded4930842b46e9507372f0b1b963James Dong BLNE armVCM4P10_DeblockingChromabSLT4_unsafe 590c1bc742181ded4930842b46e9507372f0b1b963James Dong TST r6,r8 600c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r0,r0,r1,LSL #2 610c1bc742181ded4930842b46e9507372f0b1b963James Dong VTST.16 d26,d26,d1 620c1bc742181ded4930842b46e9507372f0b1b963James Dong BLNE armVCM4P10_DeblockingChromabSGE4_unsafe 630c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIT d29,d13,d26 640c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIT d24,d31,d26 650c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d29,d4,d16 660c1bc742181ded4930842b46e9507372f0b1b963James Dong VBIF d24,d8,d16 670c1bc742181ded4930842b46e9507372f0b1b963James Dong VST1.8 {d29},[r0],r1 680c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDS r7,r7,r7 690c1bc742181ded4930842b46e9507372f0b1b963James Dong VST1.8 {d24},[r0],r1 700c1bc742181ded4930842b46e9507372f0b1b963James Dong BNE L0x38 710c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r0,#0 720c1bc742181ded4930842b46e9507372f0b1b963James Dong VPOP {d8-d15} 730c1bc742181ded4930842b46e9507372f0b1b963James Dong POP {r4-r10,pc} 740c1bc742181ded4930842b46e9507372f0b1b963James DongL0xe4: 750c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d0[]},[r2] 760c1bc742181ded4930842b46e9507372f0b1b963James Dong SUB r0,r0,r1,LSL #1 770c1bc742181ded4930842b46e9507372f0b1b963James Dong ADDS r7,r7,r7 780c1bc742181ded4930842b46e9507372f0b1b963James Dong VLD1.8 {d2[]},[r3] 790c1bc742181ded4930842b46e9507372f0b1b963James Dong ADD r5,r5,#4 800c1bc742181ded4930842b46e9507372f0b1b963James Dong BNE L0x38 810c1bc742181ded4930842b46e9507372f0b1b963James Dong MOV r0,#0 820c1bc742181ded4930842b46e9507372f0b1b963James Dong VPOP {d8-d15} 830c1bc742181ded4930842b46e9507372f0b1b963James Dong POP {r4-r10,pc} 840c1bc742181ded4930842b46e9507372f0b1b963James Dong .endfunc 850c1bc742181ded4930842b46e9507372f0b1b963James Dong 860c1bc742181ded4930842b46e9507372f0b1b963James Dong .end 870c1bc742181ded4930842b46e9507372f0b1b963James Dong 88