bunnei
9aecde9446
Merge pull request #4090 from MerryMage/macrojit-bugs
...
macro_jit_x64: Optimization correctness
2020-06-18 22:28:17 -04:00
MerryMage
c0be8dd9d8
macro_jit_x64: Inline Engines::Maxwell3D::GetRegisterValue
2020-06-17 17:17:08 +01:00
bunnei
ad5d93f79b
Merge pull request #4086 from MerryMage/abi
...
xbyak_abi: Cleanup
2020-06-17 11:20:52 -04:00
MerryMage
3585126153
macro_jit_x64: Optimization implicitly assumes same destination
2020-06-17 10:36:36 +01:00
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.
2020-06-17 10:36:34 +01:00
bunnei
0a2ef33c8a
Merge pull request #4089 from MerryMage/macrojit-cleanup-1
...
macro_jit_x64: Cleanup
2020-06-16 23:44:48 -04:00
MerryMage
482bc63e56
macro_jit_x64: Remove NEXT_PARAMETER
...
Not required, as PARAMETERS can just be incremented directly.
2020-06-15 21:19:38 +01:00
MerryMage
7cfec874c6
macro_jit_x64: Remove unused function Compile_WriteCarry
2020-06-15 21:19:38 +01:00
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.
2020-06-15 21:19:38 +01:00
MerryMage
e95fadc8ec
macro_jit_x64: Remove REGISTERS
...
Unnecessary since this is just an offset from STATE.
2020-06-15 21:00:59 +01:00
MerryMage
0679fbb750
macro_jit_x64: Remove JITState::parameters
...
This can be passed in as an argument instead.
2020-06-15 20:55:02 +01:00
MerryMage
6c2fe67af2
macro_jit_x64: Remove METHOD_ADDRESS_64
...
Unnecessary variable.
2020-06-15 20:51:33 +01:00
MerryMage
7ef7a520ca
macro_jit_x64: Remove RESULT_64
...
This Reg64 codepath has the exact same behaviour as the Reg32 one.
2020-06-15 20:35:08 +01:00
MerryMage
f60ab4ab14
xbyak_abi: Remove *GPS variants of stack manipulation functions
2020-06-15 18:59:54 +01:00
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.
2020-06-15 05:17:55 -03:00
David Marcec
9eb0c2c15e
Default init labels and use initializer list for macro engine
2020-06-04 22:23:07 +10:00
David Marcec
cb42f51dc1
Mark parameters as const
2020-06-03 16:33:38 +10:00
David Marcec
d9082de7ea
Pass by reference instead of copying parameters
2020-06-02 16:37:06 +10:00
David Marcec
65b5d2dca6
Favor switch case over jump table
...
Easier to read and will emit a jump table automatically.
2020-05-30 12:23:58 +10:00
David Marcec
05eeb7de3d
Implement macro JIT
2020-05-30 11:40:04 +10:00