Unknown W. Brackets
0f32103615
x86jit: Consistently use mips_.
2014-10-12 15:16:09 -07:00
Unknown W. Brackets
e3a04aa2d2
x86jit: Preload sp and similar regs used often.
...
This can help us avoid using a temporary.
Very tiny performance improvement.
2014-10-12 14:53:56 -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
252100aee5
Remove outdated comment (real cause found/fixed.)
2014-06-28 16:06:10 -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
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
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
246eaeb209
x86jit: Avoid mem temp for float cmp/loads.
2014-03-22 15:56:28 -07:00
Unknown W. Brackets
ce518a432f
x86jit: Add a missing unknown prefix check.
2014-02-21 09:47:28 -08:00
Unknown W. Brackets
2347498667
x86jit: Use templates to avoid some void * casts.
...
Makes it a bit cleaner and potentially safer.
2014-01-18 09:57:13 -08:00
Henrik Rydgard
2eab4aa1bf
Play around with function replacement. Turned off by default of course.
2013-12-17 23:40:27 +01:00
Henrik Rydgard
2d8429ac48
Assorted cleanup in the MIPS emulation
2013-12-10 13:15:16 +01:00
Henrik Rydgard
ab3037112f
Some scaffolding for a future VFPU-on-NEON implementation
2013-11-19 21:41:48 +01:00
Henrik Rydgard
99af10cb09
Get rid of bool disablePrefixes in ARM build (already gone in x86)
2013-11-19 21:41:48 +01:00
Henrik Rydgard
5bb3824dcf
Implement vocp on ARM and x86.
2013-11-19 21:41:47 +01:00
Henrik Rydgard
a2e0a4d9bf
x86 jit: Optimize ES, NS (is-nan-or-inf) conditions in vcmp
2013-11-12 14:07:48 +01:00
Henrik Rydgard
84f20a1cad
Small optimizations
2013-11-12 14:05:50 +01:00
Henrik Rydgard
0a844ce98d
Delete functions for vsge and vslt, these have been rolled into VecDo3
2013-11-09 19:29:52 +01:00
Henrik Rydgard
5ad04a23f4
x86 jit: Rename BindToRegister to MapReg
2013-11-09 15:23:31 +01:00
Henrik Rydgard
316d23d4cc
Optimize mfv/mtv/mfc1/mtc1 on x86 too
2013-11-09 14:06:45 +01:00
Henrik Rydgard
58db79672f
Fix vmtvc on ARM, fixing issues with our prefix check. Add some logging.
...
Also improve vcmp on ARM.
2013-11-08 19:59:11 +01:00
Henrik Rydgard
309f904c0c
Extract JitState into its own header (arm/x86)
2013-11-08 18:51:52 +01:00
Henrik Rydgard
c0d7c5e958
vsgn x86 bugfix
2013-11-07 21:07:07 +01:00
Henrik Rydgard
6eb7f94065
Implement vsgn in x86/x64 and ARM jit
2013-11-07 15:29:13 +01:00
Unknown W. Brackets
5efc7fd581
Fix typo.
2013-11-03 07:36:53 -08:00
Henrik Rydgard
c4e02ab41d
Revert "Fix Comp_VRot on x86 Linux/Mac/etc."
...
Seems broken, doesn't built on Windows.
This reverts commit d41acebb3d
.
2013-11-03 15:24:57 +01:00
Unknown W. Brackets
d41acebb3d
Fix Comp_VRot on x86 Linux/Mac/etc.
...
Easy way: just use our existing functions that work.
2013-11-03 01:03:57 -07:00
Unknown W. Brackets
d43c56ea29
Small warning fix.
2013-10-13 12:12:53 -07:00
Henrik Rydgard
fc8aa7bd8f
Crashfix dumping display lists that start at the start of VRAM (seems to hit this in GTA).
...
Add a couple of comments.
2013-10-07 22:58:46 +02:00
Henrik Rydgard
8f620c30ab
x86 jit: Implement vs2i (similar to vh2f but simpler)
2013-10-07 21:59:33 +02:00
Henrik Rydgard
7bb93c3bfe
Forgot to re-enable the "single" case of vh2f
2013-09-29 01:43:13 +02:00
Henrik Rydgard
649e830028
Minor cleanup
2013-09-28 22:19:00 +02:00
Henrik Rydgard
20174d9410
Delete the lookup table version of vh2f
2013-09-28 22:15:29 +02:00
Henrik Rydgard
7ca6d73857
Two approaches to vh2f (half-float to float): lookuptable and fast SSE
2013-09-28 22:08:44 +02:00
Henrik Rydgard
cfdfa77476
Change a bunch of "MayHavePrefix" to "HasUnknonwPrefix".
...
Should be safe, I think none of these have any sane use of prefixes anyway.
2013-09-28 12:33:16 +02:00
Henrik Rydgard
aa753c88b2
ARM: implement vhdp
2013-09-28 12:30:28 +02:00
Henrik Rydgard
1bb6bbd07d
Remove superfluous check in vrot
2013-09-16 00:24:28 +02:00
Henrik Rydgard
6aecfe3998
Trying the VROT disable experiment again, this time in the right file...
2013-09-16 00:14:05 +02:00
Unknown W. Brackets
16b27ffb23
Disable x86 Comp_VRot on non-Windows.
...
This may fix x86 Android issues as well as Linux/etc.
2013-09-15 11:42:58 -07:00
Henrik Rydgard
8c88dff5a4
More log categories, use them (and existing ones). Improve log config.
2013-09-07 22:02:55 +02:00
Unknown W. Brackets
97aa1a631e
Improve typesafety in the x86 regalloc.
2013-08-24 19:41:10 -07:00
Unknown W. Brackets
109ad17ac6
Use a typesafe struct for opcodes.
...
Also, correctly read delayslots using Read_Instruction on ARM.
2013-08-24 15:36:24 -07:00
Henrik Rydgard
fecd9d5f78
Minor optimization, sketch on an lvl.q jit implementation
2013-08-11 22:12:15 +02:00
Henrik Rydgard
89ddbb51bb
Oops, XMM0 might be taken by temps. Also, s/GC_ALIGN16/MEMORY_ALIGN16
2013-08-10 23:39:24 +02:00
Henrik Rydgard
4c6006190f
Of course, found the real bug causing #3117 immediately after the revert. Fixed.
2013-08-10 23:32:12 +02:00
Henrik Rydgard
394f590c36
Failed attempt at implementing vsge/vslt. Dunno what's wrong but disabled for now.
2013-08-10 18:39:27 +02:00
Henrik Rydgard
174223c42b
Fix VCMP (VC_TR) and optimize a little
2013-08-08 21:03:40 +02:00
Henrik Rydgard
8714240519
Fix vf2i properly on x86.
2013-08-07 21:30:57 +02:00