Commit Graph

  • fc13c684ba Handle zero flushing. Skyth 2024-09-20 18:05:13 +03:00
  • fb97a569f9 Further inaccuracy fixes. Skyth 2024-09-20 17:01:57 +03:00
  • 0e59052324 Implement more of the vector instructions. Skyth 2024-09-19 22:56:13 +03:00
  • f4d342a623 Fix more instruction inaccuracies. Skyth 2024-09-19 15:23:51 +03:00
  • 11e4d24574 Fix instruction inaccuracies. Skyth 2024-09-19 13:54:13 +03:00
  • 476dfb5307 Check if function call is within the same section. Skyth 2024-09-18 22:33:45 +03:00
  • 39a0b6ab4d Scan direct calls to find functions. Skyth 2024-09-18 22:13:24 +03:00
  • 3cd6886825 Change SymbolComparer to not care about symbol size. Skyth 2024-09-18 20:39:05 +03:00
  • c250917792 A bunch of temporary hardcoded function address checking. Skyth 2024-09-18 18:53:10 +03:00
  • 55a551362b Check if there is an identical file before saving. Skyth 2024-09-18 16:04:52 +03:00
  • 182b9a5060 Compile static instead of shared. Skyth 2024-09-18 15:29:15 +03:00
  • 06aeb62472 Add a sample project for compiling the recompiled functions. Skyth 2024-09-18 15:19:20 +03:00
  • 5a16d14d30 Saving to separate files. Skyth 2024-09-18 13:31:37 +03:00
  • 618cc75198 Resort to function calls in switch statements if necessary & print errors for unresolved symbols. Skyth 2024-09-18 12:07:50 +03:00
  • e0cb6c7903 Implement switch case generation. Skyth 2024-09-18 11:37:50 +03:00
  • fc43264f72 Uncomment switch analyser. Skyth 2024-09-18 10:41:45 +03:00
  • 594a339a77 Add label count by 1 Sajid 2024-09-18 13:32:30 +06:00
  • 6057ffe167 Update address for __C_specific_handler Sajid 2024-09-18 13:29:08 +06:00
  • 35560a0cd0 oop Sajid 2024-09-18 13:14:31 +06:00
  • 83e4da49e3 Scan for jumptables Sajid 2024-09-18 13:07:07 +06:00
  • 7d7ab43bbc Vector comparison instructions. Skyth 2024-09-17 21:32:13 +03:00
  • 34d44c3c0a Vector permute, splat and shift instructions. Skyth 2024-09-17 19:56:44 +03:00
  • 04efd27f62 Some vector load & store instructions. Skyth 2024-09-16 20:33:46 +03:00
  • ee4cab12b8 Implement even more vector instructions & add missing ones. Skyth 2024-09-16 16:03:23 +03:00
  • 3a887e6e2c Implement yet even more instructions. Skyth 2024-09-16 14:18:19 +03:00
  • 2dd35c4611 Implement bitwise rotation instructions. Skyth 2024-09-15 22:04:40 +03:00
  • 7e6b92ac6e Fix memset/bdnzf compilation error. Skyth 2024-09-15 20:30:56 +03:00
  • 8d4d99e644 Implement some more vector instructions. Skyth 2024-09-15 19:48:15 +03:00
  • d4c267c123 Implement some vector instructions. Skyth 2024-09-15 17:36:33 +03:00
  • d2c5000af1 Implement more instructions. Skyth 2024-09-15 15:32:29 +03:00
  • 26122def54 Handle "r0 as 0" cases. Skyth 2024-09-14 23:17:51 +03:00
  • df78800c8d Fix symbol find function. Skyth 2024-09-14 19:30:26 +03:00
  • fc1efc5a37 Implement direct function calls & do prints in memory. Skyth 2024-09-14 19:10:41 +03:00
  • b598d09d4d Fix a few conversion mistakes. Skyth 2024-09-14 11:17:55 +03:00
  • 6c2a256c8a Control register calls. Skyth 2024-09-13 22:08:56 +03:00
  • 8f88bac018 Handle tail calls. Skyth 2024-09-13 21:54:59 +03:00
  • 29d1c0822c Add/subtract with carry instructions. Skyth 2024-09-13 21:36:25 +03:00
  • ed81fec868 Scan all of swa functions Sajid 2024-09-13 20:54:18 +06:00
  • 3d5f05f529 Merge branch 'main' of https://github.com/hedge-dev/PowerRecomp Sajid 2024-09-13 20:53:21 +06:00
  • 2da90cb763 Stricter symbol matching Sajid 2024-09-13 20:53:06 +06:00
  • 9db7909bbd Convert calls to indirect calls for the time being. Skyth 2024-09-13 17:32:54 +03:00
  • 27f6604072 bctr and conditional returns Sajid 2024-09-13 20:27:05 +06:00
  • cbc28c6451 Implement a bunch of load/store instructions. Skyth 2024-09-13 16:00:37 +03:00
  • 996fa013d0 Implement float comparison instruction. Skyth 2024-09-13 15:26:03 +03:00
  • e78e5b7534 Implement a good chunk of float instructions. Skyth 2024-09-13 15:17:20 +03:00
  • 87a74e2001 Handle invalid instructions as end block Sajid 2024-09-13 16:13:37 +06:00
  • 5cef220e9f Implement xex imports Sajid 2024-09-13 16:13:19 +06:00
  • cc212f4058 Implement store instructions. Skyth 2024-09-12 22:57:31 +03:00
  • 9d6ccc0593 Add self note for the future. Skyth 2024-09-12 21:53:53 +03:00
  • 27dd0aace7 Implement more instructions. Skyth 2024-09-12 21:50:36 +03:00
  • f96d2c2879 Implement periodt variant of instructions. Skyth 2024-09-12 18:59:24 +03:00
  • f8353aa1e2 Implement more comparison instructions. Skyth 2024-09-12 17:54:56 +03:00
  • 1ab19abed5 Define XER register. Skyth 2024-09-12 17:41:39 +03:00
  • eaa8e7d482 More flow control instructions. Skyth 2024-09-12 17:23:37 +03:00
  • 6f32dc35a2 Implement some loop instructions & add loop test. Skyth 2024-09-12 16:42:26 +03:00
  • c82c4688e7 Add compile-all.bat. Skyth 2024-09-12 15:53:58 +03:00
  • ce3f9621f6 Whoops. Skyth 2024-09-12 15:45:59 +03:00
  • 572dc2a67f Prevent optimization for recompiled functions. Skyth 2024-09-12 15:45:39 +03:00
  • 589104a0ef Control flow instructions & local PPC context test. Skyth 2024-09-12 15:34:22 +03:00
  • a03c2e89e7 Fix SearchBlock. Skyth 2024-09-12 14:33:49 +03:00
  • 6683059a48 Different function type Sajid 2024-09-11 22:06:01 +06:00
  • 39cec3442b Merge branch 'main' of https://github.com/hedge-dev/PowerRecomp Sajid 2024-09-11 21:21:38 +06:00
  • 9d6c760ab9 Add X_RUNTIME_FUNCTION Sajid 2024-09-11 21:21:23 +06:00
  • cf9522a662 Some instruction fixes. Skyth 2024-09-11 12:22:58 +03:00
  • 6e48ca31ab Chase after branches again, but better Sajid 2024-09-11 10:03:41 +06:00
  • c167e5c90c oop Sajid 2024-09-11 09:10:23 +06:00
  • a3126d6beb Merge branch 'main' of https://github.com/hedge-dev/PowerRecomp Sajid 2024-09-11 08:59:01 +06:00
  • cbc914a43d Branch analyser fixups Sajid 2024-09-11 08:58:50 +06:00
  • 28e6ba92f8 Implement some instructions. Skyth 2024-09-10 23:16:21 +03:00
  • 57ebe48cf7 Add a huge switch case with all instructions. Skyth 2024-09-10 19:26:53 +03:00
  • 8d9a35a0f3 Add missing ppc instruction macros Sajid 2024-09-10 21:13:01 +06:00
  • 05b23d2ad8 Only chase after continious branches Sajid 2024-09-10 02:42:20 +06:00
  • cbfcdc3ebc Move C emit code to PowerRecomp Sajid 2024-09-09 23:23:04 +06:00
  • 267e19b854 Handle branch fallthrough Sajid 2024-09-09 22:52:34 +06:00
  • 60edcad576 Function branch analysis Sajid 2024-09-09 21:09:37 +06:00
  • 25ede377a1 Pseudocode decompilation attempts for the test. Skyth 2024-09-09 13:14:27 +03:00
  • 606463ac09 Handle relativism, public ppc macros Sajid 2024-09-09 08:13:57 +06:00
  • 6d1e649eaf Add VMX128 instruction set Sajid 2024-09-09 03:10:53 +06:00
  • 893dcddbfc Add PPC instruction ids Sajid 2024-09-09 01:30:45 +06:00
  • 42043a7aac Nullify op_str Sajid 2024-09-08 21:46:44 +06:00
  • fac30517f0 Remove capstone, use libopcodes Sajid 2024-09-08 21:39:04 +06:00
  • 3d6a3c61a6 XEX2 check Sajid 2024-09-08 18:18:18 +06:00
  • 13ec7258e1 Add missing thirdparty files Sajid 2024-09-08 17:16:32 +06:00
  • 458577aaee Remove manual map Sajid 2024-09-08 08:40:52 +06:00
  • 6d79935928 Symbol table Sajid 2024-09-08 08:32:31 +06:00
  • 36fb31de3a Implement ELF support Sajid 2024-09-07 22:56:20 +06:00
  • 1e24423ea7 Editorconfig Sajid 2024-09-07 18:21:08 +06:00
  • 0f9a53f75a Initial Commit Sajid 2024-09-07 18:00:09 +06:00