armVCM4P10_DeblockingLuma_unsafe_s.S revision 0c1bc742181ded4930842b46e9507372f0b1b963
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_DeblockingLumabSLT4_unsafe
14    .func   armVCM4P10_DeblockingLumabSLT4_unsafe
15armVCM4P10_DeblockingLumabSLT4_unsafe:
16    VSUBL.U8 q11,d5,d9
17    VLD1.8   {d18[]},[r5]!
18    VSUBL.U8 q10,d8,d4
19    VLD1.8   {d19[]},[r5]!
20    VSHR.S16 q11,q11,#2
21    VEXT.8   d18,d18,d19,#4
22    VAND     d19,d17,d15
23    VBIF     d18,d14,d16
24    VRHADD.S16 q10,q11,q10
25    VRHADD.U8 d24,d4,d8
26    VADD.I8  d31,d18,d19
27    VAND     d19,d12,d15
28    VQADD.U8 d23,d5,d18
29    VQMOVN.S16 d20,q10
30    VADD.I8  d31,d31,d19
31    VQSUB.U8 d22,d5,d18
32    VQADD.U8 d19,d9,d18
33    VHADD.U8 d26,d24,d6
34    VMIN.S8  d20,d20,d31
35    VNEG.S8  d31,d31
36    VQSUB.U8 d21,d9,d18
37    VHADD.U8 d27,d24,d10
38    VMAX.U8  d30,d26,d22
39    VMAX.S8  d20,d20,d31
40    VMOVL.U8 q14,d4
41    VMOVL.U8 q12,d8
42    VADDW.S8 q14,q14,d20
43    VSUBW.S8 q12,q12,d20
44    VQMOVUN.S16 d29,q14
45    VQMOVUN.S16 d24,q12
46    VMAX.U8  d25,d27,d21
47    VMIN.U8  d30,d30,d23
48    VMIN.U8  d25,d25,d19
49    VBIF     d29,d4,d16
50    VBIF     d30,d5,d17
51    VBIF     d24,d8,d16
52    VBIF     d25,d9,d12
53    BX       lr
54    .endfunc
55
56    .global armVCM4P10_DeblockingLumabSGE4_unsafe
57    .func   armVCM4P10_DeblockingLumabSGE4_unsafe
58armVCM4P10_DeblockingLumabSGE4_unsafe:
59    VSHR.U8  d19,d0,#2
60    VADD.I8  d19,d19,d15
61    VADDL.U8 q10,d8,d4
62    VADD.I8  d19,d19,d15
63    VADDL.U8 q11,d6,d9
64    VADDW.U8 q12,q10,d5
65    VCGT.U8  d19,d19,d13
66    VSHR.U16 q11,q11,#1
67    VHADD.U16 q11,q12,q11
68    VADDW.U8 q12,q12,d6
69    VADDL.U8 q13,d7,d6
70    VAND     d17,d17,d19
71    VHADD.U8 d28,d4,d9
72    VSRA.U16 q13,q12,#1
73    VAND     d12,d12,d19
74    VQRSHRN.U16 d29,q11,#1
75    VRHADD.U8 d28,d28,d5
76    VQRSHRN.U16 d30,q12,#2
77    VADDL.U8 q11,d10,d5
78    VADDW.U8 q12,q10,d9
79    VBIF     d29,d28,d17
80    VQRSHRN.U16 d31,q13,#2
81    VADDL.U8 q13,d11,d10
82    VSHR.U16 q11,q11,#1
83    VHADD.U16 q11,q12,q11
84    VADDW.U8 q12,q12,d10
85    VHADD.U8 d28,d8,d5
86    VBIF     d29,d4,d16
87    VBIF     d30,d5,d17
88    VSRA.U16 q13,q12,#1
89    VQRSHRN.U16 d25,q12,#2
90    VQRSHRN.U16 d24,q11,#1
91    VRHADD.U8 d22,d28,d9
92    VBIF     d25,d9,d12
93    VBIF     d31,d6,d17
94    VBIF     d24,d22,d12
95    VQRSHRN.U16 d28,q13,#2
96    VBIF     d24,d8,d16
97    VBIF     d28,d10,d12
98    BX       lr
99    .endfunc
100
101    .end
102
103