[PATCH] opcodes/aarch64: shrink aarch64_ext_ldst_reglist()'s data[]

Alice Carlotti alice.carlotti@arm.com
Wed Aug 6 15:37:35 GMT 2025


On Fri, Aug 01, 2025 at 09:22:36AM +0200, Jan Beulich wrote:
> The values are all pretty small; one is even a boolean. No point in
> wasting 32 bits for every one of the fields.

Ok - this matches what Richard asked for, and LGTM too.

Alice

> 
> --- a/opcodes/aarch64-dis.c
> +++ b/opcodes/aarch64-dis.c
> @@ -501,21 +501,21 @@ aarch64_ext_ldst_reglist (const aarch64_
>  
>    static const struct
>      {
> -      unsigned is_reserved;
> -      unsigned num_regs;
> -      unsigned num_elements;
> +      unsigned num_regs:8;
> +      unsigned num_elements:8;
> +      bool is_reserved:1;
>      } data [] =
> -  {   {0, 4, 4},
> -      {1, 4, 4},
> -      {0, 4, 1},
> -      {0, 4, 2},
> -      {0, 3, 3},
> -      {1, 3, 3},
> -      {0, 3, 1},
> -      {0, 1, 1},
> -      {0, 2, 2},
> -      {1, 2, 2},
> -      {0, 2, 1},
> +  {   {4, 4, false},
> +      {4, 4, true},
> +      {4, 1, false},
> +      {4, 2, false},
> +      {3, 3, false},
> +      {3, 3, true},
> +      {3, 1, false},
> +      {1, 1, false},
> +      {2, 2, false},
> +      {2, 2, true},
> +      {2, 1, false},
>    };
>  
>    /* Rt */


More information about the Binutils mailing list