David Marcec
e5adcda905
Fix constbuffer for 0217920100488FF7
6 years ago
David Marcec
74e48d2a98
Macro HLE support
6 years ago
MerryMage
0192b77e5b
macro_jit_x64: Use ecx for shift register
shl/shr only accept cl as their second argument
6 years ago
Lioncash
909f289531
macro_jit_x64: Correct readability of Compile_ExtractShiftLeftImmediate()
Previously dst wasn't being used.
6 years ago
Lioncash
d7fa20d641
macro_jit_x64: Correct readability of Compile_ExtractShiftLeftRegister()
Previously dst wasn't being used.
6 years ago
Lioncash
a99150a132
macro_jit_x64: Remove unused variable
Removes a completely unused label and marks another variable as unused,
given it seems like it has potential uses in the future.
6 years ago
Lioncash
f8e0f67e22
macro_jit_x64: Eliminate variable shadowing in Compile_ProcessResult()
We can reduce the capture scope so that it's not possible for both "reg"
variables to clash with one another.
While we're at it, we can prevent unnecessary copies while we're at it.
6 years ago
MerryMage
82b575087f
macro_jit_x64: Remove unused function Read
6 years ago
MerryMage
c0be8dd9d8
macro_jit_x64: Inline Engines::Maxwell3D::GetRegisterValue
6 years ago
MerryMage
3585126153
macro_jit_x64: Optimization implicitly assumes same destination
6 years ago
MerryMage
b12de7b4e5
macro_jit_x64: Should not skip zero registers for certain ALU ops
The code generated for these ALU ops assume src_a and src_b are always valid.
6 years ago
MerryMage
482bc63e56
macro_jit_x64: Remove NEXT_PARAMETER
Not required, as PARAMETERS can just be incremented directly.
6 years ago
MerryMage
7cfec874c6
macro_jit_x64: Remove unused function Compile_WriteCarry
6 years ago
MerryMage
666a023957
macro_jit_x64: Select better registers
All registers are now callee-save registers.
RBX and RBP selected for STATE and RESULT because these are most commonly accessed; this is to avoid the REX prefix.
RBP not used for STATE because there are some SIB restrictions, RBX emits smaller code.
6 years ago
MerryMage
e95fadc8ec
macro_jit_x64: Remove REGISTERS
Unnecessary since this is just an offset from STATE.
6 years ago
MerryMage
0679fbb750
macro_jit_x64: Remove JITState::parameters
This can be passed in as an argument instead.
6 years ago
MerryMage
6c2fe67af2
macro_jit_x64: Remove METHOD_ADDRESS_64
Unnecessary variable.
6 years ago
MerryMage
7ef7a520ca
macro_jit_x64: Remove RESULT_64
This Reg64 codepath has the exact same behaviour as the Reg32 one.
6 years ago
MerryMage
f60ab4ab14
xbyak_abi: Remove *GPS variants of stack manipulation functions
6 years ago
ReinUsesLisp
0f1f859a40
video_core/macro_jit_x64: Remove initializer in member variable
Fix build time issues on gcc. Confirmed through asan that avoiding this
initialization is safe.
6 years ago
David Marcec
9eb0c2c15e
Default init labels and use initializer list for macro engine
6 years ago
David Marcec
cb42f51dc1
Mark parameters as const
6 years ago
David Marcec
d9082de7ea
Pass by reference instead of copying parameters
6 years ago
David Marcec
65b5d2dca6
Favor switch case over jump table
Easier to read and will emit a jump table automatically.
6 years ago
David Marcec
05eeb7de3d
Implement macro JIT
6 years ago