45 Commits

Author SHA1 Message Date
DeaTh-G
7a3db6837f add remaining altivec instructions 2024-11-24 11:26:14 +01:00
Sajid
4b47b24afd Allow overloads of ppc load/store macros 2024-11-24 16:16:08 +06:00
Sajid
e5317bda48 Detect MMIO writes via eieio 2024-11-24 15:36:50 +06:00
Skyth
d8676283fd Implement a better way to combat Clang's unsafe code reordering. 2024-11-17 21:00:36 +03:00
Sajid
54cb41c4db Recompiler: Fix accidental impl linkage 2024-09-30 20:41:32 +06:00
Sajid
8d8346c2a2 Recompiler: Use implementation aliases 2024-09-30 18:45:07 +06:00
Sajid
c4de70262f Recompiler: write ppc_context.h 2024-09-30 13:39:47 +06:00
Skyth
acd49010e6 Remove MSVC macros & implement weak linking properly for clang. 2024-09-27 18:47:35 +03:00
Skyth
8639a690e5 Make some FPU operations more explicit. 2024-09-27 12:37:12 +03:00
Skyth
edbb86913b Disable buffer overrun checks. 2024-09-26 18:31:56 +03:00
Skyth
dcc772c184 Detect identical flush mode calls and don't print them. 2024-09-26 17:24:04 +03:00
Skyth
7fa7ff161f Add a read barrier after every label. 2024-09-26 16:52:18 +03:00
Skyth
70497754d9 Add several config options for more efficient code generation. 2024-09-25 21:23:01 +03:00
Skyth
746947455d Push the updated PPC context header. 2024-09-24 14:48:50 +03:00
Skyth
ad4e6b010e Enable strict math, adjust vector conversions. 2024-09-22 23:54:17 +03:00
Skyth
1914b941a2 Fix tests. 2024-09-22 19:58:22 +03:00
Skyth
918e09d380 Use clang-cl for all projects & decrease recompiled CPP count. 2024-09-22 12:50:11 +03:00
Skyth
1bfeb0a7c4 Handling float rounding. 2024-09-22 00:07:15 +03:00
Skyth
4d6eac1c24 Add recompiler for Xenia PPC tests. 2024-09-21 21:47:34 +03:00
Skyth
fc13c684ba Handle zero flushing. 2024-09-20 18:05:13 +03:00
Skyth
fb97a569f9 Further inaccuracy fixes. 2024-09-20 17:01:57 +03:00
Skyth
11e4d24574 Fix instruction inaccuracies. 2024-09-19 13:54:13 +03:00
Skyth
55a551362b Check if there is an identical file before saving. 2024-09-18 16:04:52 +03:00
Skyth
06aeb62472 Add a sample project for compiling the recompiled functions. 2024-09-18 15:19:49 +03:00
Skyth
5a16d14d30 Saving to separate files. 2024-09-18 13:31:37 +03:00
Skyth
e0cb6c7903 Implement switch case generation. 2024-09-18 11:37:50 +03:00
Skyth
7d7ab43bbc Vector comparison instructions. 2024-09-17 21:32:13 +03:00
Skyth
34d44c3c0a Vector permute, splat and shift instructions. 2024-09-17 19:56:44 +03:00
Skyth
04efd27f62 Some vector load & store instructions. 2024-09-16 20:33:46 +03:00
Skyth
ee4cab12b8 Implement even more vector instructions & add missing ones. 2024-09-16 16:54:31 +03:00
Skyth
3a887e6e2c Implement yet even more instructions. 2024-09-16 14:18:19 +03:00
Skyth
7e6b92ac6e Fix memset/bdnzf compilation error. 2024-09-15 20:30:56 +03:00
Skyth
8d4d99e644 Implement some more vector instructions. 2024-09-15 19:48:15 +03:00
Skyth
d2c5000af1 Implement more instructions. 2024-09-15 15:32:29 +03:00
Skyth
26122def54 Handle "r0 as 0" cases. 2024-09-14 23:17:51 +03:00
Skyth
9db7909bbd Convert calls to indirect calls for the time being. 2024-09-13 17:32:54 +03:00
Skyth
996fa013d0 Implement float comparison instruction. 2024-09-13 15:27:10 +03:00
Skyth
27dd0aace7 Implement more instructions. 2024-09-12 21:50:36 +03:00
Skyth
f96d2c2879 Implement periodt variant of instructions. 2024-09-12 18:59:24 +03:00
Skyth
1ab19abed5 Define XER register. 2024-09-12 17:41:39 +03:00
Skyth
572dc2a67f Prevent optimization for recompiled functions. 2024-09-12 15:45:39 +03:00
Skyth
589104a0ef Control flow instructions & local PPC context test. 2024-09-12 15:34:59 +03:00
Skyth
28e6ba92f8 Implement some instructions. 2024-09-10 23:16:21 +03:00
Skyth
57ebe48cf7 Add a huge switch case with all instructions. 2024-09-10 19:26:53 +03:00
Sajid
6d79935928 Symbol table 2024-09-08 08:32:31 +06:00