Corn
09fc9d323f
[!] optimization of Patch_strchr() (OSHLE)
...
[+] some comments
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@716 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-09 20:32:52 +00:00
salvy
192b71d8a2
[!] Rewrote logic to check if 32bit in dynarec
...
[-] Removed checking if register was mapped as 32bit
[!] GenerateADDU : Sign extend when rt/rs is 0
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@715 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-09 20:07:35 +00:00
salvy
23d95254ed
[-] Revert skipping sign extension when registers are mapped as 32bit
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@714 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-07-09 16:57:51 +00:00
salvy
850496599d
[!] Skip sign extension in GenerateLW when base is mapped as 32bit (speed up, getting closer to fullspeed in Zelda, will enable this opt for more ops after some more testing)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@712 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-23 09:38:26 +00:00
salvy
47604559d0
[!] Skip sign extension for registers mapped as 32bit
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@710 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-22 06:35:04 +00:00
Corn
1d8e3bcc1b
[!] Fix proper N64 to PSP scaling for large textures(see Worms, still don't work for 4:3 unscaled screen)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@709 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-21 19:16:26 +00:00
salvy
757cf58ae7
[+] Added compile flag to disable checking if logic is 32bit in dynarec
...
[!] More aggressive checking if logic is 32bit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@708 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-21 09:18:21 +00:00
salvy
4dc7789914
[-] Removed optimization in GenerateAND (Breaks SW - Racer)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@707 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-20 19:08:52 +00:00
salvy
899571ac6c
[!] Simplify IgnoreHi, It'll only check if gate logic is non negative
...
[!] Fixed Duck Dodgers not longer working with optimization in GenerateAND
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@706 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-20 18:09:55 +00:00
Corn
655b092461
[!] Additional fixes/optimizations to dynarec sim-doubles (SSV works now as well as most other games)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@704 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-14 19:21:38 +00:00
Corn
ba02be8004
[!] Small optimation in dynarec simdouble loading
...
[!] rearrangement in Dynarec options
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@703 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-13 12:53:59 +00:00
salvy
b163d14186
[!] Don't check hi part of known value when probing if high bits aren't needed (Fixes text being missing in OOT)
...
[!] Check if register is mapped as 32bit, this will improve detection when high bits aren't needed (Experimental!)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@702 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-13 09:54:13 +00:00
salvy
308b5d6045
[!] Improved previous optimization in GenerateADDU
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@701 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-11 03:08:13 +00:00
salvy
42da530ddb
[!] optimization in GenerateADD/U when rs/rt is R0 and register is known
...
[!] optimization in GenerateAND when high bits aren't needed
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@700 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-11 00:53:30 +00:00
Corn
4f8db9c505
[!] Better compatibility using Doubles Opt. (fixes a few games)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@699 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-10 07:01:38 +00:00
salvy
673a287f0f
[!] Made more robust optimizations in GenerateOR (we'll check more throughly if we need hi bits) (small speed up)
...
[!] New optimization in GenerateOR when rs/rt is R0 and register is known
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@698 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-10 03:14:18 +00:00
Corn
b39e0b1c0b
[!] Reverted MFC1 optimization, sign ext. is needed (broke DKR)
...
[!] Various cleanup/bugfixes to SimDoubles
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@697 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-09 19:28:55 +00:00
Corn
cacf5b012f
[+] Added more float/double conversion to dynarec doubles optimization
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@696 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-07 13:31:20 +00:00
Corn
a01b055016
[!] added dynarec simulated float caching in FPU and some clean up
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@693 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-05 20:41:02 +00:00
Corn
af43f1eace
[+] New Speed up option: Dynarec Doubles Optimizations (advanced menu) when enabled dynarec compiles code to simulate doubles with floats
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@692 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-04 18:50:57 +00:00
salvy
4200ebdfc4
[!] Reverted optimization for ADDIU
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@691 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-03 22:58:30 +00:00
salvy
435aa824e4
[-] Removed optimization in ANDI (since we zero'd the hi reg regardless)
...
[!] Optimization in OR
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@690 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-02 08:12:58 +00:00
salvy
8d98903504
[!} Opps typo!
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@689 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-01 02:46:20 +00:00
salvy
151441ba62
[!] Optimization in ADDIU & ANDI (Dynarec)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@688 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-06-01 02:42:19 +00:00
Corn
af5e1c9378
[!] Aerogauge fix
...
[!] small optimization in floats branching when fast mode fails
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@687 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-31 19:18:36 +00:00
salvy
9842e2e7be
[!] Fixed regression in Aerogauge
...
[!] Optimization in XORI and ORI
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@686 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-31 00:58:46 +00:00
Corn
14e7a42018
[+] Dynarec: Added DADDI/DADDIU, DSRA32 and DSLL32
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@685 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-27 19:49:51 +00:00
Corn
3a0eed9c4a
[+] Added INS/EXT and CFC1 OpCodes to AssemblyWriterPSP
...
[!] Dynarec: Optimized float compare (no branch)
[!] Small fix/optimization to PIF swizzle
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@684 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-27 12:50:06 +00:00
Corn
95b398565f
[!] reverted ADDIU optimization (CBFD BSOD)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@681 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-25 20:40:39 +00:00
Corn
23fe749799
[!] Dynarec implemented LD/SD (load/store 64bit integer)
...
[!] Dynarec partly implemented LDC1/SDC1 (load/store 64bit float)
[!] Dynarec if source reg is SP, ADDIU wont do sign extension.
[!] Dynarec Skip sign extending CFC1
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@680 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-23 16:54:56 +00:00
salvy
945d0c432e
[+] Added known value optimizations to SLTx ops (32bit only!) in dynarec (they are disabled since I'm not sure is worth to handle them)
...
[!] PIF Ram - swap while copying in one go and fuses 4 transfers in one (slight speed-up) (Salvy & Corn)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@679 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-22 09:08:52 +00:00
Corn
81439edd67
[!] Made BC1T/BC1F branching more robust (fixes RR64)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@678 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-21 20:12:16 +00:00
Corn
50c3f2efaf
[!] Dynarec: Improved performance of float compare and branching (BC1F/BC1T) (speedup)
...
[!] Dynarec: Removed exception check after interpreter calls from dynarec (speedup)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@676 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-18 20:14:57 +00:00
Corn
0bcbaae951
[!] reverted change that causes Yoshi to BSOD
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@672 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-15 17:20:42 +00:00
Corn
cb9f855f66
[!] Dynarec: Disabled divide by zero check for DIV/DIVU
...
[!] Dynarec: Removed sign extension on MULT/MULTU & DIV/DIVU
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@667 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-13 13:03:23 +00:00
Corn
2becc08549
[!] minor cleanup in Codegenerator
...
[!] Added K0 & K1 as non temp registers
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@666 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-12 19:47:51 +00:00
Corn
c1133f7877
[!] reverted HLE cache patch (while it does cause issues there are more HLE issues in Fzero)
...
[-] removed redundant SP register update code in dynarec
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@661 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-07 20:02:37 +00:00
Corn
ece1c6efd2
[!] Dynarec: More improved in SLTx functions (32bit bit)
...
[!] Fixed BlendExplorer to work with new blend functions
Note from Strmn that SLTI is buggy in 64bit mode
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@658 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-05-03 18:58:00 +00:00
Corn
daf8cd66b4
[!] HLE: changed code for CPU/FPU register save (better for CPU cache)
...
[!] HLE: Fixed annoying warnings
[!] DYNAREC: more optimizations for float load/stores (speedup)
[!] DYNAREC: Skip using full 64bit compare for SLT/SLTI/SLTU/SLTIU (speedup)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@652 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-30 12:21:07 +00:00
salvy
54bba54796
[!] Fixed build
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@650 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-22 19:46:48 +00:00
Corn
9f409e389c
[+] Optimized non swizzled loads and stores when MemOpt fails
...
[!] Some cleanup in non handled OPs in dynarec
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@649 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-22 14:19:14 +00:00
salvy
bde08d245f
[!] Some CodeGen logic optimizations
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@648 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-22 02:37:55 +00:00
Corn
e73ee9e5fc
[+] Optimized MemOpt static analyzer
...
[+] Implemented LWC1/SWC1 (Skipping MTC1/MFC1 for every access to or from FPU)
[+] Re-use old base register if possible for LW/LWC1 and SW/SWC1 (skipping address calculation for every load and store, most effective with MemOpt enabled)
[!] LoopOpt should be much more stable now
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@646 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-19 20:12:00 +00:00
Corn
3f1e612b52
[-] Reverted LWC1/SWC1 FPU OPs (caused to many issues need more work)
...
[!] Reorganized Build Config flags
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@643 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-13 13:12:34 +00:00
Corn
4e7d69e889
[+] Dynarec: Added K0 and K1 to available cashed regs
...
[!] Dynarec: Skip sign extension on GP and SP regs on update
[!] Dynarec: Optimized ADDU when when source reg is R0
[!] Dynarec: Optimized ADDUI not to store sign extension on SP reg
[+] Dynarec: Implemented LWC1 and SWC1 to load and store directly to FPU
[!] Fixed some ASSERTs
[-] Removed automatic fragment dump on ROM exit
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@641 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-04-10 14:55:18 +00:00
Corn
c579df6db4
[!] Clean up and optimizations in Dynarec
...
[!] Clean up and nicer looking tool tip
[!] Clean up in T1_HACK
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@631 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-27 19:37:42 +00:00
salvy
7b2183b505
[~] Removed unused code from Fragment.cpp
...
[+] Added const and pure attributes which when given correctly the compiler can do some additional optimisations
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@628 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-16 17:27:58 +00:00
Corn
a6c58b4d9b
[!] fixed missing function in previous rev
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@625 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-14 19:11:33 +00:00
salvy
bee8785d7f
[!] Optimizations to CodeGen (small speed-up)
...
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@624 42e9bfbe-799a-4a2d-bad1-236e862a387a
2012-03-13 22:24:13 +00:00
Corn
d7bbcab7df
[!] Small optimization in Dynarec/fragments
...
[!] Disabled Loop Opt for Donald Duck Going Quackers
[~] Reverted Loop Opt to old code (pre 618)
git-svn-id: https://subversion.assembla.com/svn/Daedalusx64/trunk@541 42e9bfbe-799a-4a2d-bad1-236e862a387a
2011-12-17 19:42:49 +00:00