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