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