A32/ASIMD: Ensure decoder table is correct

* Raise a DecoderError instead of ASSERT-ing on a decode error
* Correct ASIMD decode table
* Write a test which verifies every possible ASIMD instruction
This commit is contained in:
MerryMage 2020-07-05 18:21:12 +01:00
parent 3c742960a9
commit 82868034d3
12 changed files with 183 additions and 62 deletions

View file

@ -29,6 +29,8 @@ enum class Exception {
/// An unpredictable instruction is to be executed. Implementation-defined behaviour should now happen.
/// This behaviour is up to the user of this library to define.
UnpredictableInstruction,
/// A decode error occurred when decoding this instruction. This should never happen.
DecodeError,
/// A SEV instruction was executed. The event register of all PEs should be set. (Hint instruction.)
SendEvent,
/// A SEVL instruction was executed. The event register of the current PE should be set. (Hint instruction.)