You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A pair of dependent single-precision floating arithmetic/muldiv operations (not necessarily immediately following each other), provides wrong results in some cases, differing by one from the expectation.
We expect ft4= 0xffffffff2b7d8ded. I verified this with Spike.
However, VexRiscv returns ft0 = 0xffffffff2b7d8dee.
Notes
There may be commonality in the root cause with #310, #311, #312, # 313 and #314, however this time we do not require conversions to trigger the bug.
Thanks!
Flavien
The text was updated successfully, but these errors were encountered:
flaviens
changed the title
Bug report: fmul.s followed by fsub.s causes wrong output
Bug report: dependent single-precision operations cause wrong output
Feb 28, 2023
flaviens
changed the title
Bug report: dependent single-precision operations cause wrong output
Bug report: dependent arithmetic/muldiv single-precision operations cause wrong output
Feb 28, 2023
Hi there!
I've detected a bug in VexRiscv.
Brief bug description
A pair of dependent single-precision floating arithmetic/muldiv operations (not necessarily immediately following each other), provides wrong results in some cases, differing by one from the expectation.
Example instance 1
fadd.s
->fsub.s
Snippet
Here is an example RISC-V (rv32imfd) snippet:
Expected and actual results
We expect
ft2= 0xffffffffff7fffff
. I verified this with Spike.However, VexRiscv returns
ft0 = 0xffffffffff800000
.Example instance 2
fmul.s
->fsub.s
Snippet
Here is an example RISC-V (rv32imfd) snippet:
Expected and actual results
We expect
ft4= 0xffffffff2b7d8ded
. I verified this with Spike.However, VexRiscv returns
ft0 = 0xffffffff2b7d8dee
.Notes
There may be commonality in the root cause with #310, #311, #312, # 313 and #314, however this time we do not require conversions to trigger the bug.
Thanks!
Flavien
The text was updated successfully, but these errors were encountered: