[dv] Psuedo instruction coverage for Bitmanip
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 2.1k
- Forks
- 810
- Avg merge
- 5d 23h
- Merged PRs (30d)
- 9
Description
Three bitmanip instructions seem to be missing coverage, orc.b, zext.h and rev8. They are being executed but they can be interpreted as pseudo-instruction forms of more general instructions or instructions in their own right depending on what bitmanip implementation you are using.
We should consider reworking our coverage collection to ensure executing these samples both the pseudo instruction form and the general instruction form (so it works with configs that don't have the general instruction form).
In the case of zext.h we don't implement the more general pack it uses but have to emit it in that form from the Ibex tracer due to LLVM/GCC tooling issues, see https://github.com/lowRISC/ibex/issues/1228
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the coverage collection code and the samples for orc.b, zext.h, and rev8. Determine how each sample is currently executed and how configurations without the general instruction form are handled; done means coverage exercises both the pseudo-instruction and general-instruction forms where applicable, including the zext.h/pack case.
Written by the indexing model from the issue text.
Assessment
- Domain
- testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100