108 Commits

Author SHA1 Message Date
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
Skyth
fc1efc5a37 Implement direct function calls & do prints in memory. 2024-09-14 19:10:41 +03:00
Skyth
b598d09d4d Fix a few conversion mistakes. 2024-09-14 11:17:55 +03:00
Skyth
6c2a256c8a Control register calls. 2024-09-13 22:08:56 +03:00
Skyth
8f88bac018 Handle tail calls. 2024-09-13 21:54:59 +03:00
Skyth
29d1c0822c Add/subtract with carry instructions. 2024-09-13 21:36:25 +03:00
Sajid
ed81fec868 Scan all of swa functions 2024-09-13 20:54:18 +06: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
Sajid
27f6604072 bctr and conditional returns 2024-09-13 20:27:05 +06:00
Skyth
cbc28c6451 Implement a bunch of load/store instructions. 2024-09-13 16:00:37 +03:00
Skyth
996fa013d0 Implement float comparison instruction. 2024-09-13 15:27:10 +03:00
Skyth
e78e5b7534 Implement a good chunk of float instructions. 2024-09-13 15:17:20 +03:00
Sajid
87a74e2001 Handle invalid instructions as end block 2024-09-13 16:13:37 +06:00
Sajid
5cef220e9f Implement xex imports 2024-09-13 16:13:19 +06:00
Skyth
cc212f4058 Implement store instructions. 2024-09-12 22:57:31 +03:00
Skyth
9d6ccc0593 Add self note for the future. 2024-09-12 21:53:53 +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
f8353aa1e2 Implement more comparison instructions. 2024-09-12 17:54:56 +03:00
Skyth
1ab19abed5 Define XER register. 2024-09-12 17:41:39 +03:00
Skyth
eaa8e7d482 More flow control instructions. 2024-09-12 17:23:37 +03:00
Skyth
6f32dc35a2 Implement some loop instructions & add loop test. 2024-09-12 16:42:26 +03:00
Skyth
c82c4688e7 Add compile-all.bat. 2024-09-12 15:53:58 +03:00
Skyth
ce3f9621f6 Whoops. 2024-09-12 15:45:59 +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
a03c2e89e7 Fix SearchBlock. 2024-09-12 14:33:49 +03:00
Sajid
6683059a48 Different function type 2024-09-11 22:06:01 +06:00
Sajid
39cec3442b Merge branch 'main' of https://github.com/hedge-dev/PowerRecomp 2024-09-11 21:21:38 +06:00
Sajid
9d6c760ab9 Add X_RUNTIME_FUNCTION 2024-09-11 21:21:23 +06:00
Skyth
cf9522a662 Some instruction fixes. 2024-09-11 12:22:58 +03:00
Sajid
6e48ca31ab Chase after branches again, but better 2024-09-11 10:03:41 +06:00
Sajid
c167e5c90c oop 2024-09-11 09:10:23 +06:00
Sajid
a3126d6beb Merge branch 'main' of https://github.com/hedge-dev/PowerRecomp 2024-09-11 08:59:01 +06:00
Sajid
cbc914a43d Branch analyser fixups 2024-09-11 08:58:50 +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
8d9a35a0f3 Add missing ppc instruction macros 2024-09-10 21:13:01 +06:00
Sajid
05b23d2ad8 Only chase after continious branches 2024-09-10 02:42:20 +06:00
Sajid
cbfcdc3ebc Move C emit code to PowerRecomp 2024-09-09 23:23:04 +06:00
Sajid
267e19b854 Handle branch fallthrough 2024-09-09 22:52:34 +06:00
Sajid
60edcad576 Function branch analysis 2024-09-09 21:09:37 +06:00
Skyth
25ede377a1 Pseudocode decompilation attempts for the test. 2024-09-09 13:14:27 +03:00
Sajid
606463ac09 Handle relativism, public ppc macros 2024-09-09 08:13:57 +06:00
Sajid
6d1e649eaf Add VMX128 instruction set 2024-09-09 03:10:53 +06:00
Sajid
893dcddbfc Add PPC instruction ids 2024-09-09 01:30:45 +06:00
Sajid
42043a7aac Nullify op_str 2024-09-08 21:46:44 +06:00