Commit graph

  • e2835efa72 Check for redundant operations. Skyth 2024-09-23 22:27:02 +03:00
  • aef470a0f0 Handle float to integer conversion overflow. Skyth 2024-09-23 18:24:50 +03:00
  • 7f43723ff0 Use bitwise operations for fabs/fnabs/fneg. Skyth 2024-09-23 17:25:11 +03:00
  • 989ed13d04 Add a check for missing switch cases. Skyth 2024-09-23 15:42:27 +03:00
  • 175c0de2ac Fix weird usage of the base variable. Skyth 2024-09-23 15:33:29 +03:00
  • 255ff2170e Apply bitmasks in vector shift operations. Skyth 2024-09-23 01:18:17 +03:00
  • e366e1eea9 Avoid double byte swaps in interlocked functions. Skyth 2024-09-23 00:07:38 +03:00
  • ad4e6b010e Enable strict math, adjust vector conversions. Skyth 2024-09-22 23:54:17 +03:00
  • 1914b941a2 Fix tests. Skyth 2024-09-22 19:58:22 +03:00
  • 510cff56f2 Fix import thunk resolving. Skyth 2024-09-22 13:32:38 +03:00
  • 918e09d380 Use clang-cl for all projects & decrease recompiled CPP count. Skyth 2024-09-22 12:50:11 +03:00
  • 126d5c3aee Fix a few mistakes. Skyth 2024-09-22 01:51:04 +03:00
  • 1bfeb0a7c4 Handling float rounding. Skyth 2024-09-22 00:07:15 +03:00
  • 4d6eac1c24 Add recompiler for Xenia PPC tests. Skyth 2024-09-21 21:47:34 +03:00
  • 79354a9a52 Split recompiler code. Skyth 2024-09-21 16:59:55 +03:00
  • c0d28468d0 Yet even more inaccuracy fixes. Skyth 2024-09-21 16:12:38 +03:00
  • 45a490c245 Even more inaccuracy fixes. Skyth 2024-09-20 20:53:56 +03:00
  • 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