Message ID | 20231018120534.2720420-2-martin@martin.st |
---|---|
State | Accepted |
Headers | show |
Series | [FFmpeg-devel,1/2] aarch64: Stop using asm/hwcap.h for the HWCAP_* detection | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
On Wed, 18 Oct 2023, Martin Storsjö wrote: > 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. > --- > libavcodec/aarch64/hevcdsp_epel_neon.S | 3 ++- > libavcodec/aarch64/hevcdsp_qpel_neon.S | 2 ++ > libavutil/aarch64/asm.S | 16 ++++++++++++++-- > 3 files changed, 18 insertions(+), 3 deletions(-) Pushed. // Martin
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 1212eae63d..e131b92a98 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