Commit Graph

14966 Commits

Author SHA1 Message Date
Unknown W. Brackets
d0a2ced2f9 x86jit: Flip cc in stl* to avoid reg loads.
Unfortunately, this zero thing is now concerning me...
2014-11-09 08:15:39 -08:00
Unknown W. Brackets
59f491eddb x86jit: Micro optimize slt* a bit.
This improves their performance and hopefully latency.  It also avoids
filling registers that are not likely to be used again.

Fixed a small mistake.
2014-11-09 07:23:44 -08:00
Henrik Rydgard
18495a452d Rename an enum 2014-11-09 14:55:23 +01:00
Henrik Rydgard
a19d0b648a x86 jit: Add a simple speedhack (ignore masking stack pointers) but disable due to low impact. 2014-11-09 14:54:39 +01:00
Henrik Rydgard
a528921f3c x86 JIT: EBX was free in 32-bit mode, let's use it in the regcache. 2014-11-09 12:55:17 +01:00
Henrik Rydgard
1eec10b614 Properly prevent loading ISO to RAM in 32-bit mode (could have been enabled in 64-bit mode where the UI exists) 2014-11-09 12:53:31 +01:00
Henrik Rydgard
db853d8513 Collapse sequences of "int3" (padding after block linking) in x86 disassembly. 2014-11-09 12:10:37 +01:00
Henrik Rydgard
5888b3bdc4 Revert "x86jit: Micro optimize slt* a bit."
This reverts commit ee66596b8d.

Broke a lot of games, probably some small bug.

Conflicts:
	Core/MIPS/x86/CompALU.cpp
2014-11-09 12:07:21 +01:00
Henrik Rydgard
5bcdecc26b unittest: Have the JIT harness print disassembly, to make it easy to inspect results. 2014-11-09 12:03:04 +01:00
Henrik Rydgård
450227b2c6 Merge pull request #7074 from unknownbrackets/jit-minor
x86jit: More fpu optimizations
2014-11-09 10:16:14 +01:00
Unknown W. Brackets
313d9e95c7 Clarify a comment. 2014-11-09 01:05:03 -08:00
Unknown W. Brackets
ee66596b8d x86jit: Micro optimize slt* a bit.
This improves their performance and hopefully latency.  It also avoids
filling registers that are not likely to be used again.
2014-11-08 22:54:03 -08:00
Unknown W. Brackets
27d8108bb2 x86jit: Optimize loads of 0 into fp regs. 2014-11-08 18:41:16 -08:00
Unknown W. Brackets
7d8858687e x86jit: Avoid speculative loads in mtc1/mfc1. 2014-11-08 18:35:15 -08:00
Unknown W. Brackets
57caa95273 x86jit: Implement round.w.s and friends.
They are not terribly fast, though, updating MXCSR.
2014-11-08 17:59:38 -08:00
Unknown W. Brackets
3908e0f445 x86jit: Small optimization for add.s f1, f2, f2.
Doubles the speed of that particular case.  Biggest difference is not
loading fd for no reason.
2014-11-08 17:32:53 -08:00
Unknown W. Brackets
f9893c29ce x86jit: Very small optimization to c.nge.s. 2014-11-08 17:01:02 -08:00
Unknown W. Brackets
78dfe43776 x86jit: Optimize neg.s and abs.s a tiny bit.
Same reg is probably a common case, improves micro benchmark.
2014-11-08 16:50:41 -08:00
Unknown W. Brackets
bed0d0b059 x86jit: Improve cvt.w.s when fd is loaded or fs.
We have no need to store it.
2014-11-08 16:40:54 -08:00
Henrik Rydgård
76469debfb Merge pull request #7073 from unknownbrackets/vertexjit
vertexjit: Optimize weights on x64 (not 32-bit)
2014-11-09 01:14:15 +01:00
Unknown W. Brackets
a838459627 vertexjit: Optimize weights on x64 (not 32-bit.)
A few percent in Gods Eater Burst and Kingdom Hearts.
2014-11-08 15:16:02 -08:00
Henrik Rydgård
c020dbce4d Merge pull request #7072 from unknownbrackets/jit-minor
x86jit: Micro optimize cvt.s.w a bit
2014-11-08 23:46:23 +01:00
Unknown W. Brackets
1917d946ea x86jit: Micro optimize cvt.s.w a bit.
This implementation is about 5x faster for micro benchmarks.  Little
impact to overall perf in games I tested, though.
2014-11-08 13:30:38 -08:00
Henrik Rydgård
75c739dc0f Merge pull request #7071 from unknownbrackets/jit-minor
x86jit: Implement vfad/vavg and vi2x
2014-11-08 22:12:44 +01:00
Unknown W. Brackets
671dee85c7 x86jit: Micro optimize vi2f a little bit.
This didn't help overall perf much but micro benchmarks are better.
2014-11-08 13:07:01 -08:00
Unknown W. Brackets
c29b126357 x86jit: Oops, can't have an imm here. 2014-11-08 12:41:48 -08:00
Unknown W. Brackets
c0be19edb6 x86jit: Simplify vavg a bit. 2014-11-08 12:40:04 -08:00
Unknown W. Brackets
761e269e5f x86jit: Avoid some regcache pollution. 2014-11-08 12:38:08 -08:00
Unknown W. Brackets
bc7497857a x86jit: Micro optimize vi2x a bit with ssse3/sse4.
Both are small wins.
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
0e646f748a x86jit: Implement vi2x instructions.
Also, my opcodes were wrong in the test (shifted the pair bit the wrong
way, oops.)

