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 endfunc
#if HAVE_I8MM #if HAVE_I8MM
ENABLE_I8MM
.macro EPEL_H_HEADER .macro EPEL_H_HEADER
movrel x5, epel_filters movrel x5, epel_filters
@ -1963,7 +1964,7 @@ function ff_hevc_put_hevc_epel_uni_w_hv64_8_neon_i8mm, export=1
ret ret
endfunc endfunc
DISABLE_I8MM
#endif #endif

View File

@ -1558,6 +1558,7 @@ function ff_hevc_put_hevc_qpel_uni_w_v64_8_neon, export=1
endfunc endfunc
#if HAVE_I8MM #if HAVE_I8MM
ENABLE_I8MM
.macro calc_all2 .macro calc_all2
calc v30, v31, v16, v18, v20, v22, v24, v26, v28, v30, v17, v19, v21, v23, v25, v27, v29, v31 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 ret
endfunc endfunc
DISABLE_I8MM
#endif // HAVE_I8MM #endif // HAVE_I8MM

View File

@ -41,12 +41,24 @@
#endif #endif
#if HAVE_AS_ARCHEXT_DOTPROD_DIRECTIVE #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 #endif
#if HAVE_AS_ARCHEXT_I8MM_DIRECTIVE #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 #endif
DISABLE_DOTPROD
DISABLE_I8MM
/* Support macros for /* Support macros for
* - Armv8.3-A Pointer Authentication and * - Armv8.3-A Pointer Authentication and