Hi all: I am Kito Cheng, one of the RISC-V port maintainers. I would like to announce we have created two vendor branches for accepting unratified extension support, in order to focus the development energy on FSF repo.
RISC-V is an open standard instruction set architecture, many ISA extensions are developing and are working in parallel by the RISC-V community, many people are wanting a usable toolchain for those unratified extensions for evaluation and/or experimental. We try to maintain that on downstream repo which is based on github, however it causes lots of maintenance issues, e.g. too many branches, copyright issues, so we decide to move those developments to the FSF after a long discussion with the RISC-V community. # The policy for those vendor branches Common policy for two branches: - Based on trunk, will be rebased regularly. - ChangeLog isn't a must, but nice to have. Policy for integration branch: - Accept released draft extension. Policy for experimental branch: - Accept working draft extension. - If there is a released draft for the extension, please submit the released draft extension one to the integration branch first if possible. - Might be rebased with the integration branch. # What is the different between released draft extension and working draft extension Released draft means there is a formal release version, for example, vector 0.10 and bitmanip 0.93 are released draft , there is tag for v 0.10 and b 0.93 and a corresponding released draft spec. Other than that, we call that a working draft, like vector 1.0 and bitmanip 0.94. # How to fetch those branches - Setup by contrib/git-fetch-vendor.sh script: You can use following command to enable fetching riscv branches: $ ./contrib/git-fetch-vendor.sh riscv - Setup by git command: $ git config --add remote.origin.fetch \ +refs/vendors/riscv/heads/*:refs/remotes/vendors/riscv/* $ git config --add remote.origin.fetch \ +refs/vendors/riscv/tags/*:refs/tags/vendors/riscv/* # Contribution For contributors who are interested in sending patches to those branches, you can send patches to gcc-patc...@gcc.gnu.org as normal patch submission flow, but with [riscv/integration] or [riscv/experimental] tag in the title. # What if we want a stable release for integration and experimental branch We don't have that yet, but we intend to maintain two corresponding branches for integration and experimental with the latest GCC release branch in future, e.g. integration-gcc-11 and experimental-gcc-11.