-
Notifications
You must be signed in to change notification settings - Fork 2
riscv_float_combined_1
Tsukasa OI edited this page Oct 1, 2022
·
8 revisions
- Status: Merged for Binutils 2.40
- Branch:
riscv-float-combined-1 - Tracking PR: #63 (view Pull Request and Diff)
- Mailing List:
- PATCH v1 (2022-09-28)
-
Combined floating point enhancements
This patchset is a subset of this (but modified).
I enhanced Zfinx/Zdinx/Zqinx testcases based on Jiawei's Zhinx support patch.
I also...
- Made indentation / coding style consistent and clean
- Started to use valid register number (on
Zqinx) - Started to use different register per operand
On Zfinx/Zdinx/Zqinx, fmv instructions seem redundant but actually not.
On RV32_Z[dq]inx and RV64_Zqinx, it requires register pair. That means, single...
fmv.d x10, x12
is equivalent to 2 regular instructions on RV32_Zdinx (with 32-bit GPRs):
mv x10, x12
mv x11, x13
Since fsgnj.[sdq] (base instruction of fmv.[sdq]) are a part of Z[fdq]inx extensions, it's safe to implement this pseudo-instructions.
This patch makes fmv.[sdq] available to Zfinx/Zdinx/Zqinx environments.
Note that fmv.h instruction is already a part of both Zfh and Zhinx extensions.