Commit graph

795 commits

Author SHA1 Message Date
gdkchan
7f59d50cd3 Ensure that Spill and Fill don't load or store any more than necessary 2019-08-08 12:00:10 -03:00
gdkchan
1dcb921904 Enable AssumeStrictAbiCompliance by default 2019-08-04 14:18:55 -03:00
gdkchan
e04798294a Fix types, etc 2019-08-04 11:23:32 -03:00
gdkchan
cccf235b13 Address PR feedback 2019-08-04 11:16:39 -03:00
gdkchan
c2ff284a1f Add missing namespace and remove unneeded using 2019-08-02 22:46:32 -03:00
gdkchan
cfcd0948b6 Do not use fixed registers as spill temp 2019-08-02 22:39:17 -03:00
gdkchan
9c311d0c0a Remove register assignments for most used variables on the hybrid allocator 2019-08-02 21:24:06 -03:00
gdk
2fde9f96a4 Allow exiting on returns to 0 (should fix test regression) 2019-08-02 13:13:26 -03:00
gdk
90605fcbe0 Ensure that the selected register is valid on the hybrid allocator 2019-08-01 23:43:59 -03:00
gdkchan
a1a589d31e Update the Ryujinx project to use ARMeilleure 2019-08-01 20:55:03 -03:00
gdkchan
6c54009f23 Change win10-x64 to win-x64 on projects 2019-08-01 18:45:04 -03:00
gdkchan
8c14041c34 Allow switching between CPUs through a config entry (pt. 2) 2019-08-01 18:23:56 -03:00
gdkchan
8d7adc7be7 Add runtime identifiers on the ARMeilleure project 2019-08-01 18:19:58 -03:00
gdkchan
15dc188dc4 Allow changing CPU emulators with a config entry 2019-08-01 17:55:27 -03:00
gdkchan
5708164352 CpuThreadState is gone 2019-08-01 14:38:49 -03:00
gdkchan
3edfb06099 Some nits, small improvements on the pre allocator 2019-08-01 14:34:57 -03:00
gdkchan
ac5f4894ac Add a new register allocator, higher quality code for hot code (tier up), and other tweaks 2019-08-01 14:34:57 -03:00
gdkchan
9f4e6815c7 Float operands don't need to use the same register when VEX is supported 2019-08-01 14:34:56 -03:00
gdkchan
c7e78bcb45 Another fix on VectorInsert FP32 (thanks to LDj3SNuD 2019-08-01 14:34:56 -03:00
gdkchan
6b42189d05 Avoid memory protection races on JIT Cache 2019-08-01 14:34:56 -03:00
gdkchan
eaa734b8e6 Port over the ARM32 instructions 2019-08-01 14:34:56 -03:00
gdkchan
8938e9f2e0 Fix vector insert FP32 SSE2 path 2019-08-01 14:34:56 -03:00
gdkchan
1c18425884 Some refactoring 2019-08-01 14:34:56 -03:00
gdkchan
4d4ccd6c52 Add an extra space on comments to match code style 2019-08-01 14:34:56 -03:00
gdkchan
bbad6280b1 Fix a regression related to calls and the V128 type 2019-08-01 14:34:56 -03:00
gdkchan
846ebe9a9c Rename Dest to Destination and Inst to Instruction 2019-08-01 14:34:56 -03:00
gdkchan
db5e612914 Change placement of XMM callee save and restore code to match other compilers 2019-08-01 14:34:56 -03:00
gdkchan
a3ea200444 Fix SSE2 VectorInsert8 path, and other fixes 2019-08-01 14:34:56 -03:00
gdkchan
36be15fe6c Support multiple destination operands 2019-08-01 14:34:56 -03:00
gdk
ceb5c055a0 Initial support for the System-V ABI 2019-08-01 14:34:56 -03:00
gdkchan
40b8a2a750 Generate inline stack probes when the stack allocation is too large 2019-08-01 14:34:56 -03:00
gdkchan
15f73fa36d Fix silly mistake introduced on last commit on CpuId 2019-08-01 14:34:56 -03:00
gdkchan
581b7c8bbf Add SSE2-only paths on vector extract and insert, some refactoring on the pre-allocator 2019-08-01 14:34:56 -03:00
gdkchan
3a0676c596 Fix regression on Sha1h and revert Fcm** changes 2019-08-01 14:34:55 -03:00
gdkchan
93963c97d2 Add hardware capability detection 2019-08-01 14:34:55 -03:00
gdkchan
679ff7271d Fix REX.W prefix regression on float conversion instructions, add some sort of profiler 2019-08-01 14:34:55 -03:00
gdkchan
c114de7ff4 Remove some unused code on the assembler 2019-08-01 14:34:55 -03:00
gdkchan
e091b06cf9 Some refactoring on the code generator, assert on invalid operations and use a separate enum for intrinsics 2019-08-01 14:34:55 -03:00
gdkchan
beda03f8c8 Use generic GetFunctionPointerForDelegate method and other tweaks 2019-08-01 14:34:55 -03:00
gdkchan
686f7f4ff2 Stop using GetFunctionPointer as that can't be called from native code, misc. fixes and tweaks 2019-08-01 14:34:55 -03:00
gdkchan
70970b4c22 Update ITimeZoneService 2019-08-01 14:34:55 -03:00
gdkchan
fbf7f83677 Update Ryujinx.Tests 2019-08-01 14:33:04 -03:00
gdkchan
2910e1e670 Fix V128 return pointer passing, RCX is clobbered 2019-08-01 14:33:04 -03:00
gdkchan
bae5a93e3a Update Ryujinx.Graphics 2019-08-01 14:33:04 -03:00
gdkchan
c533716e5d Update Ryujinx.HLE 2019-08-01 14:33:04 -03:00
gdkchan
4069fa8e33 Add a faster linear scan allocator, unwinding support on windows, and other changes 2019-08-01 14:30:25 -03:00
gdkchan
4f38a65509 Update tests 2019-08-01 14:30:24 -03:00
gdkchan
ba9ff58d94 Misc. fixes and integrate LDj3SNuD fixes 2019-08-01 14:30:24 -03:00
gdkchan
c306809b0b More instructions 2019-08-01 14:30:24 -03:00
gdkchan
9f8fbc1d8a Fix arguments count with struct return values, other fixes 2019-08-01 14:30:23 -03:00