Lin Runze
1d910b81ff
loongarch: Add emitter, JIT and disassembler support for LoongArch64
2025-07-12 03:21:23 +08:00
Henrik Rydgård
6e84cd7f38
Correct the clearing/destruction order when switching JITs.
...
Fixes #20502
2025-06-11 16:27:48 +02:00
Henrik Rydgård
ba148e5ec7
JIT/IRJit: Delete an old "function preloading" experiment
...
This caused some confusion while trying to debug #20502
2025-06-11 15:45:18 +02:00
Mark Zhuang
ec9401374e
IR: Fix compile error when enable IR_PROFILING
2025-05-21 14:04:01 +08:00
Henrik Rydgård
962bd8239d
Remove more excessive error reporting.
2025-03-02 02:28:45 +01:00
oltolm
02e767866a
fix compiler warnings
2025-02-22 14:15:15 +01:00
Henrik Rydgård
e93c80db4e
Cleaning up our SIMD header includes, using the new header
2024-12-19 16:08:48 +01:00
Henrik Rydgård
45cf6d423e
Buildfixes
2024-12-18 13:57:29 +01:00
Henrik Rydgård
83af54950f
Move more core-related stuff into Core.cpp/h
2024-12-08 11:54:58 +01:00
Henrik Rydgård
96c4a10e8c
Add two new core states, rename RUNNING to RUNNING_CPU and similar for stepping.
2024-12-01 21:04:21 +01:00
Henrik Rydgård
7992ff4627
Make CBreakpoints an object
2024-11-25 00:22:53 +01:00
Henrik Rydgård
d3e9398cb3
Split Core_EnableStepping into Core_Break and Core_Resume
2024-11-03 17:53:42 +01:00
Henrik Rydgård
2e85eb5128
More static code analysis fixes
2024-10-28 17:59:06 +01:00
Henrik Rydgård
e51c58716b
Fix minor code issues flagged by PVS-Studio and reported by alphrixus.
2024-10-10 14:10:30 +02:00
Henrik Rydgård
1a89c26dc0
Warning fixes
2024-10-03 18:19:11 +02:00
Nemoumbra
bd6c469543
Code-review fixes
2024-09-16 02:48:52 +03:00
Nemoumbra
08b20ce9c8
Buildfix for std::back_inserter
2024-09-14 20:16:17 +03:00
Nemoumbra
f23b04fb4a
Logic errors fixed + refactoring
2024-09-14 19:46:05 +03:00
Nemoumbra
ff5877e993
Renamed the IR instruction, new UI button added
2024-09-14 19:46:05 +03:00
Nemoumbra
a26afb4c2f
Implemented the trace reconstruction + bugs fixed
2024-09-14 19:46:05 +03:00
Nemoumbra
25f6b01d86
Added the initialization code + UI bindings + logs
2024-09-14 19:46:05 +03:00
Nemoumbra
e3b09bea59
Ported the MIPSLogger's UI + basic integration of MIPSTracer
2024-09-14 19:46:05 +03:00
Nemoumbra
34f113207d
Added the MIPSTracer files to the project + name fix
2024-09-14 19:46:04 +03:00
Nemoumbra
00cd142365
Comment fix + new QOL method
2024-09-14 19:46:04 +03:00
Nemoumbra
a6be0517dc
New IR instruction added
2024-09-14 19:46:04 +03:00
Henrik Rydgård
b6a3996e65
Remove a warning, change some & params to pointers for clarity, func rename
2024-09-11 11:48:12 +02:00
Henrik Rydgård
7139301692
IR interpreter: Replace the assert for downcount with a very predictable branch
...
Fixes breakpoints and other similar things, with a negligible penalty.
2024-09-11 11:24:43 +02:00
Henrik Rydgård
9fb97add3f
Bugfixes
2024-07-26 14:22:31 +02:00
Henrik Rydgård
96c4ae4457
TimeUtil: Minor cleanup, add precise_sleep()
2024-07-26 11:25:58 +02:00
Henrik Rydgård
eda60a5df9
IR: Disable unworkable overwriting of instructions on invalidation. Add debug-mode sanity check.
2024-07-22 12:03:53 +02:00
Henrik Rydgård
aa7fd6979e
Disable preloading of function stubs if bPreloadFunctions is off
...
Fixes #19349 . Strange that the game worked at all.
The issue is that the arena could get resized due to precompile during
sceKernelModuleLoad . Now respect the flag that turns precompile off
properly (we should probably make it work differently instead, if we're
gonna have it).
2024-07-22 09:51:58 +02:00
Henrik Rydgård
44f3d113d0
Buildfix
2024-07-22 09:08:47 +02:00
Henrik Rydgård
85e7ff7ac3
Target->Native renaming. More intuitive (at least to me)
2024-07-22 01:24:34 +02:00
Henrik Rydgård
898774a93d
Attempt more thorough block invalidation
2024-07-22 01:22:54 +02:00
Henrik Rydgård
d3e6f19b6d
Comments, log, cleanup
2024-07-22 01:15:35 +02:00
Henrik Rydgård
78c75e1a0b
Delete duplicate function (now that we can easily check for compileToNative)
2024-07-21 19:17:21 +02:00
Henrik Rydgård
9d36a08ec4
Some renaming, remove a gross hack
2024-07-21 19:12:51 +02:00
Henrik Rydgård
8a535ed5d4
Bugfix in DoIRInst, thanks Nemoumbra
2024-07-21 18:56:22 +02:00
Henrik Rydgård
fb499bf5bf
ARM32: Remove runtime checks for VFPv3 and NEON since we require these when building anyway.
2024-07-17 22:14:24 +02:00
Henrik Rydgård and GitHub
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
982a83d867
IRInterpreter: Optimize variable shifts (no need to mask by 0x1f)
2024-06-24 09:30:21 +02:00
Henrik Rydgård
06315ae6ee
IRInterpreter: Slight optimization for fmul
...
Just put stuff in temporaries, allows for better codegen
2024-06-24 09:12:57 +02:00
Henrik Rydgård
6ebec02f05
Fix crash in JITIR after disassembly improvement.
...
Fixes #19292
2024-06-22 15:16:27 +02:00
Henrik Rydgård
06e636bfdc
Build and comment fixes
2024-06-19 20:24:59 +02:00
Henrik Rydgård
e64d768113
Implement the same for ARM64
2024-06-19 20:00:36 +02:00
Henrik Rydgård
0080f71ca4
Implement FPU rounding mode support in the IR interpreter for x86/x64
2024-06-19 18:09:38 +02:00
Henrik Rydgård
9ef5250387
IRJit: If we're in "JIT using IR" mode, don't accidentally optimize for the interpreter.
2024-06-11 10:24:08 +02:00
Henrik Rydgård
5bfc0259be
Optimize away the redundant vector loads in the Wipeout games.
2024-06-08 23:22:58 +02:00
Henrik Rydgård
2ff91fab2b
Optimize a common case of the ins instruction
2024-06-08 23:10:29 +02:00
Henrik Rydgård
c9ca3904d3
Combine move-from-gpr and float cast.
2024-06-08 22:59:48 +02:00