Commit Graph

3459 Commits

Author SHA1 Message Date
MerryMage
6ccde4718e fixup! Common: Move SignExtend and bits into BitUtil 2016-04-06 20:34:33 +01:00
MerryMage
ad46ecb125 fixup! ARM/Decoder: Misc fixes 2016-04-06 20:34:33 +01:00
MerryMage
9555adb4f1 fixup! ARM/Decoder: Various fixes
* Use C++14 std::integer_sequence.
* Split ArmDecoder::Instruction into ArmInstruction and ThumbInstruction
* Make Cond, Register, ShiftType and SignExtendRotation enum classes.
* ThumbMatcher is no longer allocated on the heap.
* JitX64::CondManager now uses Cond instead of SkyEye's ConditionCode.
* Add utility functions IsArmRegValid and MakeArmRegList.
2016-04-06 20:34:33 +01:00
MerryMage
d9cf6474cf JitX64: Removed old page table code 2016-04-06 20:34:33 +01:00
MerryMage
6eddd09f30 ARM/Decoder: Fill out more instructions 2016-04-06 20:34:33 +01:00
MerryMage
8ee5ba3e8f ARM_Jit: ClearCache upon construct 2016-04-06 20:34:33 +01:00
MerryMage
a5e3874db8 JitX64: Implement exception-generating instructions 2016-04-06 20:34:33 +01:00
MerryMage
1f8217a09b JitX64: Implement synchronisation instructions 2016-04-06 20:34:33 +01:00
MerryMage
8bd590ed99 tests/JitX64: Fix thumb tests 2016-04-06 20:34:33 +01:00
MerryMage
20d87c315a JitX64: Load/Store: Add UNPREDICTABLE ASSERTs, correct LDR R15 behavior 2016-04-06 20:34:33 +01:00
MerryMage
32d81463cf fixup! Fix non-MSVC builds 2016-04-06 20:34:33 +01:00
MerryMage
903d39cee5 tests/JitX64: Improve thumb instruction test coverage 2016-04-06 20:34:33 +01:00
MerryMage
089d9ddb05 JitX64: Implement SETEND 2016-04-06 20:34:33 +01:00
MerryMage
d4fc4e209a JitX64: Implement load and store multiple 2016-04-06 20:34:33 +01:00
MerryMage
67553cf56c JitX64: Implement load/store instructions 2016-04-06 20:34:33 +01:00
MerryMage
bef912b7ec MMIO: UnmapRegion 2016-04-06 20:34:33 +01:00
MerryMage
5e8d1e0289 x64 ABI: Be explicit about Gen:: namespace 2016-04-06 20:34:33 +01:00
MerryMage
ec7c34ec92 JitX64: Data Processing: Implement shift-by-register (_rsr) instructions 2016-04-06 20:34:33 +01:00
MerryMage
fc1f126ec5 JitX64: Data Processing: Implement shift-by-immediate (_reg) instructions 2016-04-06 20:34:33 +01:00
MerryMage
1e57d34c0b JitX64: Implement 32-bit thumb BL(X) instruction 2016-04-06 20:34:33 +01:00
MerryMage
c5dc3fedd5 JitX64: Implement branch instructions 2016-04-06 20:34:33 +01:00
MerryMage
578e5881cc ARM_Disasm: Disassemble BLX 2016-04-06 20:34:33 +01:00
MerryMage
7aaef09f7d Common: Add MathUtil::SignExtend 2016-04-06 20:34:33 +01:00
MerryMage
e3eb4c068d tests/JitX64: Initial thumb tests 2016-04-06 20:34:33 +01:00
MerryMage
d00db8c525 fixup! tests/JitX64: Address comments 2016-04-06 20:34:33 +01:00
MerryMage
9874fae84b fixup! Addressed comments regarding JitX64::JitX64 2016-04-06 20:34:33 +01:00
MerryMage
25201712db fixup! JitX64/RegAlloc: Rename member functions to (Lock|Bind)ArmFor(Read|ReadWrite|Write). 2016-04-06 20:34:33 +01:00
MerryMage
67ed95cb7d tests/JitX64: Add tests for testing data processing instructions with Rd=R15 2016-04-06 20:34:33 +01:00
MerryMage
be46235efe tests/JitX64: Improve tests 2016-04-06 20:34:33 +01:00
MerryMage
550fef508e JitX64/RegAlloc: Improve documentation and improve method names 2016-04-06 20:34:33 +01:00
MerryMage
26c18cc21e fixup! Fix bugs in thumb decoder & have it use boost::optional 2016-04-06 20:34:33 +01:00
MerryMage
e86f27ad72 fixup! Builds on OS X now 2016-04-06 20:34:33 +01:00
MerryMage
486d14b7d8 fixup! Arm/ArmDecoder: Address comments regarding the arm decoder and check versions of all arm instructions 2016-04-06 20:34:33 +01:00
MerryMage
52558ae8be JitX64: Implement immediate data processing instructions 2016-04-06 20:34:33 +01:00
MerryMage
a80f9d8a66 JitX64: Implement ADC_imm 2016-04-06 20:34:33 +01:00
MerryMage
5331b7c4a5 JitX64: Implement ARM_Jit::ClearCache() 2016-04-06 20:34:33 +01:00
MerryMage
02c3484dbc tests/JitX64: Fuzz ARM data processing instructions 2016-04-06 20:34:33 +01:00
MerryMage
91152ad2b2 dyncom: Implement Arm_DynCom::ClearCache() 2016-04-06 20:34:33 +01:00
MerryMage
12da8ebc2e tests: Infrastructure for unit tests 2016-04-06 20:33:08 +01:00
MerryMage
25dfc94cb4 JitX64: Implement ARM_Jit
ARM_Jit is the ARM_Interface for the x64 recompiler.
2016-04-06 20:33:08 +01:00
MerryMage
4f012099a0 JitX64: Add accessors for ARMul_State::exclusive_tag and ARMul_State::exclusive_state 2016-04-06 20:33:08 +01:00
MerryMage
b9a852b048 JitX64: Initial implementation of JitX64 compiler 2016-04-06 20:33:08 +01:00
MerryMage
e34c66d62b JitX64: Implement register allocator 2016-04-06 20:33:08 +01:00
MerryMage
a8dec47797 ARM/Decoder: Initial implementation 2016-04-06 20:33:08 +01:00
bunnei
dccadce074 Merge pull request #1435 from mailwl/frd_u
frd:u: Initial stub some functions
2016-04-05 23:04:35 -04:00
Mathew Maidment
aa6380e5bc Merge pull request #1643 from MerryMage/make_unique
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
a06dcfeb61 Common: Remove Common::make_unique, use std::make_unique 2016-04-05 13:31:17 +01:00
bunnei
b393408496 Merge pull request #1620 from LFsWang/path
Fix filename&path encode problem on Windows
2016-04-04 21:55:08 -04:00
Yuri Kunde Schlesner
e3905cdfd8 Merge pull request #1640 from lioncash/cpp14
CMakeFiles: Compile as C++14
2016-04-03 13:56:50 -07:00
Lioncash
5181b4a0df travis: Update dependencies 2016-04-03 15:45:48 -04:00