1bebc99d6fa433c04139294a5057f8439d772dbd9James Dong/* 2bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * (c) Copyright 2007-2008 ARM Limited. All Rights Reserved. 3bebc99d6fa433c04139294a5057f8439d772dbd9James Dong * 4bebc99d6fa433c04139294a5057f8439d772dbd9James Dong */ 5bebc99d6fa433c04139294a5057f8439d772dbd9James Dong 6bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .eabi_attribute 24, 1 7bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .eabi_attribute 25, 1 8bebc99d6fa433c04139294a5057f8439d772dbd9James Dong 9bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .arm 10bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .fpu neon 11bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .text 12bebc99d6fa433c04139294a5057f8439d772dbd9James Dong 13bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .global armVCM4P10_InterpolateLuma_Copy4x4_unsafe 14bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .func armVCM4P10_InterpolateLuma_Copy4x4_unsafe 15bebc99d6fa433c04139294a5057f8439d772dbd9James DongarmVCM4P10_InterpolateLuma_Copy4x4_unsafe: 16bebc99d6fa433c04139294a5057f8439d772dbd9James Dong PUSH {r4-r6,lr} 17bebc99d6fa433c04139294a5057f8439d772dbd9James Dong AND r12,r0,#3 18bebc99d6fa433c04139294a5057f8439d772dbd9James Dong BIC r0,r0,#3 19bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ADD pc,pc,r12,LSL #2 20bebc99d6fa433c04139294a5057f8439d772dbd9James Dong NOP 21bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4Align0 22bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4Align1 23bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4Align2 24bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4Align3 25bebc99d6fa433c04139294a5057f8439d772dbd9James DongCopy4x4Align0: 26bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 27bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0],r1 28bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 29bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 30bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r5,[r2],r3 31bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0],r1 32bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 33bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r9,[r2],r3 34bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4End 35bebc99d6fa433c04139294a5057f8439d772dbd9James DongCopy4x4Align1: 36bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0,#4] 37bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 38bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0,#4] 39bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 40bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r4,r4,#8 41bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r4,r4,r5,LSL #24 42bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 43bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r8,r8,#8 44bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r8,r8,r9,LSL #24 45bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0,#4] 46bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 47bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 48bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0,#4] 49bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 50bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r4,r4,#8 51bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r4,r4,r5,LSL #24 52bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 53bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r8,r8,#8 54bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r8,r8,r9,LSL #24 55bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 56bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4End 57bebc99d6fa433c04139294a5057f8439d772dbd9James DongCopy4x4Align2: 58bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0,#4] 59bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 60bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0,#4] 61bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 62bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r4,r4,#16 63bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r4,r4,r5,LSL #16 64bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 65bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r8,r8,#16 66bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r8,r8,r9,LSL #16 67bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 68bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0,#4] 69bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 70bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0,#4] 71bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 72bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r4,r4,#16 73bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r4,r4,r5,LSL #16 74bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 75bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r8,r8,#16 76bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r8,r8,r9,LSL #16 77bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 78bebc99d6fa433c04139294a5057f8439d772dbd9James Dong B Copy4x4End 79bebc99d6fa433c04139294a5057f8439d772dbd9James DongCopy4x4Align3: 80bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0,#4] 81bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 82bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0,#4] 83bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 84bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r4,r4,#24 85bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r4,r4,r5,LSL #8 86bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 87bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r8,r8,#24 88bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r8,r8,r9,LSL #8 89bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 90bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r5,[r0,#4] 91bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r4,[r0],r1 92bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r9,[r0,#4] 93bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LDR r8,[r0],r1 94bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r4,r4,#24 95bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r4,r4,r5,LSL #8 96bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r4,[r2],r3 97bebc99d6fa433c04139294a5057f8439d772dbd9James Dong LSR r8,r8,#24 98bebc99d6fa433c04139294a5057f8439d772dbd9James Dong ORR r8,r8,r9,LSL #8 99bebc99d6fa433c04139294a5057f8439d772dbd9James Dong STR r8,[r2],r3 100bebc99d6fa433c04139294a5057f8439d772dbd9James DongCopy4x4End: 101bebc99d6fa433c04139294a5057f8439d772dbd9James Dong POP {r4-r6,pc} 102bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .endfunc 103bebc99d6fa433c04139294a5057f8439d772dbd9James Dong 104bebc99d6fa433c04139294a5057f8439d772dbd9James Dong .end 105bebc99d6fa433c04139294a5057f8439d772dbd9James Dong 106