MerryMage
|
0d65c187a3
|
tests/a64: Use format constants
|
2018-01-12 17:02:26 +00:00 |
|
MerryMage
|
3a0b7d59f0
|
imm: compiler bug: MSVC 19.12 with /permissive- flag doesn't support fold expressions
|
2018-01-12 17:01:21 +00:00 |
|
MerryMage
|
dd285abec5
|
A64/decoder: Split decoder data from header
|
2018-01-11 13:03:56 +00:00 |
|
MerryMage
|
30af089e49
|
ir_opt: Split off A32 specific passes
|
2018-01-11 13:03:56 +00:00 |
|
MerryMage
|
648212995c
|
A64: Implement LDP, STP
|
2018-01-11 13:03:54 +00:00 |
|
MerryMage
|
192e7a73ea
|
A64/location_descriptor: Fix -fpermissive warning on GCC
|
2018-01-10 18:56:12 +00:00 |
|
MerryMage
|
89bdade0a0
|
A64: Implement LDP, STP
|
2018-01-10 02:05:08 +00:00 |
|
MerryMage
|
16e50ca0db
|
A32: Implement load stores (immediate)
|
2018-01-10 01:30:30 +00:00 |
|
MerryMage
|
a5caa7cd8d
|
A64: Implement SVC
|
2018-01-09 21:30:13 +00:00 |
|
MerryMage
|
79091043f0
|
imm: bug: SignExtend wasn't working for T with bit size > 32
|
2018-01-09 21:22:17 +00:00 |
|
MerryMage
|
78ffd3da90
|
a64_emit_x64: Don't use far code for now
|
2018-01-09 21:21:50 +00:00 |
|
MerryMage
|
347a5c7171
|
EmitA64SetW: bug: should zero extend to entire 64-bit register
|
2018-01-09 21:21:15 +00:00 |
|
MerryMage
|
cc647ce869
|
EmitA64SetNZCV: bug: to_store is scratch
|
2018-01-09 21:20:55 +00:00 |
|
MerryMage
|
c029aef4da
|
emit_x86: Fix nzcv for EmitSub
|
2018-01-09 18:57:07 +00:00 |
|
MerryMage
|
f19f014a42
|
A64: Implement SVC
|
2018-01-09 18:57:07 +00:00 |
|
MerryMage
|
1aa4afaa22
|
a64_emit_x64: Call interpreter
|
2018-01-09 18:57:07 +00:00 |
|
MerryMage
|
6633a19d65
|
A64: Add batch register retrieval to interface
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
305456b407
|
A64: Implement compare and branch
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
08c25c9ae7
|
A64: PSTATE access and tests
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
c4abd1fda1
|
A64: Implement branch (register)
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
5497fe9056
|
A64: Implement branch
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
f3e763a667
|
A64: Implement logical
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
f0c29feddb
|
A64: Implement pcrel
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
8a8dcad250
|
A64: Implement addsub instructions
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
1431cedcaa
|
A64: Implement ADD_shifted
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
ef6fd92fed
|
A64: Backend framework
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
557fe60164
|
A64: Initial framework
|
2018-01-09 18:57:06 +00:00 |
|
MerryMage
|
cc0c084224
|
CMakeLists: CMAKE_CXX_STANDARD as no effect on MSVC until CMake 3.10
We add the /std:c++latest flag to DYNARMIC_CXX_FLAGS to fix this.
|
2018-01-09 18:41:22 +00:00 |
|
MerryMage
|
512dae0361
|
IR: Compile-time type-checking of IR
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
b88b7ecbbf
|
IR/Value: Rename RegRef and ExtRegRef to A32Reg and A32ExtReg
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
dbbbf4c331
|
Make IR->A32 LocationDescriptor conversion explicit
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
be094ff150
|
Final A32 refactor
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
faf64f4a5f
|
EmitX64: JitState type as template parameter
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
d95a01bcb3
|
Package up emit context
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
d67332e333
|
Rename JitState to A32JitState
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
053c58f48f
|
backend_x64: Split A32 specific emission into separate class
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
42c83fadce
|
IR: Split off A32 specific opcodes
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
f5402c8d82
|
A32: Split off A32 specific IREmitter
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
3e569047a5
|
Label A32 specific code appropriately
|
2018-01-09 18:20:57 +00:00 |
|
MerryMage
|
305fba50ba
|
Bump requirements to C++17
|
2018-01-01 20:33:44 +00:00 |
|
Phanto-m
|
672069608f
|
emit_x64: InvalidateCacheRanges: erase blocks after iterating through the map (#124)
|
2017-12-18 15:13:40 +00:00 |
|
MerryMage
|
ce9c265df0
|
EmitPackedHalvingSub{U,S}16: SSE2 implementation
|
2017-12-14 15:08:18 +00:00 |
|
MerryMage
|
13fa10e743
|
Merge branch 'misc'
These commits introduce context save and restore, and a small number of
optimizations that depend on their use for performance.
|
2017-12-12 22:07:39 +00:00 |
|
MerryMage
|
a7d2fac2d3
|
EmitPackedHalvingAddU8: Add SSE2 implementation
|
2017-12-12 16:11:22 +00:00 |
|
MerryMage
|
16ed4bd511
|
EmitPackedHalvingAdd{U,S}16: Add SSE2 implementation
|
2017-12-12 15:57:26 +00:00 |
|
MerryMage
|
afc47e1733
|
emit_x64: EmitSet{Register,ExtendedRegister32,ExtendedRegister64}: Store from current source
|
2017-12-12 15:28:37 +00:00 |
|
MerryMage
|
d1d4705364
|
Add re-entry prediction to avoid std::unordered_map lookups
|
2017-12-12 15:22:23 +00:00 |
|
MerryMage
|
dd07033dce
|
emit_x64: Optimize code emitted by EmitGetCpsr
|
2017-12-12 14:25:22 +00:00 |
|
MerryMage
|
c823ecf524
|
interface: Allow saving and storing of contexts
|
2017-12-12 14:24:07 +00:00 |
|
MerryMage
|
976a098bf6
|
jit_state: Split off CPSR.NZCV
|
2017-12-12 14:24:07 +00:00 |
|