RISC-V: fix C.Nop parsing
What
Fixes a bug in the compressed_instruction parser where some HINTS were incorrectly decoded as C.Nop.
Why
Correctness
How
Found by the included test: namely, that parsing an instruction and then converting it back to the original should be the identity function (ie that every possible u16 corresponds to a singular & unique result from parse_compressed
Manually Testing
make -C src/riscv all
Benchmarking
This change has been benchmarked on the benchmark machine and does not affect performance
Tasks for the Author
-
Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes). -
Eliminate dead code and other spurious artefacts introduced in your changes. -
Document new public functions, methods and types. -
Make sure the documentation for updated functions, methods, and types is correct. -
Add tests for bugs that have been fixed. -
Put in reasonable effort to ensure that CI will pass. -
Benchmark performance and populate the table above if needed. -
Write commit messages to reflect the changes they're about. -
Self-review your changes to ensure they are high-quality. -
Complete all of the above before assigning this MR to reviewers.
/assign @ole.kruger
/assign @victor-dumitrescu
/assign @felix.puscasu1
/assign @anastasia.courtney
/assign @emturner
/assign_reviewer @ole.kruger
/assign_reviewer @victor-dumitrescu
/assign_reviewer @felix.puscasu1
/assign_reviewer @anastasia.courtney
/assign_reviewer @emturner
/unassign me
/unassign_reviewer me
/ready
Edited by Emma Turner