MerryMage
|
48693eb6ff
|
Implement coprocessor-related microinstructions
* CoprocInternalOperation
* CoprocSendOneWord
* CoprocSendTwoWords
* CoprocGetOneWord
* CoprocGetTwoWords
* CoprocLoadWords
* CoprocStoreWords
|
2017-01-08 14:56:06 +00:00 |
|
MerryMage
|
b3ae57619d
|
types: Formatting for CoprogReg
|
2017-01-08 14:56:06 +00:00 |
|
MerryMage
|
d8a37e287c
|
IR: Add IR type CoprocInfo
|
2017-01-08 14:56:06 +00:00 |
|
MerryMage
|
890b2f75ad
|
callbacks: Add coprocessor interface
|
2017-01-08 14:56:06 +00:00 |
|
MerryMage
|
1efd3a764d
|
IR: Remove unused microinstructions NegateLowWord and NegateHighWord
|
2017-01-05 20:16:39 +00:00 |
|
Fernando Sahmkow
|
70f4235ee9
|
Implement UXTAB16 (#78)
|
2016-12-29 12:15:18 +00:00 |
|
MerryMage
|
0d1fa85402
|
bit_util: Bit<T>(size_t, const T) cannot be constexpr
Compound statements are not permitted in constexpr functions in C++14
|
2016-12-29 10:08:35 +00:00 |
|
FernandoS27
|
d5610eb26c
|
Implement UHASX, UHSAX, SHASX and SHSAX (#75)
|
2016-12-28 21:32:22 +00:00 |
|
MerryMage
|
e9df248d56
|
decoder_detail: Support const member functions
|
2016-12-23 11:33:40 +00:00 |
|
MerryMage
|
163b67bf1f
|
mp: Add support for const member function pointers to FunctionInfo
|
2016-12-23 11:32:12 +00:00 |
|
MerryMage
|
b1bad4b5cc
|
decoder_detail: static_assert member function is from visitor class
Improves readability of compiler errors.
|
2016-12-23 11:10:02 +00:00 |
|
MerryMage
|
c7e5216473
|
emit_x64: EraseInstruction now also invalidates the instruction
There is now no longer a need to call DecrementRemainingUses on the parent
instruction.
|
2016-12-22 18:43:11 +00:00 |
|
MerryMage
|
c78f153ddb
|
decoder/arm: Sort decoders according to number of bits in mask
|
2016-12-22 15:25:38 +00:00 |
|
MerryMage
|
cb38c94b58
|
decoder/arm: Fix decoding of RFE
|
2016-12-22 15:25:07 +00:00 |
|
MerryMage
|
7e77ee7fd6
|
decoder/arm: Fix decoding of MCR2
|
2016-12-22 15:11:47 +00:00 |
|
Fernando Sahmkow
|
677f62dd6f
|
Implement SHSUB8 and SHSUB16 (#74)
* Implement IR operations PackedHalvingSubS8 and PackedHalvingSubS16
|
2016-12-22 12:02:24 +00:00 |
|
MerryMage
|
967f3cf7e1
|
Implement CPS (Thumb)
* Since currently only User mode is emulated, CPS is a NOP.
|
2016-12-21 22:44:27 +00:00 |
|
MerryMage
|
c764a2b889
|
Implement MUL (T1)
|
2016-12-21 22:44:14 +00:00 |
|
MerryMage
|
36082087de
|
callbacks: Read code using MemoryReadCode callback
|
2016-12-21 21:39:14 +00:00 |
|
MerryMage
|
80b2efbea7
|
callbacks: Add documentation
|
2016-12-21 20:37:19 +00:00 |
|
MerryMage
|
56ea2386d3
|
saturated: Implement SSAT and USAT
|
2016-12-21 19:51:25 +00:00 |
|
MerryMage
|
6a269a6ebd
|
IR: Add microinstructions UnsignedSaturation and SignedSaturation
|
2016-12-21 19:51:25 +00:00 |
|
MerryMage
|
b1df70578f
|
fuzz_arm: Add test cases for saturation instructions
|
2016-12-21 19:51:25 +00:00 |
|
MerryMage
|
b23b524b03
|
bit_util: Add SignExtend implementation with runtime bit_count argument
|
2016-12-21 19:51:25 +00:00 |
|
MerryMage
|
02b2ab7581
|
emit_x64: Pass tmp to ExtractMostSignificantBitFromPackedBytes in EmitPackedAddU8
|
2016-12-20 22:07:51 +00:00 |
|
MerryMage
|
097f6a83da
|
emit_x64: Document ExtractAndDuplicateMostSignificantBitFromPackedWords
|
2016-12-20 22:06:14 +00:00 |
|
MerryMage
|
03f168094d
|
emit_x64: Document ExtractMostSignificantBitFromPackedBytes
|
2016-12-20 22:05:51 +00:00 |
|
MerryMage
|
410e84434e
|
fuzz_arm: Add tests for QASX, QSAX, UQASX, UQSAX
|
2016-12-20 21:52:38 +00:00 |
|
FernandoS27
|
8919265d2c
|
Implement SADD8, SADD16, SSUB8, SSUB16, USUB16
|
2016-12-20 21:52:38 +00:00 |
|
FernandoS27
|
3f6ecfe245
|
Implemented USAD8 and USADA8
|
2016-12-20 21:52:38 +00:00 |
|
MerryMage
|
975987f38e
|
fuzz_arm: Add test for edge-case of UASX instruction
|
2016-12-20 20:04:38 +00:00 |
|
MerryMage
|
821b26e9d2
|
fuzz_arm: Add test for edge-case of SHSAX instruction
|
2016-12-20 19:12:21 +00:00 |
|
MerryMage
|
b1d3e7aae9
|
emit_x64: Refactor patching code
* Only have a single std::unordered_map for patching information
* Factor patch emitters into own functions
* Implement EmitX64::Unpatch
|
2016-12-20 14:06:55 +00:00 |
|
MerryMage
|
59aeed0b70
|
appveyor: Run tests on Windows
|
2016-12-19 00:48:27 +00:00 |
|
MerryMage
|
cc58666c06
|
CMakeLists: Use target_compile_options intead of add_compile_options
|
2016-12-19 00:48:25 +00:00 |
|
MerryMage
|
74a95ea51e
|
block_of_code: Rename alloc to AllocateFromCodeSpace
|
2016-12-18 23:43:48 +00:00 |
|
MerryMage
|
96e46ba6b5
|
Implement QADD, QSUB, QDADD, QDSUB
|
2016-12-15 22:34:29 +00:00 |
|
MerryMage
|
b178ab3bec
|
Replace (void)(...); idiom with UNUSED macro
|
2016-12-15 21:36:05 +00:00 |
|
MerryMage
|
276873bf70
|
Wrap #pragma warning with #ifdef _MSC_VER .. #endif
|
2016-12-15 21:36:02 +00:00 |
|
MerryMage
|
0e8b626d87
|
CMakeLists: Globally disable MSVC warning C4592
C4592: Symbol will be dynamically initialized (implementation limitation)
|
2016-12-15 21:09:55 +00:00 |
|
MerryMage
|
91e851a991
|
CMakeLists: Enable /W4 on MSVC
|
2016-12-15 20:52:23 +00:00 |
|
MerryMage
|
63caed7b09
|
emit_x64: Remove argument names of unused arguments
|
2016-12-15 20:52:22 +00:00 |
|
MerryMage
|
df197ff6b1
|
arm/types: Use smallest possible standard type that has sufficient bits for Imm{} types
|
2016-12-15 20:52:21 +00:00 |
|
MerryMage
|
546198d603
|
translate_arm: Mark arguments as unused
|
2016-12-15 20:52:20 +00:00 |
|
MerryMage
|
8d5522f4a0
|
dissassembler_arm: Support BKPT, QASX, QSAX, UQASX, UQSAX
|
2016-12-15 20:16:08 +00:00 |
|
Yuri Kunde Schlesner
|
34e19f135c
|
CMake: Re-use external xbyak target if present (#62)
|
2016-12-12 14:23:42 +00:00 |
|
MerryMage
|
5bea2e1680
|
block_of_code: Support stack unwinding on Windows
|
2016-12-12 07:49:18 +00:00 |
|
MerryMage
|
4962d92b79
|
block_of_code: Do not regenerate prelude when clearing cache
|
2016-12-12 07:49:18 +00:00 |
|
MerryMage
|
2a1cf94b1c
|
CMakeLists: Include backend_x64 only if we're targeting x86_64
|
2016-12-12 07:49:18 +00:00 |
|
MerryMage
|
dcc880a002
|
assert: _a_ expression string shouldn't be part of the format string
The expression may contain the % operator.
|
2016-12-12 07:49:18 +00:00 |
|