[PATCH 7/7] RISC-V: add zbb support to string functions
Conor Dooley
conor at kernel.org
Fri Nov 25 08:39:45 PST 2022
On Fri, Nov 25, 2022 at 05:35:39PM +0100, Christoph Müllner wrote:
> On Fri, Nov 25, 2022 at 4:28 PM Andrew Jones <ajones at ventanamicro.com> wrote:
> > /*
> > * Each sub-list is sorted alphabetically.
> > */
> > #define S_EXTENSIONS \
> > __RISCV_ISA_EXT_DATA(sscofpmf, RISCV_ISA_EXT_SSCOFPMF), \
> > __RISCV_ISA_EXT_DATA(sstc, RISCV_ISA_EXT_SSTC), \
> > __RISCV_ISA_EXT_DATA(svinval, RISCV_ISA_EXT_SVINVAL), \
> > __RISCV_ISA_EXT_DATA(svpbmt, RISCV_ISA_EXT_SVPBMT),
> >
> > #define Zi_EXTENSIONS \
> > __RISCV_ISA_EXT_DATA(zicbom, RISCV_ISA_EXT_ZICBOM), \
> > __RISCV_ISA_EXT_DATA(zihintpause, RISCV_ISA_EXT_ZIHINTPAUSE),
> >
> > #define Zb_EXTENSIONS \
> > __RISCV_ISA_EXT_DATA(zbb, RISCV_ISA_EXT_ZICBOM), \
> >
> > static struct riscv_isa_ext_data isa_ext_arr[] = {
> > Zi_EXTENSIONS
> > Zb_EXTENSIONS
> > S_EXTENSIONS
> > __RISCV_ISA_EXT_DATA("", RISCV_ISA_EXT_MAX),
> > };
>
> It might be worth to look how Binutils are grouping them:
> https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=bfd/elfxx-riscv.c#l1261
>
> They also group extensions together but use the following groups:
>
> const struct riscv_supported_ext *riscv_all_supported_ext[] =
> {
> riscv_supported_std_ext,
> riscv_supported_std_z_ext,
> riscv_supported_std_s_ext,
> riscv_supported_std_zxm_ext,
> riscv_supported_vendor_x_ext,
> NULL
> };
I think in this case, Drew's differentiation between Zi & Zb is an
improvement :)
More information about the linux-riscv
mailing list