@ -61,37 +61,37 @@ endconst
br x10
.endm
.macro smull1 a b c
.macro smull1 a, b , c
smull \ a , \ b , \ c
.endm
.macro smlal1 a b c
.macro smlal1 a, b , c
smlal \ a , \ b , \ c
.endm
.macro smlsl1 a b c
.macro smlsl1 a, b , c
smlsl \ a , \ b , \ c
.endm
.macro idct_col4_top y1 y 2 y 3 y 4 i l
smull\ i v7 . 4 S , \ y 3 \ ( ) . \ l , z 2
smull\ i v16 . 4 S , \ y 3 \ ( ) . \ l , z 6
smull\ i v17 . 4 S , \ y 2 \ ( ) . \ l , z 1
.macro idct_col4_top y1 , y 2 , y 3 , y 4 , i , l
smull\ i v7 . 4 S , \ y 3 \ l , z 1
smull\ i v16 . 4 S , \ y 3 \ l , z 6
smull\ i v17 . 4 S , \ y 2 \ l , z 1
add v19 . 4 S , v23 . 4 S , v7 . 4 S
smull\ i v18 . 4 S , \ y 2 \ ( ) . \ l , z 3
smull\ i v18 . 4 S , \ y 2 \ l , z 3
add v20 . 4 S , v23 . 4 S , v16 . 4 S
smull\ i v5 . 4 S , \ y 2 \ ( ) . \ l , z 5
smull\ i v5 . 4 S , \ y 2 \ l , z 5
sub v21 . 4 S , v23 . 4 S , v16 . 4 S
smull\ i v6 . 4 S , \ y 2 \ ( ) . \ l , z 7
smull\ i v6 . 4 S , \ y 2 \ l , z 7
sub v22 . 4 S , v23 . 4 S , v7 . 4 S
smlal\ i v17 . 4 S , \ y 4 \ ( ) . \ l , z 3
smlsl\ i v18 . 4 S , \ y 4 \ ( ) . \ l , z 7
smlsl\ i v5 . 4 S , \ y 4 \ ( ) . \ l , z 1
smlsl\ i v6 . 4 S , \ y 4 \ ( ) . \ l , z 5
smlal\ i v17 . 4 S , \ y 4 \ l , z 3
smlsl\ i v18 . 4 S , \ y 4 \ l , z 7
smlsl\ i v5 . 4 S , \ y 4 \ l , z 1
smlsl\ i v6 . 4 S , \ y 4 \ l , z 5
.endm
.macro idct_row4_neon y1 y 2 y 3 y 4 p a s s
.macro idct_row4_neon y1 , y 2 , y 3 , y 4 , p a s s
ld1 { \ y 1 \ ( ) . 2 D - \ y 2 \ ( ) . 2 D } , [ x2 ] , #32
movi v23 . 4 S , #1 < < 2 , l s l #8
orr v5 . 1 6 B , \ y 1 \ ( ) . 1 6 B , \ y 2 \ ( ) . 1 6 B
@ -101,7 +101,7 @@ endconst
mov x3 , v5 . D [ 1 ]
smlal v23 . 4 S , \ y 1 \ ( ) . 4 H , z 4
idct_ c o l 4 _ t o p \ y 1 \ y 2 \ y 3 \ y 4 1 4 H
idct_ c o l 4 _ t o p \ y 1 , \ y 2 , \ y 3 , \ y 4 , 1 , . 4 H
cmp x3 , #0
beq \ p a s s \ ( ) f
@ -153,7 +153,7 @@ endconst
trn2 \ y 4 \ ( ) . 4 S , v17 . 4 S , v19 . 4 S
.endm
.macro declare_idct_col4_neon i l
.macro declare_idct_col4_neon i, l
function i d c t _ c o l 4 _ n e o n \ i
dup v23 . 4 H , z 4 c
.if \ i = = 1
@ -164,14 +164,14 @@ function idct_col4_neon\i
.endif
smull v23 . 4 S , v23 . 4 H , z 4
idct_ c o l 4 _ t o p v24 v25 v26 v27 \ i \ l
idct_ c o l 4 _ t o p v24 , v25 , v26 , v27 , \ i , \ l
mov x4 , v28 . D [ \ i - 1 ]
mov x5 , v29 . D [ \ i - 1 ]
cmp x4 , #0
beq 1 f
smull\ i v7 . 4 S , v28 . \ l , z 4
smull\ i v7 . 4 S , v28 \ l , z 4
add v19 . 4 S , v19 . 4 S , v7 . 4 S
sub v20 . 4 S , v20 . 4 S , v7 . 4 S
sub v21 . 4 S , v21 . 4 S , v7 . 4 S
@ -181,17 +181,17 @@ function idct_col4_neon\i
cmp x5 , #0
beq 2 f
smlal\ i v17 . 4 S , v29 . \ l , z 5
smlsl\ i v18 . 4 S , v29 . \ l , z 1
smlal\ i v5 . 4 S , v29 . \ l , z 7
smlal\ i v6 . 4 S , v29 . \ l , z 3
smlal\ i v17 . 4 S , v29 \ l , z 5
smlsl\ i v18 . 4 S , v29 \ l , z 1
smlal\ i v5 . 4 S , v29 \ l , z 7
smlal\ i v6 . 4 S , v29 \ l , z 3
2 : mov x5 , v31 . D [ \ i - 1 ]
cmp x4 , #0
beq 3 f
smull\ i v7 . 4 S , v30 . \ l , z 6
smull\ i v16 . 4 S , v30 . \ l , z 2
smull\ i v7 . 4 S , v30 \ l , z 6
smull\ i v16 . 4 S , v30 \ l , z 2
add v19 . 4 S , v19 . 4 S , v7 . 4 S
sub v22 . 4 S , v22 . 4 S , v7 . 4 S
sub v20 . 4 S , v20 . 4 S , v16 . 4 S
@ -200,10 +200,10 @@ function idct_col4_neon\i
3 : cmp x5 , #0
beq 4 f
smlal\ i v17 . 4 S , v31 . \ l , z 7
smlsl\ i v18 . 4 S , v31 . \ l , z 5
smlal\ i v5 . 4 S , v31 . \ l , z 3
smlsl\ i v6 . 4 S , v31 . \ l , z 1
smlal\ i v17 . 4 S , v31 \ l , z 7
smlsl\ i v18 . 4 S , v31 \ l , z 5
smlal\ i v5 . 4 S , v31 \ l , z 3
smlsl\ i v6 . 4 S , v31 \ l , z 1
4 : addhn v7 . 4 H , v19 . 4 S , v17 . 4 S
addhn2 v7 . 8 H , v20 . 4 S , v18 . 4 S
@ -219,14 +219,14 @@ function idct_col4_neon\i
endfunc
.endm
declare_ i d c t _ c o l 4 _ n e o n 1 4 H
declare_ i d c t _ c o l 4 _ n e o n 2 8 H
declare_ i d c t _ c o l 4 _ n e o n 1 , . 4 H
declare_ i d c t _ c o l 4 _ n e o n 2 , . 8 H
function f f _ s i m p l e _ i d c t _ p u t _ n e o n , e x p o r t =1
idct_ s t a r t x2
idct_ r o w4 _ n e o n v24 v25 v26 v27 1
idct_ r o w4 _ n e o n v28 v29 v30 v31 2
idct_ r o w4 _ n e o n v24 , v25 , v26 , v27 , 1
idct_ r o w4 _ n e o n v28 , v29 , v30 , v31 , 2
bl i d c t _ c o l 4 _ n e o n 1
sqshrun v1 . 8 B , v7 . 8 H , #C O L _ S H I F T - 16
@ -263,8 +263,8 @@ endfunc
function f f _ s i m p l e _ i d c t _ a d d _ n e o n , e x p o r t =1
idct_ s t a r t x2
idct_ r o w4 _ n e o n v24 v25 v26 v27 1
idct_ r o w4 _ n e o n v28 v29 v30 v31 2
idct_ r o w4 _ n e o n v24 , v25 , v26 , v27 , 1
idct_ r o w4 _ n e o n v28 , v29 , v30 , v31 , 2
bl i d c t _ c o l 4 _ n e o n 1
sshr v1 . 8 H , V 7 . 8 H , #C O L _ S H I F T - 16
@ -328,8 +328,8 @@ function ff_simple_idct_neon, export=1
idct_ s t a r t x0
mov x2 , x0
idct_ r o w4 _ n e o n v24 v25 v26 v27 1
idct_ r o w4 _ n e o n v28 v29 v30 v31 2
idct_ r o w4 _ n e o n v24 , v25 , v26 , v27 , 1
idct_ r o w4 _ n e o n v28 , v29 , v30 , v31 , 2
add x2 , x2 , #- 128
bl i d c t _ c o l 4 _ n e o n 1