-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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:
- 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:
- Approved PR to the Sail community for all code.
- 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
- Float: Add floating-point equals API in sail model - PR #403: Deprecated
- Float: Introduce floating point api NAN - #493: Merged
- Remove undefined_gen for if-else type float_bits - #516: Merged
- Float: Introduce floating point api infinite - #522: Merged
- Float: Delete error result file if test pass - #521: Merged
- Float: Fix comments typo in test and align space format - #533: Merged
- Float: Introduce floating point api sign - #542: Merged
- Float: Introduce floating point api zero - #563: Merged
Metadata
Metadata
Assignees
Labels
Type
Projects
Status