Henrik Rydgård
f99c2cd010
x86 Jit: Generate nicer code for some cases of addiu
2014-10-12 17:47:53 +02:00
Unknown W. Brackets
4210ba44eb
Clean up a few more ImmPtr() cases.
2014-09-21 08:34:27 -07:00
Unknown W. Brackets
52b6f1095e
armjit: Fix rounding mode, allow non flush-to-zero.
...
Default: force flush to zero (for RunFast mode.) But now it's an ini
option so we can more easily compare armjit differences.
2014-09-11 07:58:51 -07:00
Andrew Church
3033dc5138
Revert to unconditional ClearRoundingMode() when setting FCR31.
2014-09-04 11:36:56 +09:00
Andrew Church
128122af39
Fix broken rounding mode handling.
2014-09-04 11:30:11 +09:00
Andrew Church
726cb851b9
Don't unconditionally ClearRoundingMode() before setting it.
2014-09-04 09:28:56 +09:00
Andrew Church
5816685668
Handle the FS (flush-to-zero) bit in FCR31 for x86 JIT.
2014-09-04 01:50:24 +09:00
Unknown W. Brackets
4a1514730f
x86jit/ppcjit: Correct some bad sltiu compares.
2014-09-02 08:04:22 -07:00
Unknown W. Brackets
4459b8f483
jit: Actually jit vmtfc/vmfvc.
...
Sicne we have them and they are easy.
2014-09-01 23:13:39 -07:00
Unknown W. Brackets
5f6f6827b5
jit: Update rounding mode immediately on ctc1.
2014-08-30 23:48:27 -07:00
Unknown W. Brackets
e8cdbcc33f
x86jit: Fix some flags/EAX trashing in rounding.
...
Fixes #6810 .
2014-08-30 16:46:43 -07:00
Unknown W. Brackets
925557ed47
x86jit: Maintain the rounding mode always.
...
This should be less often than doing it per block that uses fpu, unless
the game doesn't use fpu much at all.
2014-08-22 09:53:00 -07:00
Unknown W. Brackets
ab13b36484
x86jit: Implement cvt.w.s.
...
Not really used that often, anyway, but easy enough and good for testing
that we set the rounding mode correctly.
2014-08-22 00:01:06 -07:00
Unknown W. Brackets
dc91dc1ce8
x86jit: Support fpu rounding modes for mul, etc.
...
Fixes Gods Eater Burst loading PSP savedata, but can no longer load old
savedata.
2014-08-21 23:59:55 -07:00
Unknown W. Brackets
245a2a3be0
Don't zero out downcount in replacements.
...
It doesn't write out js.downcountAmount in any of these cases, so zeroing
it is wrong.
2014-08-03 13:22:30 -07:00
Unknown W. Brackets
d060a06fa6
Disable a bunch of function replacements.
...
These are just for speed, let's turn them off. Using a flag because:
* I think there's still some issue with savestates, not sure.
* We might swap this flag to a separate option.
2014-08-03 13:15:41 -07:00
Henrik Rydgard
82421f4dcf
x86 jit: Further fix for nor, thanks unknown
...
See #6638
2014-07-27 22:26:35 +02:00
Henrik Rydgard
903ddbc513
x86 JIT: Fix bug where NOR would not get computed correctly in corner case
...
(CompTriArith can end up not actually mapping rd to a register when taking
a shortcut)
May fix the JIT issue mentioned by CPkmn and located by daniel229 as an aside in #6638
2014-07-27 21:41:41 +02:00
Unknown W. Brackets
09b9d2ad81
Keep track of ranges that have emuhack ops.
...
So that we can invalidate them smarter.
2014-07-05 16:25:16 -07:00
Unknown W. Brackets
d2e7dfcc51
Minor logging improvement.
2014-07-05 13:19:53 -07:00
Unknown W. Brackets
4b9229a5ba
x86jit: Flush the PC before r/w in debug.
...
This way we get better log output.
2014-07-05 12:57:44 -07:00
Unknown W. Brackets
0078faef8b
Fix some log semicolons that might affect logic.
...
But, these should all be right.
2014-06-29 19:09:38 -07:00
Unknown W. Brackets
5db79dcf11
Fix some missing semicolons on log statements.
2014-06-29 19:09:37 -07:00
Unknown W. Brackets
252100aee5
Remove outdated comment (real cause found/fixed.)
2014-06-28 16:06:10 -07:00
Unknown W. Brackets
f544a87b2f
jit: Initialize startDefaultPrefix when switching.
2014-06-28 00:38:56 -07:00
Unknown W. Brackets
27870aa593
x86jit: Map HI/LO as registers.
...
Not actually ever cached, but now it's all consistent.
2014-06-28 00:38:56 -07:00
Unknown W. Brackets
bc3d789c8a
x86jit: Cache the vfpu compare flags in a reg.
...
Again, to match armjit.
2014-06-28 00:38:55 -07:00
Unknown W. Brackets
acad2e1763
x86jit: Cache fpcond in a register.
...
Mostly to match armjit.
2014-06-28 00:38:55 -07:00
Unknown W. Brackets
9efbc2694b
Add an invalidate all method to the jit.
2014-06-19 01:13:06 -07:00
Henrik Rydgard
0879d76503
VFPU: Ensure that sin(4*x) returns 0.0 (and cos 1) for all x. Fixes #2921
2014-06-15 11:03:00 +02:00
Unknown W. Brackets
d09be5a4bc
Update PC before going into a replacement func.
...
This way we can report the PC properly on errors, and the replacement func
can even look at PC.
2014-05-31 10:03:01 -07:00
Unknown W. Brackets
f489694515
Add the option to hook, rather than replace, funcs.
...
This can be useful for debugging or developing translations/game hacks,
and also gives us options when dealing with GLES incompatibilities.
2014-05-31 10:03:00 -07:00
Unknown W. Brackets
288d867588
Fix a type comparison warning.
2014-05-21 08:00:31 -07:00
Unknown W. Brackets
5b24e0107f
x86jit: Correct vsat0/vsat1 handling.
2014-05-16 01:04:58 -07:00
Unknown W. Brackets
ccc5458a84
x86jit: Correctly handle NaNs in vfpxd sat clamps.
...
May be a small performance jit, but we've seen games with bugs because of
NaNs recently, so better to be safe.
2014-05-16 01:04:57 -07:00
Unknown W. Brackets
6ccae8f5a7
x86jit: Use a faster safemem fallback.
...
Really helps performance in games that use uncached addresses a lot,
without really impacting performance of most games which don't.
Of course, fastmem is faster.
2014-05-06 08:05:12 -07:00
Unknown W. Brackets
dc39e75fc1
Oops, forgot about proxy blocks for replace jal.
...
Also fix a crash when they are used.
2014-04-17 01:03:46 -07:00
Unknown W. Brackets
ddd6e3024d
Skip jals when replacing funcs.
...
Improves performance in God Eater (when replacements enabled.)
2014-04-16 23:57:52 -07:00
Unknown W. Brackets
dde2f3ade6
Re-replace functions after loading a savestate.
...
Might need to clear before saving too... anyway, this makes testing a bit
easier for certain areas.
Also, correctly decrease downcount on x86.
2014-04-12 15:49:20 -07:00
Unknown W. Brackets
3001866d18
Skip flushing FPU/VFPU regs if none were allocated.
...
They're not used as often, so this usually saves time. About 1% during
tests.
2014-03-30 00:42:25 -07:00
Unknown W. Brackets
246eaeb209
x86jit: Avoid mem temp for float cmp/loads.
2014-03-22 15:56:28 -07:00
Unknown W. Brackets
d65af7353b
Avoid some ChunkFile includes.
2014-03-15 11:32:57 -07:00
Unknown W. Brackets
05ab192c9c
Reduce includes in Core/HLE/.
...
Especially templates.
2014-03-15 11:22:19 -07:00
The Dax
21ce99cabd
Fix Unix-like builds.
2014-03-15 10:02:47 -04:00
Henrik Rydgard
c80510fb3b
MemMap should not be included in MIPS.h.
2014-03-15 10:45:39 +01:00
Henrik Rydgård
aea272a3ce
Jit x86: optimize "subu r, 0, r" to NEG r.
2014-03-03 13:42:32 +01:00
Unknown W. Brackets
601fc72ac6
Don't clear js.afterOp in WriteExit*().
...
It needs to be handled in each exit, not just the first one.
Fixes #5587 .
2014-03-02 14:23:27 -08:00
Unknown W. Brackets
ce518a432f
x86jit: Add a missing unknown prefix check.
2014-02-21 09:47:28 -08:00
Unknown W. Brackets
f2ba0f136d
Fix stack overflow on x64 with memchecks, darn it.
2014-02-16 19:18:08 -08:00
Henrik Rydgård
efd44a6933
Merge branch 'debugger2' of https://github.com/unknownbrackets/ppsspp into unknownbrackets-debugger2
...
Conflicts:
Core/Debugger/Breakpoints.cpp
2014-01-26 23:10:37 +01:00