Skip to content

Releases: riscv-mcu/riscv-gnu-toolchain

Nuclei RISC-V Toolchain 2024.06

01 Jul 03:48
Compare
Choose a tag to compare

This is the release note of Nuclei RISC-V Toolchain 2024.06, release is maded based on branch nuclei/2024-gcc13.

See https://doc.nucleisys.com/nuclei_tools/toolchain/gnu/intro.html about how to use this toolchain.

Please create issue if you are facing issues using Nuclei RISC-V Toolchain, see https://github.com/riscv-mcu/riscv-gnu-toolchain/issues

Known issues of this release: #18

New features

This new version of toolchain need to work with Nuclei Studio 2024.06, and it is already included in it.

Nuclei SDK 0.6.0 and NMSIS 1.2.1 need to use this new version of toolchain.

  • Known issues for 2023.10 & 2024.02 are fixed in this release.
  • Sync gcc13 changes with https://gcc.gnu.org/git/?p=gcc.git;a=shortlog;h=refs/vendors/riscv/heads/gcc-13-with-riscv-opts (2023-12-04)
  • Support scheduling for nuclei 100 series and nuclei 1000 series.
  • Support riscv bfloat16 extensions for binutils.
  • Support riscv Zilsd & Zcmlsd extensions for binutils.
  • More multilibs are added to support Nuclei 100 series and Zc extension.
  • Supports the definition of Nuclei NICE instructions and nuclei VNICE instructions in the form of .insn.
  • Optimize performance of Nuclei C Runtime Library with only a little code size overhead
  • Rename some Nuclei custom CSR name, and add support for some new Nuclei custom CSR.
  • Known issues reported for 2023.10 and 2024.02 are fixed in this release
    • Fixed bug with related to the return value of zcmp #12 .
    • Fixed bug with xl.addibne instruction cannot be generated #15 .
    • Disable cpymem pass for rvv the -mmemcpy-strategy=scalar option has been replaced with -mstringop-strategy=scalar #13 .

How to get prebuilt toolchain for windows or linux

Please click https://nucleisys.com/download.php#tools to find release 2024.06.

See other Nuclei Tools Releases

Full Changelog: nuclei-2023.10...nuclei-2024.06

Nuclei RISC-V Toolchain 2023.10

02 Nov 08:49
Compare
Choose a tag to compare

This is the release note of Nuclei RISC-V Toolchain 2023.10.

Warning

This 2023.10 toolchain has some issues in using Zc extension, please use 2024.02 release to replace this version.

Note: llvm compiler is introduced in Nuclei Toolchain for the first time, you can take a try with it, but with just official RISC-V ISA support, no Nuclei customized ISA supported.

This release is maded upon nuclei/2023 branch

Please create issue if you are facing issues using Nuclei RISC-V Toolchain, see https://github.com/riscv-mcu/riscv-gnu-toolchain/issues

Known issues of this release: #10

Toolchain source version update

  • Bump gcc from gcc 10.2 to gcc 13.1
  • Bump binutils from 2.36 to 2.40
  • Bump gdb from 10.0 to 13.2
  • Bump newlib 4.1.0 to 4.3.0
  • Bump libncrt from 2.0.0 to 3.0.0
  • Include clang release 17.0.2

New features

This new version of toolchain need to work with Nuclei Studio 2023.10, and it is already included in it.

Nuclei SDK 0.5.0 and NMSIS 1.2.0 need to use this new version of toolchain.

Nuclei Toolchain cross compile prefix changed from riscv-nuclei-elf- to riscv64-unknown-elf-

  • Both gcc and clang distributed in this release support latest RISC-V Vector Intrinsic API v0.12
  • -march compiler isa option changed to use both single-letter and multi-letter ISA extensions, see riscv-non-isa/riscv-toolchain-conventions#26, so previous single-lettler isa string such as b/p/k/v now all changed to multi-letter now, see https://doc.nucleisys.com/nuclei_sdk/develop/buildsystem.html#arch-ext for details isa string name changes.
  • P Extension draft 0.5.4 release and Nuclei DSP N1/N2/N3 support is added to gcc 13, isa naming is _xxldsp, _xxldspn1x, _xxldspn2x and _xxldspn3x
  • RISC-V Code Size Reduction extension called Zc* support is added to gcc 13, isa naming is _zca, _zcb, _zcf, _zcd, _zcmp and _zcmt
  • Nuclei Code Size Reduction extension called Xxlcz support is added to gcc 13, isa naming is _xxlcz, need to use together with Zc* extension
  • Other general extensions such as IMAFDCV and Zk* extension support is already added in gcc 13 officially, see https://gcc.gnu.org/gcc-13/changes.html
  • We also cherry picked upstream master branch's new feature such as Zicond and RVV auto vectorization.
  • Nuclei customized CSRs support are added in gcc 13
  • Nuclei libncrt C library upgrade to version 3.0.0, and library spilt into three parts(c library part + fileops part + heapops part), for more details, please check libncrt user guide distributed in toolchain share/pdf/Nuclei C Runtime Library Doc.pdf doc, eg. --specs=libncrt_small.specs in gcc10 now should change to --specs=libncrt_small.specs -lncrt_small -lfileops_uart -lheapops_basic in linker options, you can also refer to https://doc.nucleisys.com/nuclei_sdk/develop/buildsystem.html#stdclib.
  • We also changed multilib combinations to support B/P/Zc extensions, check it by riscv64-unknown-elf-gcc -print-multi-lib or riscv64-unknown-elf-clang -v
  • Toolchain prebuilt documentation can be found in share/pdf and share/doc folder.

How to get prebuilt toolchain for windows or linux

Please click https://nucleisys.com/download.php#tools to find release 2023.10.

See other Nuclei Tools Releases

Nuclei RISC-V GNU Toolchain 2022.08

25 Aug 11:02
Compare
Choose a tag to compare

Nuclei GNU Toolchain 2022.04 Release

01 Apr 07:09
Compare
Choose a tag to compare

This is the release version 2022.04 of Nuclei RISC-V GNU Toolchain

Main changes in this release:

  • Add b/p/v intrinsic support in riscv-gcc
  • Add libncrt library support in gnu toolchain, only rv32 is suppported

Nuclei GNU Toolchain, Version 2020.08

28 Oct 06:26
22fac80
Compare
Choose a tag to compare

Nuclei GNU Toolchain, Version 2020.08

This is the release version 2020.08 of Nuclei RISC-V GNU Toolchain

Main changes in this release:

  • Adding Nuclei RISC-V DSP instruction support(RV32/RV64), or the P-extension
  • Add CI build using github workflow

v9.2RC Toolchain

31 Aug 10:04
Compare
Choose a tag to compare
v9.2RC Toolchain Pre-release
Pre-release

Including GCC9.2, GDB, OpenOCD, Make.

This toolchain supports Nuclei's DSP extensions.