Skip to content

Sail Softfloat Replacement #40

@jjscheel

Description

@jjscheel

Technical Group

Applications & Tools HC

ratification-pkg

Technical Debt

Technical Liaison

Bill McSpadden

Task Category

Sail

Task Sub Category

  • gcc
  • binutils
  • gdb
  • intrinsics
  • Java
  • KVM
  • ld
  • llvm
  • Linux kernel
  • QEMU
  • Spike

Ratification Target

3Q2023

Statement of Work (SOW)

Component names:
Sail

Requirements:
In the RISC-V Sail model, floating point operations are implemented (executed) using the Berkley SoftFloat package (written by John Hauser). See: https://github.com/riscv/sail-riscv/tree/master/c_emulator/SoftFloat-3e
This code is written in C in roughly 320 files and 37K lines of code. (Note: some of this work has already been done in support of Vector Crypto by Charalampos Mitrodimas.)

The functionality in SoftFloat needs to be replicated in native Sail code. The primary purpose of this project is to provide a native Sail description of floating point operations which can be used as the canonical definition of FP ops for RISC-V. This Sail code can be imported into the RISC-V ISA documentation.

The API interface for floating point ops must remain the same.

Deliverables:

  1. Set of Sail files that fully implement the functionality of SoftFloat. The code will live in the RISC-V Sail (golden model) repository.

Acceptance Criteria:

  1. Approved PR to the Sail community for all code.
  2. ACT test results equivalency between new and Softfloat (prior) code bases.

Projected timeframe: (best guess date)
6 person months

SOW Signoffs: (delete those not needed)

  • Development partner sign-off
  • Golden Model SIG sign-off (if SAIL work)

Waiver

  • Freeze
  • Ratification

Pull Request Details

Metadata

Metadata

Type

No type

Projects

Status

As-planned

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions