- May 26, 2022
-
-
Martyn Capewell authored
-
Martyn Capewell authored
-
- May 13, 2022
-
-
Martyn Capewell authored
Further simplification of the disassembler using mnemonics provided by the decoder.
-
Martyn Capewell authored
Further simplification of the disassembler using mnemonics provided by the decoder.
-
Martyn Capewell authored
Further simplification of the disassembler using mnemonics provided by the decoder.
-
Martyn Capewell authored
Further simplification of the disassembler using mnemonics provided by the decoder. Also, improve consistency of "unallocated" being reported for those instructions that are undefined.
-
Martyn Capewell authored
The decoder provides its users with a string that contains the mnemonic, and the disassembler already extracts this. Introduce a new function that uses this mnemonic, and apply it to the simplest disassembly cases.
-
Martyn Capewell authored
Where possible, apply the hash-computing user-defined literal ""_h, for clarity and maintainability.
-
- May 11, 2022
-
-
Martyn Capewell authored
Replace fixed size arrays with std::vector for static data used by the decoder, and store const references rather than copies in each decoding node.
-
- May 06, 2022
-
-
Martyn Capewell authored
Implement a user-defined literal to store existing decoder bit patterns as binary representations at build time, reducing the amount of static data used.
-
- May 04, 2022
-
-
Martyn Capewell authored
Introduce a user-defined literal that converts a string into its hash, and use it to initialises the keys in form-to-visitor maps.
-
- Apr 29, 2022
-
-
Martyn Capewell authored
Improve static code/data size by: 1) Removing the per-instruction visitor functions. The generic Visit() function can be overridden instead to intercept individual instructions, as shown in the existing custom disassembler example. 2) Remove the array of instruction forms. Instead infer the forms from the decoder tree defined by kDecodeMapping. As it's now unused, remove the INSTRUCTION_VISITOR_LIST define too.
-
- Mar 24, 2022
-
-
Martyn Capewell authored
Atomic instructions were calling the trace logging with the wrong element size, causing assertion failures when tracing them. Fix this, and add atomic instructions to the trace tests.
-
- Mar 17, 2022
-
-
Martyn Capewell authored
Scalar SIMD operations that write b, h, s or d registers should set the upper parts of the destination register to zero. Fix the scvtf and ucvtf instructions and add tests for all SISD instructions.
-
- Mar 09, 2022
-
-
Martyn Capewell authored
The MemOperand methods IsPreIndex() and IsPostIndex() checked only the addressing mode, leaving the source of the index (immediate or register) ambiguous. Add new versions that explicitly check for an immediate, and update the code to use them.
-
- Feb 17, 2022
- Feb 08, 2022
-
-
Martyn Capewell authored
Declaring the form_to_visitor maps as static members caused integration problems for some users. Instead, use a Singleton-like construction to wrap the map in a static accessor. Additionally, use unordered_map, as we don't need the ordered property of map.
-
- Feb 04, 2022
-
-
Martyn Capewell authored
Clang reports using bitwise-or where it expects logical-or as a warning.
-
- Jan 27, 2022
-
-
lioncash authored
In the previous change, we added a few filler values so that we were able to add support for detecting FEAT_AFP, however the necessary identifiers were already in place to support checking for FEAT_MTE1 and FEAT_MTE2, so we can fill in those blanks with the necessary identifiers
-
Lioncash authored
Allows querying for the existence of FEAT_AFP (alternate floating-point behavior). While we're in the same area, we can also fill in the remaining defined bits.
-
- Jan 26, 2022
-
-
Martyn Capewell authored
FlagM2 (bit 39, kAXFlag to VIXL) was missing from the HWCAP feature bits used for mapping Linux's feature reporting to VIXL. This caused subsequent bits to be off by one.
-
Martyn Capewell authored
GCC 10 sometimes fails on a ternary operator used in the SVE tests. Avoid this using a conditional.
-
- Jan 21, 2022
-
-
mmc28a authored
Rerun the code coverage test and update the record.
-
- Jan 18, 2022
- Jan 13, 2022
-
-
Martyn Capewell authored
Make it explicit that contributions to the project are covered by the cited licence.
-
Andrea Pappacoda authored
Fixes compilation on Debian armel, see https://buildd.debian.org/status/fetch.php?pkg=vixl&arch=armel&ver=5.1.0-1&stamp=1637517716&raw=0 Previously, Vixl would force hard float on all arm CPUs, by checking only for __arm__. This would cause GCC to throw an internal error when compiling with -mfloat-abi=soft. See also this example on Compiler Explorer: https://compiler-explorer.com/z/zsn5vaMna
-
- Jan 11, 2022
-
-
Martyn Capewell authored
Replace COMPARE_PREFIX with COMPARE in disassembler tests where the entire output string should be tested, and fix an error revealed in the tests.
-
Martyn Capewell authored
Add SVE instructions to the document, and include a linked index at the beginning.
-
- Jan 07, 2022
-
-
Martyn Capewell authored
Prompted by https://github.com/Linaro/vixl/pull/9 enabled -Wshadow generally.
-
Mike Hommey authored
Clang 14 (current trunk) warns about the use of a bitwise operation on booleans.
-
Mai M authored
Prevents -Wshadow warnings from appearing in including projects with -Wshadow enabled. operands-aarch64.h defines a bunch of vector register convenience operands via the DEFINE_VREGISTERS preprocessor define, which results in the b5 convenience operand shadowing this variable
-
- Jan 06, 2022
-
-
Martyn Capewell authored
Update the supported architecture feature table to reflect the current code and enable the I8MM disassembler feature tests.
-
Matthew Bentham authored
Change-Id: If412db4a3b0121f0626c102e4b40c21629ede8c1
-
mmc28a authored
Disable linter for calls to regex_match, as this causes failures for the version of clang-tidy used in the Mac CI.
-
- Jan 04, 2022
-
-
TatWai Chong authored
Re-generate tools/code_coverage.log as the record is too old.
-
- Dec 01, 2021
-
-
Martyn Capewell authored
Remove more switch/case constructions from the disassembler when the change to using the decoder's provided instruction forms makes the code simpler.
-
- Nov 26, 2021
-
-
Martyn Capewell authored
Share the mapping from instruction to handler in the simulator and CPU features auditor, removing a lot of duplicated initialisation.
-
Martyn Capewell authored
-