This allows running the code on android, where 64 bit binaries with text relocations aren't allowed to be loaded. Signed-off-by: Martin Storsjö <martin@martin.st>tags/n2.5
| @@ -376,7 +376,8 @@ function ff_fft_calc_neon, export=1 | |||||
| ld1 {v30.16b}, [x10] | ld1 {v30.16b}, [x10] | ||||
| mov x7, #-8 | mov x7, #-8 | ||||
| movrel x12, pmmp | movrel x12, pmmp | ||||
| ldr x3, [x3, x2, lsl #3] | |||||
| ldr x4, [x3, x2, lsl #3] | |||||
| add x3, x3, x4 | |||||
| movrel x13, mppm | movrel x13, mppm | ||||
| movrel x14, X(ff_cos_16) | movrel x14, X(ff_cos_16) | ||||
| ld1 {v31.16b}, [x11] | ld1 {v31.16b}, [x11] | ||||
| @@ -416,21 +417,21 @@ function ff_fft_permute_neon, export=1 | |||||
| endfunc | endfunc | ||||
| const fft_tab_neon | const fft_tab_neon | ||||
| .quad fft4_neon | |||||
| .quad fft8_neon | |||||
| .quad fft16_neon | |||||
| .quad fft32_neon | |||||
| .quad fft64_neon | |||||
| .quad fft128_neon | |||||
| .quad fft256_neon | |||||
| .quad fft512_neon | |||||
| .quad fft1024_neon | |||||
| .quad fft2048_neon | |||||
| .quad fft4096_neon | |||||
| .quad fft8192_neon | |||||
| .quad fft16384_neon | |||||
| .quad fft32768_neon | |||||
| .quad fft65536_neon | |||||
| .quad fft4_neon - fft_tab_neon | |||||
| .quad fft8_neon - fft_tab_neon | |||||
| .quad fft16_neon - fft_tab_neon | |||||
| .quad fft32_neon - fft_tab_neon | |||||
| .quad fft64_neon - fft_tab_neon | |||||
| .quad fft128_neon - fft_tab_neon | |||||
| .quad fft256_neon - fft_tab_neon | |||||
| .quad fft512_neon - fft_tab_neon | |||||
| .quad fft1024_neon - fft_tab_neon | |||||
| .quad fft2048_neon - fft_tab_neon | |||||
| .quad fft4096_neon - fft_tab_neon | |||||
| .quad fft8192_neon - fft_tab_neon | |||||
| .quad fft16384_neon - fft_tab_neon | |||||
| .quad fft32768_neon - fft_tab_neon | |||||
| .quad fft65536_neon - fft_tab_neon | |||||
| endconst | endconst | ||||
| const pmmp, align=4 | const pmmp, align=4 | ||||
| @@ -438,8 +438,8 @@ function fft_b15_calc_neon | |||||
| uzp1 v12.4s, v4.4s, v5.4s // exp[11 - 14].re | uzp1 v12.4s, v4.4s, v5.4s // exp[11 - 14].re | ||||
| uzp2 v13.4s, v4.4s, v5.4s // exp[11 - 14].im | uzp2 v13.4s, v4.4s, v5.4s // exp[11 - 14].im | ||||
| zip1 v14.4s, v6.4s, v7.4s // exp[5,10].re/exp[5,10].im | zip1 v14.4s, v6.4s, v7.4s // exp[5,10].re/exp[5,10].im | ||||
| add x5, x5, x3, lsl #3 | |||||
| ldr x5, [x5] | |||||
| ldr x6, [x5, x3, lsl #3] | |||||
| add x5, x5, x6 | |||||
| mov x10, x0 | mov x10, x0 | ||||
| blr x5 | blr x5 | ||||
| ldp x20, x30, [sp] | ldp x20, x30, [sp] | ||||
| @@ -452,13 +452,13 @@ function fft_b15_calc_neon | |||||
| endfunc | endfunc | ||||
| const fft_tab_neon | const fft_tab_neon | ||||
| .quad fft15_neon | |||||
| .quad fft30_neon | |||||
| .quad fft60_neon | |||||
| .quad fft120_neon | |||||
| .quad fft240_neon | |||||
| .quad fft480_neon | |||||
| .quad fft960_neon | |||||
| .quad fft15_neon - fft_tab_neon | |||||
| .quad fft30_neon - fft_tab_neon | |||||
| .quad fft60_neon - fft_tab_neon | |||||
| .quad fft120_neon - fft_tab_neon | |||||
| .quad fft240_neon - fft_tab_neon | |||||
| .quad fft480_neon - fft_tab_neon | |||||
| .quad fft960_neon - fft_tab_neon | |||||
| endconst | endconst | ||||
| function ff_celt_imdct_half_neon, export=1 | function ff_celt_imdct_half_neon, export=1 | ||||