diff options
author | Nathan E. Egge <unlord@xiph.org> | 2024-02-20 04:35:47 +0000 |
---|---|---|
committer | Nathan E. Egge <unlord@xiph.org> | 2024-02-21 06:58:56 -0500 |
commit | 6249bd8809929d87ddc755ee360a190b22fbb069 (patch) | |
tree | a142990441507e5130042be836d965b634f8777d | |
parent | 6e5d1df63371e41ccd0c3572fde9e38bd5d0757b (diff) | |
download | libdav1d-6249bd8809929d87ddc755ee360a190b22fbb069.tar.gz |
arm32/itx: Reuse horz_16x4 epilog, saves 336 bytes
-rw-r--r-- | src/arm/32/itx.S | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/arm/32/itx.S b/src/arm/32/itx.S index 854ef08..9ba1df7 100644 --- a/src/arm/32/itx.S +++ b/src/arm/32/itx.S @@ -1447,14 +1447,16 @@ function inv_txfm_horz\suffix\()_16x4_neon .else identity_4x16_shift1 d0[0] .endif + b L(horz_16x4_epilog) .else blx r4 -.endif -.if \shift > 0 .irp i, q8, q9, q10, q11, q12, q13, q14, q15 vrshr.s16 \i, \i, #\shift .endr -.endif +.if \shift == 1 + b L(horz_16x4_epilog) +.else +L(horz_16x4_epilog): transpose_4x4h q8, q9, d16, d17, d18, d19 transpose_4x4h q10, q11, d20, d21, d22, d23 transpose_4x4h q12, q13, d24, d25, d26, d27 @@ -1465,13 +1467,15 @@ function inv_txfm_horz\suffix\()_16x4_neon .endr pop {pc} +.endif +.endif endfunc .endm -def_horz_16 scale=0, identity=0, shift=2 -def_horz_16 scale=1, identity=0, shift=1, suffix=_scale -def_horz_16 scale=0, identity=1, shift=-2, suffix=_identity def_horz_16 scale=1, identity=1, shift=-1, suffix=_scale_identity +def_horz_16 scale=0, identity=1, shift=-2, suffix=_identity +def_horz_16 scale=1, identity=0, shift=1, suffix=_scale +def_horz_16 scale=0, identity=0, shift=2 function inv_txfm_add_vert_4x16_neon push {lr} |