[x265] [PATCH] fix warnings when assembling with NASM 2.15

Nomis101 Nomis101 at web.de
Thu Sep 3 17:58:39 CEST 2020


Am 15.07.20 um 20:37 schrieb Nomis101:
>  From e955f07a0596d5e3911dc02e845a2363da44bde4 Mon Sep 17 00:00:00 2001
> From: Nomis101 <Nomis101 at web.de>
> Date: Wed, 15 Jul 2020 20:22:41 +0200
> Subject: [PATCH] fix warnings when assembling with NASM 2.15
> 
> Adjust code to silence some new warnings added in NASM 2.15.
> Fixes Issue #559.
> 
> Signed-off-by: Nomis101 <Nomis101 at web.de>
> ---
>   source/common/x86/const-a.asm |  2 +-
>   source/common/x86/x86inc.asm  | 46 +++++++++++++++++++++++------------
>   source/common/x86/x86util.asm |  4 ++-
>   3 files changed, 34 insertions(+), 18 deletions(-)
> 
> diff --git a/source/common/x86/const-a.asm b/source/common/x86/const-a.asm
> index acba18ccc..c8142bbb5 100644
> --- a/source/common/x86/const-a.asm
> +++ b/source/common/x86/const-a.asm
> @@ -100,7 +100,7 @@ const pw_ff00,              times  8 dw 0xff00
>   const pw_2000,              times 16 dw 0x2000
>   const pw_8000,              times  8 dw 0x8000
>   const pw_3fff,              times 16 dw 0x3fff
> -const pw_32_0,              times  4 dw 32,
> +const pw_32_0,              times  4 dw 32
>                               times  4 dw 0
>   const pw_pixel_max,         times 16 dw ((1 << BIT_DEPTH)-1)
> 
> diff --git a/source/common/x86/x86inc.asm b/source/common/x86/x86inc.asm
> index 670699ec6..805aa1180 100644
> --- a/source/common/x86/x86inc.asm
> +++ b/source/common/x86/x86inc.asm
> @@ -401,16 +401,6 @@ DECLARE_REG_TMP_SIZE 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
>       %endif
>   %endmacro
> 
> -%macro DEFINE_ARGS_INTERNAL 3+
> -    %ifnum %2
> -        DEFINE_ARGS %3
> -    %elif %1 == 4
> -        DEFINE_ARGS %2
> -    %elif %1 > 4
> -        DEFINE_ARGS %2, %3
> -    %endif
> -%endmacro
> -
>   %if WIN64 ; Windows x64 ;=================================================
> 
>   DECLARE_REG 0,  rcx
> @@ -429,7 +419,7 @@ DECLARE_REG 12, R15, 104
>   DECLARE_REG 13, R12, 112
>   DECLARE_REG 14, R13, 120
> 
> -%macro PROLOGUE 2-5+ 0 ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
> +%macro PROLOGUE 2-5+ 0, 0 ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
>       %assign num_args %1
>       %assign regs_used %2
>       ASSERT regs_used >= num_args
> @@ -441,7 +431,15 @@ DECLARE_REG 14, R13, 120
>           WIN64_SPILL_XMM %3
>       %endif
>       LOAD_IF_USED 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
> -    DEFINE_ARGS_INTERNAL %0, %4, %5
> +    %if %0 > 4
> +         %ifnum %4
> +             DEFINE_ARGS %5
> +         %else
> +             DEFINE_ARGS %4, %5
> +         %endif
> +     %elifnnum %4
> +         DEFINE_ARGS %4
> +     %endif
>   %endmacro
> 
>   %macro WIN64_PUSH_XMM 0
> @@ -537,7 +535,7 @@ DECLARE_REG 12, R15, 56
>   DECLARE_REG 13, R12, 64
>   DECLARE_REG 14, R13, 72
> 
> -%macro PROLOGUE 2-5+ 0; #args, #regs, #xmm_regs, [stack_size,] arg_names...
> +%macro PROLOGUE 2-5+ 0, 0 ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
>       %assign num_args %1
>       %assign regs_used %2
>       %assign xmm_regs_used %3
> @@ -547,7 +545,15 @@ DECLARE_REG 14, R13, 72
>       PUSH_IF_USED 9, 10, 11, 12, 13, 14
>       ALLOC_STACK %4
>       LOAD_IF_USED 6, 7, 8, 9, 10, 11, 12, 13, 14
> -    DEFINE_ARGS_INTERNAL %0, %4, %5
> +    %if %0 > 4
> +         %ifnum %4
> +             DEFINE_ARGS %5
> +         %else
> +             DEFINE_ARGS %4, %5
> +         %endif
> +     %elifnnum %4
> +         DEFINE_ARGS %4
> +     %endif
>   %endmacro
> 
>   %define has_epilogue regs_used > 9 || stack_size > 0 || vzeroupper_required
> @@ -588,7 +594,7 @@ DECLARE_REG 6, ebp, 28
> 
>   DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14
> 
> -%macro PROLOGUE 2-5+ ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
> +%macro PROLOGUE 2-5+ 0, 0 ; #args, #regs, #xmm_regs, [stack_size,] arg_names...
>       %assign num_args %1
>       %assign regs_used %2
>       ASSERT regs_used >= num_args
> @@ -603,7 +609,15 @@ DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14
>       PUSH_IF_USED 3, 4, 5, 6
>       ALLOC_STACK %4
>       LOAD_IF_USED 0, 1, 2, 3, 4, 5, 6
> -    DEFINE_ARGS_INTERNAL %0, %4, %5
> +    %if %0 > 4
> +         %ifnum %4
> +             DEFINE_ARGS %5
> +         %else
> +             DEFINE_ARGS %4, %5
> +         %endif
> +     %elifnnum %4
> +         DEFINE_ARGS %4
> +     %endif
>   %endmacro
> 
>   %define has_epilogue regs_used > 3 || stack_size > 0 || vzeroupper_required
> diff --git a/source/common/x86/x86util.asm b/source/common/x86/x86util.asm
> index fa8712257..fe8939332 100644
> --- a/source/common/x86/x86util.asm
> +++ b/source/common/x86/x86util.asm
> @@ -578,8 +578,10 @@
>       %elif %1==2
>           %if mmsize==8
>               SBUTTERFLY dq, %3, %4, %5
> -        %else
> +        %elif %0==6
>               TRANS q, ORDER, %3, %4, %5, %6
> +        %else
> +            TRANS q, ORDER, %3, %4, %5
>           %endif
>       %elif %1==4
>           SBUTTERFLY qdq, %3, %4, %5
> -- 
> 2.24.3 (Apple Git-128)
> 
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
> 


Would be nice, if somebody could look into this patch, because all this noise since NASM 2.15 is 
really anyoing.



More information about the x265-devel mailing list