Commit Graph

3409 Commits

Author SHA1 Message Date
Flyinghead 0b8a312fea rec-arm64: simplify read/write mem rewrite logic
pass exception pc in x2 reg for both slow/fast paths
infer the op type and size from the armv8 op encoding
rewrite doesn't need access to the block anymore
add support for some imm args
2019-06-18 15:07:32 +02:00
Flyinghead 8d8e694e23 swap setpeq args in ssa if first is imm 2019-06-18 13:25:43 +02:00
Flyinghead 3d8b0df789 rec-x64: setpeq native impl. Fix imm mem write for byte and short
Optimize fneg, fabs and sub
Fix cvt_f2i
Fix fsca with imm arg
2019-06-18 13:16:42 +02:00
Flyinghead 419370084e rec-x86: ssa support 2019-06-14 23:34:18 +02:00
Flyinghead 8506355447 wrap aica ram to 8MB instead of only 2MB (dc)
fix crash with GuruGuru Onsen 2 and HeadHunter
2019-06-13 21:58:09 +02:00
Flyinghead 7120512205 wince: use exceptions in dyna/decoder.cpp and catch them in driver.cpp 2019-06-13 18:36:08 +02:00
Flyinghead e0949fb9aa Fix div matching: support 64-bit div and correct handling of negative
Some games do 64-bit / 32-bit division (Pro Pinball Trilogy)
DIV0s/1 use and output 1's complement numbers
The final reminder fixup wasn't correct for negative dividend
2019-06-13 18:27:21 +02:00
Flyinghead de86aae73e rec-arm: XTRCT implementation 2019-06-12 17:46:53 +02:00
Flyinghead c49694599c rec-arm: use ssa regalloc
add `subc a,a` expression to simplify
2019-06-12 17:31:37 +02:00
Flyinghead e537d92bcc ssa: don't simplify FPU ops because of Inf of NaN 2019-06-12 08:52:42 +02:00
Flyinghead ff745ee4fe fix xtrct canonical implementation 2019-06-10 19:17:24 +02:00
Flyinghead a4453c0a81 Fix vmem in 512MB mode 2019-06-10 19:01:56 +02:00
Flyinghead 2c3b516341 x64: use eax instead of ecx for mem reads return value 2019-06-10 14:48:54 +02:00
Flyinghead f81ff3fe21 Merge remote-tracking branch 'origin/fh/wince-dynarec' into fh/wince-dynarec 2019-06-10 14:47:22 +02:00
Flyinghead 8819c9d536 arm64: handle pref with imm arg. some refactoring 2019-06-10 14:35:27 +02:00
Flyinghead 62e14f6b4c osx: add files to project 2019-06-10 14:07:58 +02:00
Flyinghead 3dd16e80d2 arm64 and x64 recs use ssa regalloc 2019-06-10 13:57:10 +02:00
Flyinghead 623d70d710 ssa register allocator and more ssa stuff 2019-06-09 19:41:42 +02:00
Flyinghead bd30752b86 Use auto& to avoid copy when iterating. Inline mmu_Read/WriteMemNoEx 2019-06-08 13:04:35 +02:00
Flyinghead 0890150dda dynarec: ssa missing changes 2019-06-04 21:27:45 +02:00
Flyinghead 681c423e66 Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-06-04 21:21:04 +02:00
Flyinghead 692556ca5d dynarec: ssa initial commit 2019-06-04 21:20:34 +02:00
flyinghead b75a96592e
Update build page url 2019-06-04 19:57:47 +02:00
flyinghead d25653e9cc
Name change 2019-06-04 19:55:56 +02:00
Flyinghead a46f1bd0aa Merge branch 'master' into fh/wince-dynarec
# Conflicts:
#	appveyor.yml
2019-05-30 21:44:44 +02:00
Flyinghead 97eab1be59 wercker: added naomi build 2019-05-30 20:09:25 +02:00
Flyinghead 94fd42db6f wercker: missing slash 2019-05-30 20:00:36 +02:00
Flyinghead aa94d7dfe2 wercker: fix S3 path 2019-05-30 19:54:24 +02:00
Flyinghead b5a9d0d258 wercker: deploy to S3 2019-05-30 19:46:23 +02:00
flyinghead 5b5bc13588
Add link to builds page on README.md 2019-05-30 19:02:41 +02:00
Flyinghead cbe8df51cf osx: bigger window. travis: public_read for S3 2019-05-30 11:56:28 +02:00
Flyinghead 34f1a65ff0 appveyor: add naomi build 2019-05-30 11:03:01 +02:00
Flyinghead 117b23a588 appveyor: fix S3 key 2019-05-30 10:42:20 +02:00
Flyinghead bad0f38ff5 appveyor: set S3 region 2019-05-29 21:49:00 +02:00
Flyinghead a7b123ffb6 appveyor and bitrise fixes 2019-05-29 21:37:03 +02:00
Flyinghead d2591c1022 appveyor: fix indentation 2019-05-29 21:16:09 +02:00
Flyinghead c28bb7d780 appveyor: deploy to S3
bitrise: fix git hash in path
2019-05-29 21:14:34 +02:00
Flyinghead 447061c686 bitrise: fix s3 path 2019-05-29 21:00:01 +02:00
Flyinghead 36c821da49 bitrise: fix env vars 2019-05-29 20:07:47 +02:00
Flyinghead fdd9370eb1 bitrise: more annoyance 2019-05-29 20:05:12 +02:00
Flyinghead 10e3357e20 bitrise: tentative fix 2019-05-29 20:01:43 +02:00
Flyinghead 5279a00b56 bitrise: more tab to space 2019-05-29 19:50:31 +02:00
Flyinghead 167be1f830 bitrise: tab to space 2019-05-29 19:49:33 +02:00
Flyinghead 0ec1584806 bitrise: deploy to S3 2019-05-29 19:41:42 +02:00
Flyinghead 4f9a22cb26 travis: deploy to S3 2019-05-29 19:04:53 +02:00
Flyinghead b8a00b9c7d rec-arm64/x64: only do regalloc on rewrite when needed 2019-05-28 20:03:08 +02:00
Flyinghead 714de0303e rec-x64: don't save fp regs when calling mem access handlers 2019-05-28 19:43:56 +02:00
Flyinghead cafd1c3c49 rec-arm64: do a full regalloc when rewriting mem access in mmu mode 2019-05-28 19:43:17 +02:00
Flyinghead 4540acc22e mmu: optimize mmu_full_SQ() 2019-05-28 19:41:21 +02:00
Flyinghead 8cb86de026 Make SMCCheck=Fast work on arm64
The issue is that flushing the dynarec cache makes rewriting fail for
the currently executing block. So this avoids flushing the cache too
often but the problem remains.
2019-05-28 19:40:30 +02:00