Commit graph

786 commits

Author SHA1 Message Date
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
gdkchan
0bacc3fd63 Fix float constant passed to functions, save and restore non-volatile XMM registers, other fixes 2019-08-01 14:30:23 -03:00
gdkchan
87238b509c Use old memory access methods, made a start on SIMD memory insts support, some fixes 2019-08-01 14:30:23 -03:00
gdkchan
6f654c681e Support passing V128 structs, some cleanup on the register allocator, merge LDj3SNuD fixes 2019-08-01 14:30:23 -03:00
gdkchan
05498c36a8 Update FCVT (Scalar) encoding on the table to support the Half-float variants 2019-08-01 14:30:22 -03:00
gdkchan
ca3a73dd4e Implement FP & SIMD comparison instructions, and some fixes 2019-08-01 14:30:22 -03:00
gdkchan
bb3ccccd3c Fix check with tolerance on tester 2019-08-01 14:30:22 -03:00
gdkchan
0d553aff83 Add SCVTF and UCVTF (vector, fixed-point) variants to the opcode table 2019-08-01 14:30:22 -03:00
gdkchan
3c09d49067 Implement SIMD shift instruction and fix Dup_V 2019-08-01 14:30:22 -03:00
gdkchan
5d7aadd57c Implement float conversion instruction, merge in LDj3SNuD fixes, and some other misc. fixes 2019-08-01 14:30:22 -03:00