Supporting RISC-V Vendor Extensions in the GNU Toolchain

Florian Weimer fweimer@redhat.com
Fri May 13 10:58:06 GMT 2022


* Christoph Müllner via Binutils:

> I'd like to add two points to this topic and raise two questions.
>
> 1) Accepting vendor extensions = avoidance of fragmentation
>
> RISC-V implementors are actively encouraged to implement their
> own ISA extensions. To avoid fragmentation in the SW ecosystem
> (every vendor maintains a fork of tools, distros and binaries) there
> needs to be a principle acceptance to get vendor extension support
> upstream.

If you eventually want portable binaries, it's necessary to converge on
a small set of widely implemented extensions.  x86 didn't have this, and
adoption was poor outside specialized libraries (and JIT, of course).
Yet everything was as upstream as possible (ISA manuals, assemblers,
compiler intrinsics, even automated adoption by optimizers).  So
upstreaming is only the first step.

Not every useful CPU feature can be adopted through run-time dispatching
(IFUNCs, function multi-versionining).

Thanks,
Florian



More information about the Binutils mailing list