xref: /aosp_15_r20/external/libxaac/decoder/armv8/ixheaacd_overlap_add1.s (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1*15dc779aSAndroid Build Coastguard Worker///******************************************************************************
2*15dc779aSAndroid Build Coastguard Worker// *
3*15dc779aSAndroid Build Coastguard Worker// * Copyright (C) 2018 The Android Open Source Project
4*15dc779aSAndroid Build Coastguard Worker// *
5*15dc779aSAndroid Build Coastguard Worker// * Licensed under the Apache License, Version 2.0 (the "License");
6*15dc779aSAndroid Build Coastguard Worker// * you may not use this file except in compliance with the License.
7*15dc779aSAndroid Build Coastguard Worker// * You may obtain a copy of the License at:
8*15dc779aSAndroid Build Coastguard Worker// *
9*15dc779aSAndroid Build Coastguard Worker// * http://www.apache.org/licenses/LICENSE-2.0
10*15dc779aSAndroid Build Coastguard Worker// *
11*15dc779aSAndroid Build Coastguard Worker// * Unless required by applicable law or agreed to in writing, software
12*15dc779aSAndroid Build Coastguard Worker// * distributed under the License is distributed on an "AS IS" BASIS,
13*15dc779aSAndroid Build Coastguard Worker// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*15dc779aSAndroid Build Coastguard Worker// * See the License for the specific language governing permissions and
15*15dc779aSAndroid Build Coastguard Worker// * limitations under the License.
16*15dc779aSAndroid Build Coastguard Worker// *
17*15dc779aSAndroid Build Coastguard Worker// *****************************************************************************
18*15dc779aSAndroid Build Coastguard Worker// * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*15dc779aSAndroid Build Coastguard Worker//*/
20*15dc779aSAndroid Build Coastguard Worker
21*15dc779aSAndroid Build Coastguard Worker.macro push_v_regs
22*15dc779aSAndroid Build Coastguard Worker    stp             q8, q9, [sp, #-32]!
23*15dc779aSAndroid Build Coastguard Worker    stp             q10, q11, [sp, #-32]!
24*15dc779aSAndroid Build Coastguard Worker    stp             q12, q13, [sp, #-32]!
25*15dc779aSAndroid Build Coastguard Worker    stp             q14, q15, [sp, #-32]!
26*15dc779aSAndroid Build Coastguard Worker    stp             X8, X9, [sp, #-16]!
27*15dc779aSAndroid Build Coastguard Worker    stp             X10, X11, [sp, #-16]!
28*15dc779aSAndroid Build Coastguard Worker    stp             X12, X13, [sp, #-16]!
29*15dc779aSAndroid Build Coastguard Worker    stp             X14, X15, [sp, #-16]!
30*15dc779aSAndroid Build Coastguard Worker    stp             X16, X17, [sp, #-16]!
31*15dc779aSAndroid Build Coastguard Worker    stp             X29, X30, [sp, #-16]!
32*15dc779aSAndroid Build Coastguard Worker.endm
33*15dc779aSAndroid Build Coastguard Worker.macro pop_v_regs
34*15dc779aSAndroid Build Coastguard Worker    ldp             X29, X30, [sp], #16
35*15dc779aSAndroid Build Coastguard Worker    ldp             X16, X17, [sp], #16
36*15dc779aSAndroid Build Coastguard Worker    ldp             X14, X15, [sp], #16
37*15dc779aSAndroid Build Coastguard Worker    ldp             X12, X13, [sp], #16
38*15dc779aSAndroid Build Coastguard Worker    ldp             X10, X11, [sp], #16
39*15dc779aSAndroid Build Coastguard Worker    ldp             X8, X9, [sp], #16
40*15dc779aSAndroid Build Coastguard Worker    ldp             q14, q15, [sp], #32
41*15dc779aSAndroid Build Coastguard Worker    ldp             q12, q13, [sp], #32
42*15dc779aSAndroid Build Coastguard Worker    ldp             q10, q11, [sp], #32
43*15dc779aSAndroid Build Coastguard Worker    ldp             q8, q9, [sp], #32
44*15dc779aSAndroid Build Coastguard Worker.endm
45*15dc779aSAndroid Build Coastguard Worker
46*15dc779aSAndroid Build Coastguard Worker.text
47*15dc779aSAndroid Build Coastguard Worker.global ixheaacd_over_lap_add1_armv8
48*15dc779aSAndroid Build Coastguard Workerixheaacd_over_lap_add1_armv8:
49*15dc779aSAndroid Build Coastguard Worker    push_v_regs
50*15dc779aSAndroid Build Coastguard Worker    LSL             X6 , X6 , #1
51*15dc779aSAndroid Build Coastguard Worker    LSL             X10, X5, #1
52*15dc779aSAndroid Build Coastguard Worker    SUB             X11, X10, #1
53*15dc779aSAndroid Build Coastguard Worker    LSL             X10, X11, #2
54*15dc779aSAndroid Build Coastguard Worker    ADD             X10, X0, X10
55*15dc779aSAndroid Build Coastguard Worker    SUB             X10, X10, #12
56*15dc779aSAndroid Build Coastguard Worker    LSL             X8, X11, #1
57*15dc779aSAndroid Build Coastguard Worker    ADD             X8, X8, X3
58*15dc779aSAndroid Build Coastguard Worker    SUB             X8, X8, #14
59*15dc779aSAndroid Build Coastguard Worker    MOV             X12, #-16
60*15dc779aSAndroid Build Coastguard Worker    DUP             V11.8H, W4
61*15dc779aSAndroid Build Coastguard Worker    LD1             {V3.4S}, [X10], X12
62*15dc779aSAndroid Build Coastguard Worker
63*15dc779aSAndroid Build Coastguard Worker    NEG             W7, W7
64*15dc779aSAndroid Build Coastguard Worker    SQNEG           V0.4S, V3.4S
65*15dc779aSAndroid Build Coastguard Worker    UZP1            V31.8H, V0.8H, V0.8H
66*15dc779aSAndroid Build Coastguard Worker    UZP2            V30.8H, V0.8H, V0.8H
67*15dc779aSAndroid Build Coastguard Worker    REV64           V31.8h, V31.8h
68*15dc779aSAndroid Build Coastguard Worker    REV64           V30.8h, V30.8h
69*15dc779aSAndroid Build Coastguard Worker    SUB             X11, X5, #1
70*15dc779aSAndroid Build Coastguard Worker    UZP1            V7.8H, V3.8H, V3.8H
71*15dc779aSAndroid Build Coastguard Worker    UZP2            V6.8H, V3.8H, V3.8H
72*15dc779aSAndroid Build Coastguard Worker    REV64           V7.8H, V7.8H
73*15dc779aSAndroid Build Coastguard Worker    REV64           V6.8H, V6.8H
74*15dc779aSAndroid Build Coastguard Worker    MOV             V16.S[0], W6
75*15dc779aSAndroid Build Coastguard Worker    MOV             V17.S[0], W11
76*15dc779aSAndroid Build Coastguard Worker    SMULL           V17.4S, V16.4H, V17.4H
77*15dc779aSAndroid Build Coastguard Worker    MOV             W11, V17.S[0]
78*15dc779aSAndroid Build Coastguard Worker    LSL             X11, X11, #1
79*15dc779aSAndroid Build Coastguard Worker
80*15dc779aSAndroid Build Coastguard Worker    LD2             {V2.4H, V3.4H}, [X8], X12
81*15dc779aSAndroid Build Coastguard Worker    ADD             X11, X11, X2
82*15dc779aSAndroid Build Coastguard Worker    REV64           V2.4H, V2.4H
83*15dc779aSAndroid Build Coastguard Worker    REV64           V3.4H, V3.4H
84*15dc779aSAndroid Build Coastguard Worker    LSL             X4, X6, #1
85*15dc779aSAndroid Build Coastguard Worker    NEG             X4, X4
86*15dc779aSAndroid Build Coastguard Worker    LSL             X9, X6, #1
87*15dc779aSAndroid Build Coastguard Worker    MOV             V16.S[0], W5
88*15dc779aSAndroid Build Coastguard Worker    MOV             V17.S[0], W6
89*15dc779aSAndroid Build Coastguard Worker    SMULL           V17.4S, V16.4H, V17.4H
90*15dc779aSAndroid Build Coastguard Worker    MOV             W6, V17.S[0]
91*15dc779aSAndroid Build Coastguard Worker    LSL             W6, W6, #1
92*15dc779aSAndroid Build Coastguard Worker    ADD             X6, X6, X2
93*15dc779aSAndroid Build Coastguard Worker
94*15dc779aSAndroid Build Coastguard Worker    UMULL           V15.4S, V7.4H, V2.4H
95*15dc779aSAndroid Build Coastguard Worker    LD1             {V4.4S}, [X1], #16
96*15dc779aSAndroid Build Coastguard Worker    USHR            V15.4S, V15.4S, #16
97*15dc779aSAndroid Build Coastguard Worker
98*15dc779aSAndroid Build Coastguard Worker    SMLAL           V15.4S, V6.4H, V2.4H
99*15dc779aSAndroid Build Coastguard Worker    SQSHL           V15.4S, V15.4S, V11.4S
100*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V3.4H, #0
101*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
102*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
103*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
104*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
105*15dc779aSAndroid Build Coastguard Worker    MOV             V14.16B, V28.16B
106*15dc779aSAndroid Build Coastguard Worker
107*15dc779aSAndroid Build Coastguard Worker    SQSUB           V13.4S, V15.4S, V14.4S
108*15dc779aSAndroid Build Coastguard Worker    UMULL           V12.4S, V31.4H, V3.4H
109*15dc779aSAndroid Build Coastguard Worker    USHR            V12.4S, V12.4S, #16
110*15dc779aSAndroid Build Coastguard Worker    SMLAL           V12.4S, V30.4H, V3.4H
111*15dc779aSAndroid Build Coastguard Worker    SQSHL           V12.4S, V12.4S, V11.4S
112*15dc779aSAndroid Build Coastguard Worker    LD1             {V3.4S}, [X10], X12
113*15dc779aSAndroid Build Coastguard Worker
114*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V2.4H, #0
115*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
116*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
117*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
118*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
119*15dc779aSAndroid Build Coastguard Worker    MOV             V8.16B, V28.16B
120*15dc779aSAndroid Build Coastguard Worker
121*15dc779aSAndroid Build Coastguard Worker    SQNEG           V0.4S, V3.4S
122*15dc779aSAndroid Build Coastguard Worker    UZP1            V1.8H, V0.8H, V0.8H
123*15dc779aSAndroid Build Coastguard Worker    UZP2            V0.8H, V0.8H, V0.8H
124*15dc779aSAndroid Build Coastguard Worker    REV64           V1.8h, V1.8h
125*15dc779aSAndroid Build Coastguard Worker    REV64           V0.8h, V0.8h
126*15dc779aSAndroid Build Coastguard Worker    SQSUB           V9.4S, V12.4S, V8.4S
127*15dc779aSAndroid Build Coastguard Worker    UZP1            V7.8H, V3.8H, V3.8H
128*15dc779aSAndroid Build Coastguard Worker    UZP2            V6.8H, V3.8H, V3.8H
129*15dc779aSAndroid Build Coastguard Worker    REV64           V7.8h, V7.8h
130*15dc779aSAndroid Build Coastguard Worker    REV64           V6.8h, V6.8h
131*15dc779aSAndroid Build Coastguard Worker    LD2             {V2.4H, V3.4H}, [X8], X12
132*15dc779aSAndroid Build Coastguard Worker    REV64           V2.4H, V2.4H
133*15dc779aSAndroid Build Coastguard Worker    REV64           V3.4H, V3.4H
134*15dc779aSAndroid Build Coastguard Worker
135*15dc779aSAndroid Build Coastguard Worker    LD1             {V4.4S}, [X1], #16
136*15dc779aSAndroid Build Coastguard Worker    SUB             W5, W5, #8
137*15dc779aSAndroid Build Coastguard Worker
138*15dc779aSAndroid Build Coastguard Worker
139*15dc779aSAndroid Build Coastguard WorkerLOOP_1:
140*15dc779aSAndroid Build Coastguard Worker
141*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[0], [X11], X4
142*15dc779aSAndroid Build Coastguard Worker    UMULL           V15.4S, V7.4H, V2.4H
143*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[1], [X11], X4
144*15dc779aSAndroid Build Coastguard Worker    UMULL           V12.4S, V1.4H, V3.4H
145*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[2], [X11], X4
146*15dc779aSAndroid Build Coastguard Worker    USHR            V15.4S, V15.4S, #16
147*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[3], [X11], X4
148*15dc779aSAndroid Build Coastguard Worker    USHR            V12.4S, V12.4S, #16
149*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[0], [X6], X9
150*15dc779aSAndroid Build Coastguard Worker    SMLAL           V15.4S, V6.4H, V2.4H
151*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[1], [X6], X9
152*15dc779aSAndroid Build Coastguard Worker    SMLAL           V12.4S, V0.4H, V3.4H
153*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[2], [X6], X9
154*15dc779aSAndroid Build Coastguard Worker    SQSHL           V15.4S, V15.4S, V11.4S
155*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[3], [X6], X9
156*15dc779aSAndroid Build Coastguard Worker    SQSHL           V12.4S, V12.4S, V11.4S
157*15dc779aSAndroid Build Coastguard Worker    LD1             {V6.4S}, [X10], X12
158*15dc779aSAndroid Build Coastguard Worker
159*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V3.4H, #0
160*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
161*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
162*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
163*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
164*15dc779aSAndroid Build Coastguard Worker    MOV             V14.16B, V28.16B
165*15dc779aSAndroid Build Coastguard Worker
166*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V2.4H, #0
167*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
168*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
169*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
170*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
171*15dc779aSAndroid Build Coastguard Worker    MOV             V8.16B, V28.16B
172*15dc779aSAndroid Build Coastguard Worker
173*15dc779aSAndroid Build Coastguard Worker    LD2             {V2.4H, V3.4H}, [X8], X12
174*15dc779aSAndroid Build Coastguard Worker
175*15dc779aSAndroid Build Coastguard Worker    SQNEG           V0.4S, V6.4S
176*15dc779aSAndroid Build Coastguard Worker
177*15dc779aSAndroid Build Coastguard Worker    LD1             {V4.4S}, [X1], #16
178*15dc779aSAndroid Build Coastguard Worker
179*15dc779aSAndroid Build Coastguard Worker    UZP1            V1.8H, V0.8H, V0.8H
180*15dc779aSAndroid Build Coastguard Worker    UZP2            V0.8H, V0.8H, V0.8H
181*15dc779aSAndroid Build Coastguard Worker    REV64           V1.8h, V1.8h
182*15dc779aSAndroid Build Coastguard Worker    REV64           V0.8h, V0.8h
183*15dc779aSAndroid Build Coastguard Worker    UZP1            V7.8H, V6.8H, V6.8H
184*15dc779aSAndroid Build Coastguard Worker    UZP2            V6.8H, V6.8H, V6.8H
185*15dc779aSAndroid Build Coastguard Worker    REV64           V7.8h, V7.8h
186*15dc779aSAndroid Build Coastguard Worker    REV64           V6.8h, V6.8h
187*15dc779aSAndroid Build Coastguard Worker    SQSUB           V13.4S, V15.4S, V14.4S
188*15dc779aSAndroid Build Coastguard Worker    REV64           V2.4H, V2.4H
189*15dc779aSAndroid Build Coastguard Worker    REV64           V3.4H, V3.4H
190*15dc779aSAndroid Build Coastguard Worker    SQSUB           V9.4S, V12.4S, V8.4S
191*15dc779aSAndroid Build Coastguard Worker    UMULL           V15.4S, V7.4H, V2.4H
192*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[0], [X11], X4
193*15dc779aSAndroid Build Coastguard Worker    UMULL           V12.4S, V1.4H, V3.4H
194*15dc779aSAndroid Build Coastguard Worker    USHR            V15.4S, V15.4S, #16
195*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[1], [X11], X4
196*15dc779aSAndroid Build Coastguard Worker    SMLAL           V15.4S, V6.4H, V2.4H
197*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[2], [X11], X4
198*15dc779aSAndroid Build Coastguard Worker    USHR            V12.4S, V12.4S, #16
199*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[3], [X11], X4
200*15dc779aSAndroid Build Coastguard Worker    SMLAL           V12.4S, V0.4H, V3.4H
201*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[0], [X6], X9
202*15dc779aSAndroid Build Coastguard Worker    SQSHL           V15.4S, V15.4S, V11.4S
203*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[1], [X6], X9
204*15dc779aSAndroid Build Coastguard Worker    SQSHL           V12.4S, V12.4S, V11.4S
205*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[2], [X6], X9
206*15dc779aSAndroid Build Coastguard Worker
207*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V3.4H, #0
208*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
209*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
210*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
211*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
212*15dc779aSAndroid Build Coastguard Worker    MOV             V14.16B, V28.16B
213*15dc779aSAndroid Build Coastguard Worker
214*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[3], [X6], X9
215*15dc779aSAndroid Build Coastguard Worker
216*15dc779aSAndroid Build Coastguard Worker
217*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V2.4H, #0
218*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
219*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
220*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
221*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
222*15dc779aSAndroid Build Coastguard Worker    MOV             V8.16B, V28.16B
223*15dc779aSAndroid Build Coastguard Worker
224*15dc779aSAndroid Build Coastguard Worker    LD1             {V3.4S}, [X10], X12
225*15dc779aSAndroid Build Coastguard Worker
226*15dc779aSAndroid Build Coastguard Worker    SQNEG           V0.4S, V3.4S
227*15dc779aSAndroid Build Coastguard Worker    UZP1            V1.8H, V0.8H, V0.8H
228*15dc779aSAndroid Build Coastguard Worker    UZP2            V0.8H, V0.8H, V0.8H
229*15dc779aSAndroid Build Coastguard Worker    REV64           V1.8H, V1.8H
230*15dc779aSAndroid Build Coastguard Worker    REV64           V0.8H, V0.8H
231*15dc779aSAndroid Build Coastguard Worker    SQSUB           V13.4S, V15.4S, V14.4S
232*15dc779aSAndroid Build Coastguard Worker    UZP1            V7.8H, V3.8H, V3.8H
233*15dc779aSAndroid Build Coastguard Worker    UZP2            V6.8H, V3.8H, V3.8H
234*15dc779aSAndroid Build Coastguard Worker    REV64           V7.8H, V7.8H
235*15dc779aSAndroid Build Coastguard Worker    REV64           V6.8H, V6.8H
236*15dc779aSAndroid Build Coastguard Worker
237*15dc779aSAndroid Build Coastguard Worker    LD2             {V2.4H, V3.4H}, [X8], X12
238*15dc779aSAndroid Build Coastguard Worker    SQSUB           V9.4S, V12.4S, V8.4S
239*15dc779aSAndroid Build Coastguard Worker    REV64           V2.4H, V2.4H
240*15dc779aSAndroid Build Coastguard Worker    REV64           V3.4H, V3.4H
241*15dc779aSAndroid Build Coastguard Worker
242*15dc779aSAndroid Build Coastguard Worker    LD1             {V4.4S}, [X1], #16
243*15dc779aSAndroid Build Coastguard Worker
244*15dc779aSAndroid Build Coastguard Worker
245*15dc779aSAndroid Build Coastguard Worker    SUBS            X5, X5, #8
246*15dc779aSAndroid Build Coastguard Worker
247*15dc779aSAndroid Build Coastguard Worker    BGT             LOOP_1
248*15dc779aSAndroid Build Coastguard Worker
249*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[0], [X11], X4
250*15dc779aSAndroid Build Coastguard Worker    UMULL           V15.4S, V7.4H, V2.4H
251*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[1], [X11], X4
252*15dc779aSAndroid Build Coastguard Worker    UMULL           V12.4s, V1.4H, V3.4H
253*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[2], [X11], X4
254*15dc779aSAndroid Build Coastguard Worker    USHR            V15.4S, V15.4S, #16
255*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[3], [X11], X4
256*15dc779aSAndroid Build Coastguard Worker    USHR            V12.4S, V12.4S, #16
257*15dc779aSAndroid Build Coastguard Worker
258*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[0], [X6], X9
259*15dc779aSAndroid Build Coastguard Worker    SMLAL           V15.4S, V6.4H, V2.4H
260*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[1], [X6], X9
261*15dc779aSAndroid Build Coastguard Worker    SMLAL           V12.4S, V0.4H, V3.4H
262*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[2], [X6], X9
263*15dc779aSAndroid Build Coastguard Worker    SQSHL           V15.4S, V15.4S, V11.4S
264*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[3], [X6], X9
265*15dc779aSAndroid Build Coastguard Worker    SQSHL           V12.4S, V12.4S, V11.4S
266*15dc779aSAndroid Build Coastguard Worker
267*15dc779aSAndroid Build Coastguard Worker
268*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V3.4H, #0
269*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
270*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
271*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
272*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
273*15dc779aSAndroid Build Coastguard Worker    MOV             V14.16B, V28.16B
274*15dc779aSAndroid Build Coastguard Worker
275*15dc779aSAndroid Build Coastguard Worker    SSHLL           V27.4S, V2.4H, #0
276*15dc779aSAndroid Build Coastguard Worker    SMULL           V28.2D, V27.2S, V4.2S
277*15dc779aSAndroid Build Coastguard Worker    SMULL2          V29.2D, V27.4S, V4.4S
278*15dc779aSAndroid Build Coastguard Worker    SQXTN           V28.2S, V28.2D
279*15dc779aSAndroid Build Coastguard Worker    SQXTN2          V28.4S, V29.2D
280*15dc779aSAndroid Build Coastguard Worker    MOV             V8.16B, V28.16B
281*15dc779aSAndroid Build Coastguard Worker
282*15dc779aSAndroid Build Coastguard Worker
283*15dc779aSAndroid Build Coastguard Worker    SQSUB           V13.4S, V15.4S, V14.4S
284*15dc779aSAndroid Build Coastguard Worker    SQSUB           V9.4S, V12.4S, V8.4S
285*15dc779aSAndroid Build Coastguard Worker
286*15dc779aSAndroid Build Coastguard Worker
287*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[0], [X11], X4
288*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[1], [X11], X4
289*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[2], [X11], X4
290*15dc779aSAndroid Build Coastguard Worker    ST1             {V13.S}[3], [X11], X4
291*15dc779aSAndroid Build Coastguard Worker
292*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[0], [X6], X9
293*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[1], [X6], X9
294*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[2], [X6], X9
295*15dc779aSAndroid Build Coastguard Worker    ST1             {V9.S}[3], [X6], X9
296*15dc779aSAndroid Build Coastguard Worker    pop_v_regs
297*15dc779aSAndroid Build Coastguard Worker    RET
298*15dc779aSAndroid Build Coastguard Worker
299*15dc779aSAndroid Build Coastguard Worker
300*15dc779aSAndroid Build Coastguard Worker
301*15dc779aSAndroid Build Coastguard Worker
302