In the half/quarter cases where we don't use the min_eob array, defer loading the pointer until we know it will be needed. Signed-off-by: Martin Storsjö <martin@martin.st>tags/n4.0
| @@ -1483,7 +1483,6 @@ function ff_vp9_idct_idct_32x32_add_neon, export=1 | |||||
| b.eq idct32x32_dc_add_neon | b.eq idct32x32_dc_add_neon | ||||
| movrel x10, idct_coeffs | movrel x10, idct_coeffs | ||||
| movrel x12, min_eob_idct_idct_32, 2 | |||||
| mov x15, x30 | mov x15, x30 | ||||
| @@ -1508,6 +1507,8 @@ function ff_vp9_idct_idct_32x32_add_neon, export=1 | |||||
| cmp w3, #135 | cmp w3, #135 | ||||
| b.le idct32x32_half_add_neon | b.le idct32x32_half_add_neon | ||||
| movrel x12, min_eob_idct_idct_32, 2 | |||||
| .irp i, 0, 8, 16, 24 | .irp i, 0, 8, 16, 24 | ||||
| add x0, sp, #(\i*64) | add x0, sp, #(\i*64) | ||||
| .if \i > 0 | .if \i > 0 | ||||
| @@ -889,8 +889,6 @@ function ff_vp9_\txfm1\()_\txfm2\()_16x16_add_neon, export=1 | |||||
| push {r4-r8,lr} | push {r4-r8,lr} | ||||
| .ifnc \txfm1\()_\txfm2,idct_idct | .ifnc \txfm1\()_\txfm2,idct_idct | ||||
| vpush {q4-q7} | vpush {q4-q7} | ||||
| .else | |||||
| movrel r8, min_eob_idct_idct_16 + 2 | |||||
| .endif | .endif | ||||
| @ Align the stack, allocate a temp buffer | @ Align the stack, allocate a temp buffer | ||||
| @@ -914,6 +912,8 @@ A and r7, sp, #15 | |||||
| ble idct16x16_quarter_add_neon | ble idct16x16_quarter_add_neon | ||||
| cmp r3, #38 | cmp r3, #38 | ||||
| ble idct16x16_half_add_neon | ble idct16x16_half_add_neon | ||||
| movrel r8, min_eob_idct_idct_16 + 2 | |||||
| .endif | .endif | ||||
| .irp i, 0, 4, 8, 12 | .irp i, 0, 4, 8, 12 | ||||