Skip to content

v2.5.0

Choose a tag to compare

@bluewww bluewww released this 10 Mar 19:51
· 6 commits to master since this release

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