AFAICT, there's no reason PSRAD/etc. were not encoding REX...
2014-11-08 12:13:26 -08:00
Unknown W. Brackets
ddc90ee550 x86jit: Implement vfad and vavg. 2014-11-08 12:13:25 -08:00
Unknown W. Brackets
7d54622e2c Fix Windows build without dxsdk (#7070.) 2014-11-08 12:10:50 -08:00
Unknown W. Brackets
5ae43defd9 Oops, these should be signed. 2014-11-08 09:39:17 -08:00
Henrik Rydgård
f7d86f2210 Merge pull request #7068 from unknownbrackets/jit-minor
x86jit: Implement other forms of vx2i
2014-11-08 10:58:48 +01:00
Henrik Rydgård
0d1a515c6a Merge pull request #7067 from unknownbrackets/jit-bench
Add some jit benchmarking code
2014-11-08 10:55:19 +01:00
Henrik Rydgård
f25e0f955a Merge pull request #7065 from sum2012/memset
Prevent unknown getpointer in sceKernelMemset
2014-11-08 10:54:53 +01:00
Unknown W. Brackets
316e923b40 x86jit: Implement other forms of vx2i.
Gains 3.2% performance in Grand Knights History.
2014-11-08 00:39:40 -08:00
Unknown W. Brackets
836328d731 Cut down on test overhead a good bit. 2014-11-07 22:51:01 -08:00
Unknown W. Brackets
2efecc5c38 Add some jit benchmarking code. 2014-11-07 22:40:28 -08:00
sum2012
758ddffc37 Prevent unknown getpointer in sceKernelMemset
Fix #7064
2014-11-08 06:49:24 +08:00
Henrik Rydgård
47b731b882 Merge pull request #7053 from Bigpet/fixSoftMode
Disable software rendering UI when Direct3D is used
2014-11-07 12:17:10 +01:00
Henrik Rydgård
517ca0569e Merge pull request #7058 from unknownbrackets/io-minor
Handle negative read sizes more correctly
2014-11-07 12:16:09 +01:00
Henrik Rydgård
4eb9dc05c0 Merge pull request #7055 from unknownbrackets/reloc-fix
Correct unload of imported vars
2014-11-07 12:15:50 +01:00
Henrik Rydgård
2f1d3dff94 Merge pull request #7060 from sum2012/lang
Add Lithuanian language
2014-11-07 12:15:41 +01:00
Henrik Rydgård
f975e8e0e2 Merge pull request #7061 from unknownbrackets/jit-minor
x86jit: Micro optimize vs2i a bit
2014-11-07 12:15:31 +01:00
Unknown W. Brackets
097a483d77 x86jit: Micro optimize vs2i a bit. 2014-11-06 22:45:54 -08:00
sum2012
958adb1b69 Add in the main project 2014-11-07 05:48:24 +08:00
sum2012
44a8249db8 Add Lithuanian language 2014-11-07 05:47:14 +08:00
Unknown W. Brackets
59c1485e64 Fix typo. 2014-11-06 08:51:15 -08:00
Unknown W. Brackets
79ff697f9d Return an error code for negative file sizes. 2014-11-06 08:45:45 -08:00