57 Commits

Author SHA1 Message Date
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
Sajid
4453d56df0 Import lookup fixup 2024-09-24 16:30:26 +06:00
Sajid
6bddfaa23d Use win32 style __imp__ prefix on xbox imports 2024-09-24 16:05:11 +06:00
Sajid
f6d7c97986 Define xbox exports on load 2024-09-24 16:02:41 +06: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
510cff56f2 Fix import thunk resolving. 2024-09-22 13:32:38 +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
3cd6886825 Change SymbolComparer to not care about symbol size. 2024-09-18 20:39:05 +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
Sajid
83e4da49e3 Scan for jumptables 2024-09-18 13:07:07 +06: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
df78800c8d Fix symbol find function. 2024-09-14 19:30:26 +03:00
Sajid
3d5f05f529 Merge branch 'main' of https://github.com/hedge-dev/PowerRecomp 2024-09-13 20:53:21 +06:00
Sajid
2da90cb763 Stricter symbol matching 2024-09-13 20:53:06 +06: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
Sajid
5cef220e9f Implement xex imports 2024-09-13 16:13:19 +06: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
Sajid
6683059a48 Different function type 2024-09-11 22:06:01 +06:00
Sajid
9d6c760ab9 Add X_RUNTIME_FUNCTION 2024-09-11 21:21:23 +06: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
cbfcdc3ebc Move C emit code to PowerRecomp 2024-09-09 23:23:04 +06:00
Sajid
6d1e649eaf Add VMX128 instruction set 2024-09-09 03:10:53 +06:00