Skip to content

Releases: pulp-platform/riscv-gnu-toolchain

v2.5.0

10 Mar 19:51
Compare
Choose a tag to compare

Added

  • gcc: Add xfhalf, xfalthalf, xfhalfinx and xfhalthalfinx support. This
    means code generation in the backend, libgcc changes to make softfloat
    routines set the fcsr, itanium style name mangling rules for and some helper
    routines when truncating doubles.
  • gcc: Add xfhalf and xfalthalf compile test
  • binutils: Add xfhalfinx and xfalthalfinx support
  • gdb/sim: Add xfhalf and xfhalfinx support
  • gdb/sim: Add float and half float tests generated by patched TestFloat-3e
  • newlib: Add support for zfinx (POSIX fenv)

Changed

  • gcc, binutils: Conversion instructions between half float and other float
    modes are automatically inferred. Internally, they are stil handled separately
    to make changes such as selectively disabling them easier.

Fixed

  • binutils: Add fcsr alias instructions for zfinx
  • gdb/sim: NaN boxing for floats in double float registers
  • gdb/sim: dynamic rounding mode didn't work at all
  • gdb/sim: Add RISC-V NaN behavior (canonical NaN instead of complicated rules)
  • gcc: Various typos in tests
  • gcc: Hardware loops for the xcorev target are now disabled (due to wrong
    code generation)
  • gcc: Nested looping code now properly results in nested hardware loop
    instructions

v2.4.0

10 Mar 19:49
Compare
Choose a tag to compare

Added

  • gcc, binutils, sim: Add support for zfinx and zdinx (rv32 and rv64). Use
    zfinx (replaces f) and zdinx (replaces d).
  • gcc, binutils: Add basic zfinx/zdinx tests
  • Added zfinx multilibs

Changed

  • sim: Now uses arch attribute from elf do determine supported extension

Fixed

  • gcc: Fix __builtin_pulp_ClusterId() and add test
  • gdb: backported fix for NULL pointer deref when using focus or winheight
    command (only happens when using a bleeding edge gcc)
  • sim: Fix postmod load/store when using the same register as destination and
    source.

v2.3.0

10 Mar 19:46
Compare
Choose a tag to compare

Added

  • gcc: Add simd complex insn
  • gcc: Add pulp specific tests

Changed

  • gcc: Generalize simd md patterns
  • gcc: builtins are now available depending on enabled subextensions instead of
    pulp core version hackery.

Fixed

  • gcc: xpulpvect was not working as argument, but xpulpvectall was
  • gcc: Fix single standing xpulphwloop arch string

v2.2.0

10 Mar 19:43
Compare
Choose a tag to compare

Added

  • gdb/sim: Add pulp vector insn
  • gdb/sim: Add bitrev insn
  • gdb/sim: Add testsuite

Fixed

  • gas: Add p.bitrev and simd complex to pulpv3 and corev
  • gdb/sim: Fix clip boundaries
  • gdb/sim: Improve error handling
  • gcc: V2QI moves
  • gcc: Use pv.pack instead of pv.pack.h

Changed

  • gdb/sim: Set default simulation model to corev
  • gcc: Enable SIMD support. Was functional, but disabled.

v2.1.3

10 Mar 19:39
Compare
Choose a tag to compare

Added

  • Allow setting pkversion string (--with-pkgversion=ABC)

Changed

  • gdb, sim: Rebased binutils patches