aarch64: Only enable extensions in the intended files/regions

This eases actual development of the assembly functions, by only
allowing extension instructions within the sections that explicitly
enable them, instead of having all extensions enabled everywhere.

Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
Martin Storsjö 2023-10-13 11:56:30 +03:00
parent 0679e85331
commit a4877f1ec1
3 changed files with 18 additions and 3 deletions

View File

@ -339,6 +339,7 @@ function ff_hevc_put_hevc_epel_uni_v64_8_neon, export=1
endfunc
#if HAVE_I8MM
ENABLE_I8MM
.macro EPEL_H_HEADER
movrel x5, epel_filters
@ -1963,7 +1964,7 @@ function ff_hevc_put_hevc_epel_uni_w_hv64_8_neon_i8mm, export=1
ret
endfunc
DISABLE_I8MM
#endif

View File

@ -1558,6 +1558,7 @@ function ff_hevc_put_hevc_qpel_uni_w_v64_8_neon, export=1
endfunc
#if HAVE_I8MM
ENABLE_I8MM
.macro calc_all2
calc v30, v31, v16, v18, v20, v22, v24, v26, v28, v30, v17, v19, v21, v23, v25, v27, v29, v31
@ -3395,4 +3396,5 @@ function ff_hevc_put_hevc_qpel_uni_w_hv64_8_neon_i8mm, export=1
ret
endfunc
DISABLE_I8MM
#endif // HAVE_I8MM

View File

@ -41,12 +41,24 @@
#endif
#if HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE
.arch_extension dotprod
#define ENABLE_DOTPROD .arch_extension dotprod
#define DISABLE_DOTPROD .arch_extension nodotprod
#else
#define ENABLE_DOTPROD
#define DISABLE_DOTPROD
#endif
#if HAVE_AS_ARCHEXT_I8MM_DIRECTIVE
.arch_extension i8mm
#define ENABLE_I8MM .arch_extension i8mm
#define DISABLE_I8MM .arch_extension noi8mm
#else
#define ENABLE_I8MM
#define DISABLE_I8MM
#endif
DISABLE_DOTPROD
DISABLE_I8MM
/* Support macros for
* - Armv8.3-A Pointer Authentication and