armv8: Remove redundant NEON element size declarations
When specifying one specific lane of the vector, the number of lanes don't need to be specified. The clang built-in assembler doesn't allow the redundant declarations, while binutils gas work fine with both forms. Change-Id: I86077ce0774d4594a1295b6860e4944df87dde2f
This commit is contained in:
parent
171fe40050
commit
db02f57bdc
12 changed files with 215 additions and 215 deletions
|
|
@ -337,7 +337,7 @@ ih264_deblk_chroma_horz_bslt4_av8:
|
|||
ldr x9, [sp, #80]
|
||||
sub x0, x0, x1, lsl #1 //x0 = uc_edgePixelU pointing to p1 of chroma U
|
||||
rev w7, w7 //
|
||||
mov v12.2s[0], w7 //D12[0] = ui_Bs
|
||||
mov v12.s[0], w7 //D12[0] = ui_Bs
|
||||
ld1 {v16.s}[0], [x8] //D16[0] contains cliptab_cb
|
||||
ld1 {v17.s}[0], [x9] //D17[0] contains cliptab_cr
|
||||
ld2 {v6.8b, v7.8b}, [x0], x1 //Q3=p1
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ ih264_deblk_luma_horz_bslt4_av8:
|
|||
sub x0, x0, x1 //x0 pointer to p2
|
||||
rev w4, w4 //
|
||||
ld1 {v10.8b, v11.8b}, [x0], x1 //p2 values are loaded into q5
|
||||
mov v12.2s[0], w4 //d12[0] = ui_Bs
|
||||
mov v12.s[0], w4 //d12[0] = ui_Bs
|
||||
mov x6, x0 //keeping backup of pointer to p1
|
||||
ld1 {v8.8b, v9.8b}, [x0], x1 //p1 values are loaded into q4
|
||||
mov x7, x0 //keeping backup of pointer to p0
|
||||
|
|
@ -364,8 +364,8 @@ ih264_deblk_luma_horz_bs4_av8:
|
|||
mov v26.d[1] , v27.d[0]
|
||||
mov v2.d[1] , v3.d[0]
|
||||
uaddl v16.8h, v31.8b, v25.8b //p2+p3 H
|
||||
mla v12.8h, v8.8h , v1.4h[0] //(p0+q0+p1)+3*p2+2*p3 L
|
||||
mla v4.8h, v16.8h , v1.4h[0] //(p0+q0+p1)+3*p2+2*p3 H
|
||||
mla v12.8h, v8.8h , v1.h[0] //(p0+q0+p1)+3*p2+2*p3 L
|
||||
mla v4.8h, v16.8h , v1.h[0] //(p0+q0+p1)+3*p2+2*p3 H
|
||||
bic v16.16b, v20.16b , v18.16b //((ABS(p0 - q0) >= Alpha || ABS(q1 - q0) >= Beta || ABS(p1 - p0) >= Beta))
|
||||
mov v17.d[0] , v16.d[1] //&& (Ap < Beta && ABS(p0 - q0) <((Alpha >>2) + 2))
|
||||
bit v2.16b, v28.16b , v20.16b //choosing between po' and p0"
|
||||
|
|
@ -443,7 +443,7 @@ ih264_deblk_luma_vert_bslt4_av8:
|
|||
ld1 {v4.8b}, [x0], x1 //row3
|
||||
rev w12, w12 //reversing ui_bs
|
||||
ld1 {v6.8b}, [x0], x1 //row4
|
||||
mov v18.2s[0], w12 //d12[0] = ui_Bs
|
||||
mov v18.s[0], w12 //d12[0] = ui_Bs
|
||||
ld1 {v16.s}[0], [x14] //D16[0] contains cliptab
|
||||
ld1 {v8.8b}, [x0], x1 //row5
|
||||
uxtl v18.8h, v18.8b //q6 = uc_Bs in each 16 bt scalar
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
ext v26.16b, v20.16b , v22.16b , #6
|
||||
|
|
@ -174,7 +174,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v25.8b, v25.8h
|
||||
mov v19.2s[1], v25.2s[0]
|
||||
mov v19.s[1], v25.s[0]
|
||||
|
||||
uaddl v22.8h, v4.8b, v10.8b
|
||||
ld1 {v0.2s, v1.2s}, [x0], #16 // Vector load from src[6_0]
|
||||
|
|
@ -228,7 +228,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
ext v26.16b, v20.16b , v22.16b , #6
|
||||
|
|
@ -253,7 +253,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v25.8b, v25.8h
|
||||
mov v19.2s[1], v25.2s[0]
|
||||
mov v19.s[1], v25.s[0]
|
||||
|
||||
|
||||
uaddl v22.8h, v6.8b, v0.8b
|
||||
|
|
@ -306,7 +306,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
|
|
@ -334,7 +334,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v25.8b, v25.8h
|
||||
mov v19.2s[1], v25.2s[0]
|
||||
mov v19.s[1], v25.s[0]
|
||||
|
||||
|
||||
|
||||
|
|
@ -387,7 +387,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
|
|
@ -427,7 +427,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v25.8b, v25.8h
|
||||
mov v19.2s[1], v25.2s[0]
|
||||
mov v19.s[1], v25.s[0]
|
||||
|
||||
|
||||
|
||||
|
|
@ -501,7 +501,7 @@ loop_8:
|
|||
ld1 {v2.2s, v3.2s}, [x0], x2 // Vector load from src[7_0]
|
||||
uqxtn v25.8b, v12.8h
|
||||
uqxtn v13.8b, v13.8h
|
||||
mov v25.2s[1], v13.2s[0]
|
||||
mov v25.s[1], v13.s[0]
|
||||
uaddl v16.8h, v8.8b, v10.8b
|
||||
|
||||
|
||||
|
|
@ -535,7 +535,7 @@ loop_8:
|
|||
uaddl v28.8h, v9.8b, v11.8b
|
||||
uqxtn v13.8b, v16.8h
|
||||
uqxtn v17.8b, v17.8h
|
||||
mov v13.2s[1], v17.2s[0]
|
||||
mov v13.s[1], v17.s[0]
|
||||
|
||||
|
||||
uaddl v14.8h, v5.8b, v3.8b
|
||||
|
|
@ -576,7 +576,7 @@ loop_8:
|
|||
mls v16.8h, v30.8h , v24.8h
|
||||
uqxtn v27.8b, v12.8h
|
||||
uqxtn v13.8b, v13.8h
|
||||
mov v27.2s[1], v13.2s[0]
|
||||
mov v27.s[1], v13.s[0]
|
||||
|
||||
|
||||
ext v22.16b, v28.16b , v16.16b , #10
|
||||
|
|
@ -616,7 +616,7 @@ loop_8:
|
|||
subs x4, x4, #4
|
||||
uqxtn v13.8b, v16.8h
|
||||
uqxtn v17.8b, v17.8h
|
||||
mov v13.2s[1], v17.2s[0]
|
||||
mov v13.s[1], v17.s[0]
|
||||
|
||||
|
||||
mov v0.16b, v8.16b
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ loop_16_lowhalf:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
ld1 {v0.2s, v1.2s}, [x0], x2 // row 5 load for horizontal filter
|
||||
|
||||
|
|
@ -313,7 +313,7 @@ loop_16_lowhalf:
|
|||
uaddl v2.8h, v1.8b, v4.8b
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
add v30.8h, v14.8h , v16.8h
|
||||
mls v8.8h, v2.8h , v24.8h
|
||||
ld1 {v0.2s, v1.2s}, [x0], x2 // row 6 load for horizontal filter
|
||||
|
|
@ -355,7 +355,7 @@ loop_16_lowhalf:
|
|||
mls v28.8h, v2.8h , v24.8h
|
||||
uqxtn v27.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v27.2s[1], v19.2s[0]
|
||||
mov v27.s[1], v19.s[0]
|
||||
saddl v18.4s, v12.4h, v28.4h
|
||||
saddl2 v6.4s, v12.8h, v28.8h
|
||||
|
||||
|
|
@ -384,7 +384,7 @@ loop_16_lowhalf:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
mov v12.16b, v8.16b
|
||||
mov v13.16b, v9.16b
|
||||
|
|
@ -523,7 +523,7 @@ loop_16_highhalf:
|
|||
mls v20.8h, v2.8h , v24.8h
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
ld1 {v0.2s, v1.2s}, [x8], x2
|
||||
|
||||
urhadd v26.8b, v18.8b , v26.8b
|
||||
|
|
@ -558,7 +558,7 @@ loop_16_highhalf:
|
|||
uaddl v2.8h, v1.8b, v4.8b
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
add v30.8h, v14.8h , v16.8h
|
||||
mls v8.8h, v2.8h , v24.8h
|
||||
ld1 {v0.2s, v1.2s}, [x8], x2
|
||||
|
|
@ -598,7 +598,7 @@ loop_16_highhalf:
|
|||
mls v28.8h, v2.8h , v24.8h
|
||||
uqxtn v27.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v27.2s[1], v19.2s[0]
|
||||
mov v27.s[1], v19.s[0]
|
||||
|
||||
|
||||
saddl v18.4s, v12.4h, v28.4h
|
||||
|
|
@ -627,7 +627,7 @@ loop_16_highhalf:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
mov v12.16b, v8.16b
|
||||
mov v13.16b, v9.16b
|
||||
|
|
@ -768,7 +768,7 @@ loop_8:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
ld1 {v0.2s, v1.2s}, [x0], x2 // row 5 load for horizontal filter
|
||||
|
||||
|
|
@ -812,7 +812,7 @@ loop_8:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
add v30.8h, v14.8h , v16.8h
|
||||
mls v8.8h, v2.8h , v24.8h
|
||||
|
|
@ -855,7 +855,7 @@ loop_8:
|
|||
uqxtn v27.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
|
||||
mov v27.2s[1], v19.2s[0]
|
||||
mov v27.s[1], v19.s[0]
|
||||
|
||||
saddl v18.4s, v12.4h, v28.4h
|
||||
saddl2 v6.4s, v12.8h, v28.8h
|
||||
|
|
@ -885,7 +885,7 @@ loop_8:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
|
||||
mov v12.16b, v8.16b
|
||||
|
|
@ -1024,7 +1024,7 @@ loop_4:
|
|||
|
||||
sqrshrun v9.8b, v6.8h, #5
|
||||
sqrshrun v7.8b, v7.8h, #5
|
||||
mov v9.2s[1], v7.2s[0]
|
||||
mov v9.s[1], v7.s[0]
|
||||
|
||||
ext v20.8b, v18.8b , v19.8b , #2
|
||||
|
||||
|
|
@ -1089,7 +1089,7 @@ loop_4:
|
|||
|
||||
sqrshrun v10.8b, v8.8h, #5
|
||||
sqrshrun v9.8b, v9.8h, #5
|
||||
mov v10.2s[1], v9.2s[0]
|
||||
mov v10.s[1], v9.s[0]
|
||||
|
||||
mov v12.8b, v28.8b
|
||||
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
ext v26.16b, v20.16b , v22.16b , #6
|
||||
|
|
@ -238,7 +238,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v18.8b, v18.8h
|
||||
mov v19.2s[1], v18.2s[0]
|
||||
mov v19.s[1], v18.s[0]
|
||||
|
||||
ld1 {v18.2s}, [x1]
|
||||
sqrshrun v20.8b, v20.8h, #5
|
||||
|
|
@ -297,7 +297,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
ext v26.16b, v20.16b , v22.16b , #6
|
||||
|
|
@ -323,7 +323,7 @@ loop_16:
|
|||
ld1 {v22.4s}, [x6], x7
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v18.8b, v18.8h
|
||||
mov v19.2s[1], v18.2s[0]
|
||||
mov v19.s[1], v18.s[0]
|
||||
ld1 {v18.4s}, [x1]
|
||||
sqrshrun v20.8b, v20.8h, #5
|
||||
sqrshrun v21.8b, v22.8h, #5
|
||||
|
|
@ -380,7 +380,7 @@ loop_16:
|
|||
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
|
|
@ -409,7 +409,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v18.8b, v18.8h
|
||||
mov v19.2s[1], v18.2s[0]
|
||||
mov v19.s[1], v18.s[0]
|
||||
|
||||
ld1 {v18.2s}, [x1]
|
||||
sqrshrun v20.8b, v20.8h, #5
|
||||
|
|
@ -466,7 +466,7 @@ loop_16:
|
|||
ld1 {v22.4s}, [x9], #16
|
||||
uqxtn v18.8b, v18.8h
|
||||
uqxtn v19.8b, v19.8h
|
||||
mov v18.2s[1], v19.2s[0]
|
||||
mov v18.s[1], v19.s[0]
|
||||
|
||||
|
||||
ext v24.16b, v20.16b , v22.16b , #4
|
||||
|
|
@ -506,7 +506,7 @@ loop_16:
|
|||
|
||||
uqxtn v19.8b, v19.8h
|
||||
uqxtn v18.8b, v18.8h
|
||||
mov v19.2s[1], v18.2s[0]
|
||||
mov v19.s[1], v18.s[0]
|
||||
|
||||
ld1 {v20.4s}, [x6], #16
|
||||
ld1 {v22.4s}, [x6], x7
|
||||
|
|
@ -586,7 +586,7 @@ loop_8:
|
|||
ld1 {v2.2s, v3.2s}, [x0], x2 // Vector load from src[7_0]
|
||||
uqxtn v25.8b, v12.8h
|
||||
uqxtn v13.8b, v13.8h
|
||||
mov v25.2s[1], v13.2s[0]
|
||||
mov v25.s[1], v13.s[0]
|
||||
uaddl v16.8h, v8.8b, v10.8b
|
||||
|
||||
|
||||
|
|
@ -620,7 +620,7 @@ loop_8:
|
|||
uaddl v28.8h, v9.8b, v11.8b
|
||||
uqxtn v13.8b, v16.8h
|
||||
uqxtn v17.8b, v17.8h
|
||||
mov v13.2s[1], v17.2s[0]
|
||||
mov v13.s[1], v17.s[0]
|
||||
|
||||
urhadd v12.16b, v12.16b , v14.16b
|
||||
urhadd v13.16b, v13.16b , v15.16b
|
||||
|
|
@ -662,7 +662,7 @@ loop_8:
|
|||
mls v16.8h, v30.8h , v24.8h
|
||||
uqxtn v27.8b, v12.8h
|
||||
uqxtn v13.8b, v13.8h
|
||||
mov v27.2s[1], v13.2s[0]
|
||||
mov v27.s[1], v13.s[0]
|
||||
|
||||
sqrshrun v14.8b, v14.8h, #5
|
||||
ext v22.16b, v28.16b , v16.16b , #10
|
||||
|
|
@ -702,7 +702,7 @@ loop_8:
|
|||
subs x4, x4, #4
|
||||
uqxtn v13.8b, v16.8h
|
||||
uqxtn v17.8b, v17.8h
|
||||
mov v13.2s[1], v17.2s[0]
|
||||
mov v13.s[1], v17.s[0]
|
||||
urhadd v12.16b, v12.16b , v14.16b
|
||||
urhadd v13.16b, v13.16b , v15.16b
|
||||
|
||||
|
|
|
|||
|
|
@ -501,7 +501,7 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8:
|
|||
add v16.8h, v0.8h , v16.8h
|
||||
dup v20.8h, v22.h[0]
|
||||
mul v4.8h, v6.8h , v20.8h
|
||||
dup v30.8h, v22.4h[1]
|
||||
dup v30.8h, v22.h[1]
|
||||
mul v18.8h, v6.8h , v20.8h
|
||||
mul v14.8h, v6.8h , v30.8h
|
||||
mul v8.8h, v6.8h , v30.8h
|
||||
|
|
@ -511,7 +511,7 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8:
|
|||
sqrshrun v28.8b, v24.8h, #5
|
||||
add v26.8h, v16.8h , v8.8h
|
||||
sqrshrun v29.8b, v0.8h, #5
|
||||
dup v20.8h, v22.4h[2]
|
||||
dup v20.8h, v22.h[2]
|
||||
st1 {v28.8b, v29.8b}, [x1], x3
|
||||
sqrshrun v28.8b, v2.8h, #5
|
||||
sqrshrun v29.8b, v26.8h, #5
|
||||
|
|
@ -520,7 +520,7 @@ ih264_intra_pred_chroma_8x8_mode_plane_av8:
|
|||
st1 {v28.8b, v29.8b}, [x1], x3
|
||||
add v24.8h, v12.8h , v4.8h
|
||||
add v0.8h, v16.8h , v18.8h
|
||||
dup v30.8h, v22.4h[3]
|
||||
dup v30.8h, v22.h[3]
|
||||
sqrshrun v28.8b, v24.8h, #5
|
||||
sqrshrun v29.8b, v0.8h, #5
|
||||
mul v14.8h, v6.8h , v30.8h
|
||||
|
|
|
|||
|
|
@ -467,7 +467,7 @@ ih264_intra_pred_luma_16x16_mode_plane_av8:
|
|||
ldrb w5, [x7], #-1
|
||||
sxtw x5, w5
|
||||
add x8, x8, x8, lsl #1
|
||||
dup v4.8h, v0.4h[0]
|
||||
dup v4.8h, v0.h[0]
|
||||
add x12, x12, x8
|
||||
ldrb w9, [x0], #1
|
||||
sxtw x9, w9
|
||||
|
|
|
|||
|
|
@ -337,7 +337,7 @@ ih264_intra_pred_luma_8x8_mode_dc_av8:
|
|||
uaddlp v3.2s, v1.4h
|
||||
uaddlp v2.1d, v3.2s
|
||||
dup v10.8h, w5
|
||||
dup v8.8h, v2.4h[0]
|
||||
dup v8.8h, v2.h[0]
|
||||
add v12.8h, v8.8h , v10.8h
|
||||
sqrshrun v31.8b, v12.8h, #4
|
||||
st1 {v31.8b}, [x1], x3
|
||||
|
|
@ -360,7 +360,7 @@ top_available: // ONLT TOP AVAILABLE
|
|||
uaddlp v13.2s, v14.4h
|
||||
uaddlp v12.1d, v13.2s
|
||||
rshrn v4.8b, v12.8h, #3
|
||||
dup v31.8b, v4.8b[0]
|
||||
dup v31.8b, v4.b[0]
|
||||
st1 {v31.8b}, [x1], x3
|
||||
st1 {v31.8b}, [x1], x3
|
||||
st1 {v31.8b}, [x1], x3
|
||||
|
|
@ -1059,7 +1059,7 @@ ih264_intra_pred_luma_8x8_mode_horz_u_av8:
|
|||
mov v30.16b, v4.16b
|
||||
mov v31.16b, v6.16b
|
||||
tbl v12.8b, {v30.16b, v31.16b}, v10.8b
|
||||
dup v14.16b, v5.8b[7] //
|
||||
dup v14.16b, v5.b[7] //
|
||||
tbl v13.8b, {v30.16b, v31.16b}, v11.8b
|
||||
mov v12.d[1], v13.d[0]
|
||||
ext v16.16b, v12.16b , v14.16b , #2
|
||||
|
|
|
|||
|
|
@ -665,7 +665,7 @@ ih264_hadamard_quant_2x2_uv_av8:
|
|||
ld2 {v0.4h-v1.4h}, [x0] //load src
|
||||
|
||||
ld1 {v30.h}[0], [x2] //load pu2_scale_matrix[0]
|
||||
dup v30.4h, v30.4h[0] //pu2_scale_matrix
|
||||
dup v30.4h, v30.h[0] //pu2_scale_matrix
|
||||
uxtl v30.4s, v30.4h //pu2_scale_matrix
|
||||
|
||||
neg w4, w4
|
||||
|
|
|
|||
|
|
@ -173,10 +173,10 @@ loop_4: //each iteration processes four rows
|
|||
ld1 {v10.s}[1], [x1], x4 //load row 4 in source 2
|
||||
uxtl v8.8h, v8.8b //converting rows 3,4 in source 1 to 16-bit
|
||||
uxtl v10.8h, v10.8b //converting rows 3,4 in source 2 to 16-bit
|
||||
mul v4.8h, v4.8h , v2.4h[0] //weight 1 mult. for rows 1,2
|
||||
mla v4.8h, v6.8h , v2.4h[2] //weight 2 mult. for rows 1,2
|
||||
mul v8.8h, v8.8h , v2.4h[0] //weight 1 mult. for rows 3,4
|
||||
mla v8.8h, v10.8h , v2.4h[2] //weight 2 mult. for rows 3,4
|
||||
mul v4.8h, v4.8h , v2.h[0] //weight 1 mult. for rows 1,2
|
||||
mla v4.8h, v6.8h , v2.h[2] //weight 2 mult. for rows 1,2
|
||||
mul v8.8h, v8.8h , v2.h[0] //weight 1 mult. for rows 3,4
|
||||
mla v8.8h, v10.8h , v2.h[2] //weight 2 mult. for rows 3,4
|
||||
subs w11, w11, #4 //decrement ht by 4
|
||||
srshl v4.8h, v4.8h , v0.8h //rounds off the weighted samples from rows 1,2
|
||||
srshl v8.8h, v8.8h , v0.8h //rounds off the weighted samples from rows 3,4
|
||||
|
|
@ -205,18 +205,18 @@ loop_8: //each iteration processes four rows
|
|||
ld1 {v18.8b}, [x1], x4 //load row 4 in source 2
|
||||
uxtl v8.8h, v8.8b //converting row 2 in source 1 to 16-bit
|
||||
uxtl v10.8h, v10.8b //converting row 2 in source 2 to 16-bit
|
||||
mul v4.8h, v4.8h , v2.4h[0] //weight 1 mult. for row 1
|
||||
mla v4.8h, v6.8h , v2.4h[2] //weight 2 mult. for row 1
|
||||
mul v4.8h, v4.8h , v2.h[0] //weight 1 mult. for row 1
|
||||
mla v4.8h, v6.8h , v2.h[2] //weight 2 mult. for row 1
|
||||
uxtl v12.8h, v12.8b //converting row 3 in source 1 to 16-bit
|
||||
uxtl v14.8h, v14.8b //converting row 3 in source 2 to 16-bit
|
||||
mul v8.8h, v8.8h , v2.4h[0] //weight 1 mult. for row 2
|
||||
mla v8.8h, v10.8h , v2.4h[2] //weight 2 mult. for row 2
|
||||
mul v8.8h, v8.8h , v2.h[0] //weight 1 mult. for row 2
|
||||
mla v8.8h, v10.8h , v2.h[2] //weight 2 mult. for row 2
|
||||
uxtl v16.8h, v16.8b //converting row 4 in source 1 to 16-bit
|
||||
uxtl v18.8h, v18.8b //converting row 4 in source 2 to 16-bit
|
||||
mul v12.8h, v12.8h , v2.4h[0] //weight 1 mult. for row 3
|
||||
mla v12.8h, v14.8h , v2.4h[2] //weight 2 mult. for row 3
|
||||
mul v16.8h, v16.8h , v2.4h[0] //weight 1 mult. for row 4
|
||||
mla v16.8h, v18.8h , v2.4h[2] //weight 2 mult. for row 4
|
||||
mul v12.8h, v12.8h , v2.h[0] //weight 1 mult. for row 3
|
||||
mla v12.8h, v14.8h , v2.h[2] //weight 2 mult. for row 3
|
||||
mul v16.8h, v16.8h , v2.h[0] //weight 1 mult. for row 4
|
||||
mla v16.8h, v18.8h , v2.h[2] //weight 2 mult. for row 4
|
||||
srshl v4.8h, v4.8h , v0.8h //rounds off the weighted samples from row 1
|
||||
srshl v8.8h, v8.8h , v0.8h //rounds off the weighted samples from row 2
|
||||
srshl v12.8h, v12.8h , v0.8h //rounds off the weighted samples from row 3
|
||||
|
|
@ -251,35 +251,35 @@ loop_16: //each iteration processes two rows
|
|||
ld1 {v18.8b, v19.8b}, [x1], x4 //load row 4 in source 2
|
||||
uxtl v4.8h, v5.8b //converting row 1H in source 1 to 16-bit
|
||||
uxtl v6.8h, v7.8b //converting row 1H in source 2 to 16-bit
|
||||
mul v20.8h, v20.8h , v2.4h[0] //weight 1 mult. for row 1L
|
||||
mla v20.8h, v22.8h , v2.4h[2] //weight 2 mult. for row 1L
|
||||
mul v20.8h, v20.8h , v2.h[0] //weight 1 mult. for row 1L
|
||||
mla v20.8h, v22.8h , v2.h[2] //weight 2 mult. for row 1L
|
||||
uxtl v24.8h, v8.8b //converting row 2L in source 1 to 16-bit
|
||||
uxtl v26.8h, v10.8b //converting row 2L in source 2 to 16-bit
|
||||
mul v4.8h, v4.8h , v2.4h[0] //weight 1 mult. for row 1H
|
||||
mla v4.8h, v6.8h , v2.4h[2] //weight 2 mult. for row 1H
|
||||
mul v4.8h, v4.8h , v2.h[0] //weight 1 mult. for row 1H
|
||||
mla v4.8h, v6.8h , v2.h[2] //weight 2 mult. for row 1H
|
||||
uxtl v8.8h, v9.8b //converting row 2H in source 1 to 16-bit
|
||||
uxtl v10.8h, v11.8b //converting row 2H in source 2 to 16-bit
|
||||
mul v24.8h, v24.8h , v2.4h[0] //weight 1 mult. for row 2L
|
||||
mla v24.8h, v26.8h , v2.4h[2] //weight 2 mult. for row 2L
|
||||
mul v24.8h, v24.8h , v2.h[0] //weight 1 mult. for row 2L
|
||||
mla v24.8h, v26.8h , v2.h[2] //weight 2 mult. for row 2L
|
||||
uxtl v28.8h, v12.8b //converting row 3L in source 1 to 16-bit
|
||||
uxtl v30.8h, v14.8b //converting row 3L in source 2 to 16-bit
|
||||
mul v8.8h, v8.8h , v2.4h[0] //weight 1 mult. for row 2H
|
||||
mla v8.8h, v10.8h , v2.4h[2] //weight 2 mult. for row 2H
|
||||
mul v8.8h, v8.8h , v2.h[0] //weight 1 mult. for row 2H
|
||||
mla v8.8h, v10.8h , v2.h[2] //weight 2 mult. for row 2H
|
||||
uxtl v12.8h, v13.8b //converting row 3H in source 1 to 16-bit
|
||||
uxtl v14.8h, v15.8b //converting row 3H in source 2 to 16-bit
|
||||
mul v28.8h, v28.8h , v2.4h[0] //weight 1 mult. for row 3L
|
||||
mla v28.8h, v30.8h , v2.4h[2] //weight 2 mult. for row 3L
|
||||
mul v28.8h, v28.8h , v2.h[0] //weight 1 mult. for row 3L
|
||||
mla v28.8h, v30.8h , v2.h[2] //weight 2 mult. for row 3L
|
||||
uxtl v22.8h, v16.8b //converting row 4L in source 1 to 16-bit
|
||||
uxtl v6.8h, v18.8b //converting row 4L in source 2 to 16-bit
|
||||
mul v12.8h, v12.8h , v2.4h[0] //weight 1 mult. for row 3H
|
||||
mla v12.8h, v14.8h , v2.4h[2] //weight 2 mult. for row 3H
|
||||
mul v12.8h, v12.8h , v2.h[0] //weight 1 mult. for row 3H
|
||||
mla v12.8h, v14.8h , v2.h[2] //weight 2 mult. for row 3H
|
||||
uxtl v16.8h, v17.8b //converting row 4H in source 1 to 16-bit
|
||||
uxtl v18.8h, v19.8b //converting row 4H in source 2 to 16-bit
|
||||
mul v22.8h, v22.8h , v2.4h[0] //weight 1 mult. for row 4L
|
||||
mla v22.8h, v6.8h , v2.4h[2] //weight 2 mult. for row 4L
|
||||
mul v22.8h, v22.8h , v2.h[0] //weight 1 mult. for row 4L
|
||||
mla v22.8h, v6.8h , v2.h[2] //weight 2 mult. for row 4L
|
||||
srshl v20.8h, v20.8h , v0.8h //rounds off the weighted samples from row 1L
|
||||
mul v16.8h, v16.8h , v2.4h[0] //weight 1 mult. for row 4H
|
||||
mla v16.8h, v18.8h , v2.4h[2] //weight 2 mult. for row 4H
|
||||
mul v16.8h, v16.8h , v2.h[0] //weight 1 mult. for row 4H
|
||||
mla v16.8h, v18.8h , v2.h[2] //weight 2 mult. for row 4H
|
||||
srshl v4.8h, v4.8h , v0.8h //rounds off the weighted samples from row 1H
|
||||
srshl v24.8h, v24.8h , v0.8h //rounds off the weighted samples from row 2L
|
||||
saddw v20.8h, v20.8h , v3.8b //adding offset for row 1L
|
||||
|
|
|
|||
|
|
@ -143,8 +143,8 @@ loop_4: //each iteration processes four rows
|
|||
uxtl v4.8h, v4.8b //converting rows 1,2 to 16-bit
|
||||
uxtl v6.8h, v6.8b //converting rows 3,4 to 16-bit
|
||||
|
||||
mul v4.8h, v4.8h , v2.4h[0] //weight mult. for rows 1,2
|
||||
mul v6.8h, v6.8h , v2.4h[0] //weight mult. for rows 3,4
|
||||
mul v4.8h, v4.8h , v2.h[0] //weight mult. for rows 1,2
|
||||
mul v6.8h, v6.8h , v2.h[0] //weight mult. for rows 3,4
|
||||
|
||||
subs w7, w7, #4 //decrement ht by 4
|
||||
srshl v4.8h, v4.8h , v0.8h //rounds off the weighted samples from rows 1,2
|
||||
|
|
@ -175,11 +175,11 @@ loop_8: //each iteration processes four rows
|
|||
uxtl v6.8h, v6.8b //converting row 2 to 16-bit
|
||||
|
||||
uxtl v8.8h, v8.8b //converting row 3 to 16-bit
|
||||
mul v4.8h, v4.8h , v2.4h[0] //weight mult. for row 1
|
||||
mul v4.8h, v4.8h , v2.h[0] //weight mult. for row 1
|
||||
uxtl v10.8h, v10.8b //converting row 4 to 16-bit
|
||||
mul v6.8h, v6.8h , v2.4h[0] //weight mult. for row 2
|
||||
mul v8.8h, v8.8h , v2.4h[0] //weight mult. for row 3
|
||||
mul v10.8h, v10.8h , v2.4h[0] //weight mult. for row 4
|
||||
mul v6.8h, v6.8h , v2.h[0] //weight mult. for row 2
|
||||
mul v8.8h, v8.8h , v2.h[0] //weight mult. for row 3
|
||||
mul v10.8h, v10.8h , v2.h[0] //weight mult. for row 4
|
||||
|
||||
srshl v4.8h, v4.8h , v0.8h //rounds off the weighted samples from row 1
|
||||
srshl v6.8h, v6.8h , v0.8h //rounds off the weighted samples from row 2
|
||||
|
|
@ -214,20 +214,20 @@ loop_16: //each iteration processes two rows
|
|||
uxtl v14.8h, v5.8b //converting row 1H to 16-bit
|
||||
ld1 {v10.8b, v11.8b}, [x0], x2 //load row 4 in source
|
||||
uxtl v16.8h, v6.8b //converting row 2L to 16-bit
|
||||
mul v12.8h, v12.8h , v2.4h[0] //weight mult. for row 1L
|
||||
mul v12.8h, v12.8h , v2.h[0] //weight mult. for row 1L
|
||||
uxtl v18.8h, v7.8b //converting row 2H to 16-bit
|
||||
mul v14.8h, v14.8h , v2.4h[0] //weight mult. for row 1H
|
||||
mul v14.8h, v14.8h , v2.h[0] //weight mult. for row 1H
|
||||
uxtl v20.8h, v8.8b //converting row 3L to 16-bit
|
||||
mul v16.8h, v16.8h , v2.4h[0] //weight mult. for row 2L
|
||||
mul v16.8h, v16.8h , v2.h[0] //weight mult. for row 2L
|
||||
uxtl v22.8h, v9.8b //converting row 3H to 16-bit
|
||||
mul v18.8h, v18.8h , v2.4h[0] //weight mult. for row 2H
|
||||
mul v18.8h, v18.8h , v2.h[0] //weight mult. for row 2H
|
||||
uxtl v24.8h, v10.8b //converting row 4L to 16-bit
|
||||
mul v20.8h, v20.8h , v2.4h[0] //weight mult. for row 3L
|
||||
mul v20.8h, v20.8h , v2.h[0] //weight mult. for row 3L
|
||||
uxtl v26.8h, v11.8b //converting row 4H to 16-bit
|
||||
mul v22.8h, v22.8h , v2.4h[0] //weight mult. for row 3H
|
||||
mul v24.8h, v24.8h , v2.4h[0] //weight mult. for row 4L
|
||||
mul v22.8h, v22.8h , v2.h[0] //weight mult. for row 3H
|
||||
mul v24.8h, v24.8h , v2.h[0] //weight mult. for row 4L
|
||||
srshl v12.8h, v12.8h , v0.8h //rounds off the weighted samples from row 1L
|
||||
mul v26.8h, v26.8h , v2.4h[0] //weight mult. for row 4H
|
||||
mul v26.8h, v26.8h , v2.h[0] //weight mult. for row 4H
|
||||
srshl v14.8h, v14.8h , v0.8h //rounds off the weighted samples from row 1H
|
||||
srshl v16.8h, v16.8h , v0.8h //rounds off the weighted samples from row 2L
|
||||
saddw v12.8h, v12.8h , v3.8b //adding offset for row 1L
|
||||
|
|
|
|||
|
|
@ -280,8 +280,8 @@ ih264e_sixtap_filter_2dvh_vert_av8:
|
|||
ld1 {v11.8b, v12.8b, v13.8b}, [x0], x3
|
||||
mov x14, #20
|
||||
ld1 {v14.8b, v15.8b, v16.8b}, [x0], x3
|
||||
mov v0.4h[0], w12
|
||||
mov v0.4h[1], w14
|
||||
mov v0.h[0], w12
|
||||
mov v0.h[1], w14
|
||||
ld1 {v17.8b, v18.8b, v19.8b}, [x0], x3
|
||||
movi v1.8b, #20
|
||||
|
||||
|
|
@ -333,10 +333,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v26.4s, v31.4h, v20.4h //// a0 + a5 (set1)
|
||||
ext v31.8b, v22.8b , v23.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
ext v30.8b, v21.8b , v22.8b , #4
|
||||
|
||||
sqrshrun v4.8b, v24.8h, #5 //// (a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 + 16) >> 5 (column3,row0)
|
||||
|
|
@ -344,10 +344,10 @@ filter_2dvh_loop:
|
|||
|
||||
ext v28.8b, v21.8b , v22.8b , #2
|
||||
saddl v20.4s, v31.4h, v21.4h //// a0 + a5 (set2)
|
||||
smlal v20.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
smlal v20.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
ext v31.8b, v23.8b , v24.8b , #2
|
||||
mov v21.d[0], v20.d[1]
|
||||
ext v2.8b, v2.8b , v3.8b , #2
|
||||
|
|
@ -362,10 +362,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v2.4s, v31.4h, v22.4h //// a0 + a5 (set3)
|
||||
ext v28.8b, v22.8b , v23.8b , #2
|
||||
smlal v2.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v2.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v2.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v2.4s, v23.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
smlal v2.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v2.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v2.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v2.4s, v23.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
ext v31.8b, v24.8b , v25.8b , #2
|
||||
|
||||
shrn v21.4h, v20.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set2)
|
||||
|
|
@ -376,10 +376,10 @@ filter_2dvh_loop:
|
|||
saddl v26.4s, v31.4h, v23.4h //// a0 + a5 (set4)
|
||||
ext v28.8b, v23.8b , v24.8b , #2
|
||||
ext v31.8b, v25.8b , v25.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
ext v30.8b, v24.8b , v25.8b , #4
|
||||
|
||||
saddl v22.4s, v31.4h, v24.4h //// a0 + a5 (set5)
|
||||
|
|
@ -389,10 +389,10 @@ filter_2dvh_loop:
|
|||
shrn v28.4h, v2.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set3)
|
||||
|
||||
ld1 {v2.8b, v3.8b, v4.8b}, [x0], x3 //// Load next Row data
|
||||
smlal v22.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
smlal v22.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
shrn v29.4h, v26.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set4)
|
||||
mov v20.d[1], v21.d[0]
|
||||
sqrshrun v26.8b, v20.8h, #2 //// half,half gird set1,2
|
||||
|
|
@ -449,10 +449,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v26.4s, v31.4h, v20.4h //// a0 + a5 (set1)
|
||||
ext v31.8b, v22.8b , v23.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
ext v30.8b, v21.8b , v22.8b , #4
|
||||
|
||||
sqrshrun v7.8b, v24.8h, #5 //// (a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 + 16) >> 5 (column3,row0)
|
||||
|
|
@ -460,10 +460,10 @@ filter_2dvh_loop:
|
|||
|
||||
ext v28.8b, v21.8b , v22.8b , #2
|
||||
saddl v20.4s, v31.4h, v21.4h //// a0 + a5 (set2)
|
||||
smlal v20.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
smlal v20.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
ext v31.8b, v23.8b , v24.8b , #2
|
||||
|
||||
ext v5.8b, v5.8b , v6.8b , #2
|
||||
|
|
@ -478,10 +478,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v6.4s, v31.4h, v22.4h //// a0 + a5 (set3)
|
||||
ext v28.8b, v22.8b , v23.8b , #2
|
||||
smlal v6.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v6.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v6.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v6.4s, v23.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
smlal v6.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v6.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v6.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v6.4s, v23.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
ext v31.8b, v24.8b , v25.8b , #2
|
||||
|
||||
shrn v21.4h, v20.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set2)
|
||||
|
|
@ -492,10 +492,10 @@ filter_2dvh_loop:
|
|||
saddl v26.4s, v31.4h, v23.4h //// a0 + a5 (set4)
|
||||
ext v28.8b, v23.8b , v24.8b , #2
|
||||
ext v31.8b, v25.8b , v25.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
ext v30.8b, v24.8b , v25.8b , #4
|
||||
|
||||
saddl v22.4s, v31.4h, v24.4h //// a0 + a5 (set5)
|
||||
|
|
@ -505,10 +505,10 @@ filter_2dvh_loop:
|
|||
shrn v28.4h, v6.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set3)
|
||||
|
||||
ld1 {v5.8b, v6.8b, v7.8b}, [x0], x3 //// Load next Row data
|
||||
smlal v22.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
smlal v22.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
shrn v29.4h, v26.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set4)
|
||||
mov v20.d[1], v21.d[0]
|
||||
sqrshrun v26.8b, v20.8h, #2 //// half,half gird set1,2
|
||||
|
|
@ -564,10 +564,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v26.4s, v31.4h, v20.4h //// a0 + a5 (set1)
|
||||
ext v31.8b, v22.8b , v23.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
ext v30.8b, v21.8b , v22.8b , #4
|
||||
|
||||
sqrshrun v10.8b, v24.8h, #5 //// (a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 + 16) >> 5 (column3,row0)
|
||||
|
|
@ -575,10 +575,10 @@ filter_2dvh_loop:
|
|||
|
||||
ext v28.8b, v21.8b , v22.8b , #2
|
||||
saddl v20.4s, v31.4h, v21.4h //// a0 + a5 (set2)
|
||||
smlal v20.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
smlal v20.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
ext v31.8b, v23.8b , v24.8b , #2
|
||||
|
||||
ext v8.8b, v8.8b , v9.8b , #2
|
||||
|
|
@ -593,10 +593,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v8.4s, v31.4h, v22.4h //// a0 + a5 (set3)
|
||||
ext v28.8b, v22.8b , v23.8b , #2
|
||||
smlal v8.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v8.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v8.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v8.4s, v23.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
smlal v8.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v8.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v8.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v8.4s, v23.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
ext v31.8b, v24.8b , v25.8b , #2
|
||||
|
||||
shrn v21.4h, v20.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set2)
|
||||
|
|
@ -607,10 +607,10 @@ filter_2dvh_loop:
|
|||
saddl v26.4s, v31.4h, v23.4h //// a0 + a5 (set4)
|
||||
ext v28.8b, v23.8b , v24.8b , #2
|
||||
ext v31.8b, v25.8b , v25.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
ext v30.8b, v24.8b , v25.8b , #4
|
||||
|
||||
saddl v22.4s, v31.4h, v24.4h //// a0 + a5 (set5)
|
||||
|
|
@ -620,10 +620,10 @@ filter_2dvh_loop:
|
|||
shrn v28.4h, v8.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set3)
|
||||
|
||||
ld1 {v8.8b, v9.8b, v10.8b}, [x0], x3 //// Load next Row data
|
||||
smlal v22.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
smlal v22.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
shrn v29.4h, v26.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set4)
|
||||
mov v20.d[1], v21.d[0]
|
||||
sqrshrun v26.8b, v20.8h, #2 //// half,half gird set1,2
|
||||
|
|
@ -678,10 +678,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v26.4s, v31.4h, v20.4h //// a0 + a5 (set1)
|
||||
ext v31.8b, v22.8b , v23.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
ext v30.8b, v21.8b , v22.8b , #4
|
||||
|
||||
sqrshrun v13.8b, v24.8h, #5 //// (a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 + 16) >> 5 (column3,row0)
|
||||
|
|
@ -689,10 +689,10 @@ filter_2dvh_loop:
|
|||
|
||||
ext v28.8b, v21.8b , v22.8b , #2
|
||||
saddl v20.4s, v31.4h, v21.4h //// a0 + a5 (set2)
|
||||
smlal v20.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
smlal v20.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
ext v31.8b, v23.8b , v24.8b , #2
|
||||
|
||||
ext v11.8b, v11.8b , v12.8b , #2
|
||||
|
|
@ -707,10 +707,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v12.4s, v31.4h, v22.4h //// a0 + a5 (set3)
|
||||
ext v28.8b, v22.8b , v23.8b , #2
|
||||
smlal v12.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v12.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v12.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v12.4s, v23.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
smlal v12.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v12.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v12.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v12.4s, v23.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
ext v31.8b, v24.8b , v25.8b , #2
|
||||
|
||||
shrn v21.4h, v20.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set2)
|
||||
|
|
@ -721,10 +721,10 @@ filter_2dvh_loop:
|
|||
saddl v26.4s, v31.4h, v23.4h //// a0 + a5 (set4)
|
||||
ext v28.8b, v23.8b , v24.8b , #2
|
||||
ext v31.8b, v25.8b , v25.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
ext v30.8b, v24.8b , v25.8b , #4
|
||||
|
||||
saddl v22.4s, v31.4h, v24.4h //// a0 + a5 (set5)
|
||||
|
|
@ -734,10 +734,10 @@ filter_2dvh_loop:
|
|||
shrn v28.4h, v12.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set3)
|
||||
|
||||
ld1 {v11.8b, v12.8b, v13.8b}, [x0], x3 //// Load next Row data
|
||||
smlal v22.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
smlal v22.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
shrn v29.4h, v26.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set4)
|
||||
mov v20.d[1], v21.d[0]
|
||||
sqrshrun v26.8b, v20.8h, #2 //// half,half gird set1,2
|
||||
|
|
@ -792,10 +792,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v26.4s, v31.4h, v20.4h //// a0 + a5 (set1)
|
||||
ext v31.8b, v22.8b , v23.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
ext v30.8b, v21.8b , v22.8b , #4
|
||||
|
||||
sqrshrun v16.8b, v24.8h, #5 //// (a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 + 16) >> 5 (column3,row0)
|
||||
|
|
@ -803,10 +803,10 @@ filter_2dvh_loop:
|
|||
|
||||
ext v28.8b, v21.8b , v22.8b , #2
|
||||
saddl v20.4s, v31.4h, v21.4h //// a0 + a5 (set2)
|
||||
smlal v20.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
smlal v20.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
ext v31.8b, v23.8b , v24.8b , #2
|
||||
|
||||
ext v14.8b, v14.8b , v15.8b , #2
|
||||
|
|
@ -821,10 +821,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v14.4s, v31.4h, v22.4h //// a0 + a5 (set3)
|
||||
ext v28.8b, v22.8b , v23.8b , #2
|
||||
smlal v14.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v14.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v14.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v14.4s, v23.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
smlal v14.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v14.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v14.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v14.4s, v23.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
ext v31.8b, v24.8b , v25.8b , #2
|
||||
|
||||
shrn v21.4h, v20.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set2)
|
||||
|
|
@ -835,10 +835,10 @@ filter_2dvh_loop:
|
|||
saddl v26.4s, v31.4h, v23.4h //// a0 + a5 (set4)
|
||||
ext v28.8b, v23.8b , v24.8b , #2
|
||||
ext v31.8b, v25.8b , v25.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
ext v30.8b, v24.8b , v25.8b , #4
|
||||
|
||||
saddl v22.4s, v31.4h, v24.4h //// a0 + a5 (set5)
|
||||
|
|
@ -848,10 +848,10 @@ filter_2dvh_loop:
|
|||
shrn v28.4h, v14.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set3)
|
||||
|
||||
ld1 {v14.8b, v15.8b, v16.8b}, [x0], x3 //// Load next Row data
|
||||
smlal v22.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
smlal v22.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
shrn v29.4h, v26.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set4)
|
||||
mov v20.d[1], v21.d[0]
|
||||
sqrshrun v26.8b, v20.8h, #2 //// half,half gird set1,2
|
||||
|
|
@ -909,10 +909,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v26.4s, v31.4h, v20.4h //// a0 + a5 (set1)
|
||||
ext v31.8b, v22.8b , v23.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set1)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set1)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set1)
|
||||
smlsl v26.4s, v21.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set1)
|
||||
ext v30.8b, v21.8b , v22.8b , #4
|
||||
|
||||
sqrshrun v19.8b, v24.8h, #5 //// (a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 + 16) >> 5 (column3,row0)
|
||||
|
|
@ -920,10 +920,10 @@ filter_2dvh_loop:
|
|||
|
||||
ext v28.8b, v21.8b , v22.8b , #2
|
||||
saddl v20.4s, v31.4h, v21.4h //// a0 + a5 (set2)
|
||||
smlal v20.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
smlal v20.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set2)
|
||||
smlal v20.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set2)
|
||||
smlsl v20.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set2)
|
||||
smlsl v20.4s, v22.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set2)
|
||||
ext v31.8b, v23.8b , v24.8b , #2
|
||||
|
||||
ext v17.8b, v17.8b , v18.8b , #2
|
||||
|
|
@ -938,10 +938,10 @@ filter_2dvh_loop:
|
|||
|
||||
saddl v18.4s, v31.4h, v22.4h //// a0 + a5 (set3)
|
||||
ext v28.8b, v22.8b , v23.8b , #2
|
||||
smlal v18.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v18.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v18.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v18.4s, v23.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
smlal v18.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set3)
|
||||
smlal v18.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set3)
|
||||
smlsl v18.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set3)
|
||||
smlsl v18.4s, v23.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set3)
|
||||
ext v31.8b, v24.8b , v25.8b , #2
|
||||
|
||||
shrn v21.4h, v20.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set2)
|
||||
|
|
@ -952,10 +952,10 @@ filter_2dvh_loop:
|
|||
saddl v26.4s, v31.4h, v23.4h //// a0 + a5 (set4)
|
||||
ext v28.8b, v23.8b , v24.8b , #2
|
||||
ext v31.8b, v25.8b , v25.8b , #2
|
||||
smlal v26.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
smlal v26.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set4)
|
||||
smlal v26.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set4)
|
||||
smlsl v26.4s, v28.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set4)
|
||||
smlsl v26.4s, v24.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set4)
|
||||
ext v30.8b, v24.8b , v25.8b , #4
|
||||
|
||||
saddl v22.4s, v31.4h, v24.4h //// a0 + a5 (set5)
|
||||
|
|
@ -965,10 +965,10 @@ filter_2dvh_loop:
|
|||
shrn v28.4h, v18.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set3)
|
||||
|
||||
ld1 {v17.8b, v18.8b, v19.8b}, [x0], x3 //// Load next Row data
|
||||
smlal v22.4s, v30.4h, v0.4h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.4h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.4h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
smlal v22.4s, v30.4h, v0.h[1] //// a0 + a5 + 20a2 (set5)
|
||||
smlal v22.4s, v29.4h, v0.h[1] //// a0 + a5 + 20a2 + 20a3 (set5)
|
||||
smlsl v22.4s, v31.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 (set5)
|
||||
smlsl v22.4s, v25.4h, v0.h[0] //// a0 + a5 + 20a2 + 20a3 - 5a1 - 5a4 (set5)
|
||||
shrn v29.4h, v26.4s, #8 //// shift by 8 and later we will shift by 2 more with rounding (set4)
|
||||
mov v20.d[1], v21.d[0]
|
||||
sqrshrun v26.8b, v20.8h, #2 //// half,half gird set1,2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue