diff --git a/libavcodec/aarch64/hevcdsp_epel_neon.S b/libavcodec/aarch64/hevcdsp_epel_neon.S index edaf39ed92..e398e6ac9d 100644 --- a/libavcodec/aarch64/hevcdsp_epel_neon.S +++ b/libavcodec/aarch64/hevcdsp_epel_neon.S @@ -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 diff --git a/libavcodec/aarch64/hevcdsp_qpel_neon.S b/libavcodec/aarch64/hevcdsp_qpel_neon.S index f3f24ab8b0..95b96349ef 100644 --- a/libavcodec/aarch64/hevcdsp_qpel_neon.S +++ b/libavcodec/aarch64/hevcdsp_qpel_neon.S @@ -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 diff --git a/libavutil/aarch64/asm.S b/libavutil/aarch64/asm.S index 8589cf74fc..1840f9fb01 100644 --- a/libavutil/aarch64/asm.S +++ b/libavutil/aarch64/asm.S @@ -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