Unknown W. Brackets
afc779a824
jit: Add IN_RT to lwl/lwr and re-enable clobbering.
2014-12-08 21:17:01 -08:00
Henrik Rydgard
4457dca4c9
Rename the ARM Jit class to ArmJit
2014-12-07 14:25:22 +01:00
Henrik Rydgard
7740caeade
Buildfix the arm emitter test in the unittest.
...
Also do some preparation for being able to have two JITs compiled at the same time
which may be useful in testing parts of the ARM jit on Windows.
2014-12-07 14:12:13 +01:00
Henrik Rydgard
e3a81f4346
x86 Jit: Basic implementation of vbfy1/2 (mostly to just cross another one off the list..)
2014-12-04 00:18:58 +01:00
Henrik Rydgard
ac772f25ff
x86 JIT: Join adjacent vrot calls together to avoid redundant sin/cos calls. Add a prototype, fix minor issues.
2014-11-30 11:04:13 +01:00
Henrik Rydgård
3b1476c8ec
MIPSTables: Annotate fp and hi/lo in/out more accurately than just "other"
...
Some typo fixes
2014-10-12 19:46:50 +02: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
Henrik Rydgard
c80510fb3b
MemMap should not be included in MIPS.h.
2014-03-15 10:45:39 +01:00
Unknown W. Brackets
f300f46b9c
Speed up MIPSGetInstruction() by 35%.
...
It's not that hot, but gets called a lot when loading modules / running
tests. Well, and also interpreter.
Some of the previous checks were just not necessary (we never have Rese in
the tables, for example, and let's just not.)
2014-03-02 10:20:41 -08:00
Henrik Rydgård
ce378b231f
Delete CPU.cpp/h , cleanup
2013-12-30 00:11:29 +01: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
2140892074
Initial preparations for ability to replace game functions with custom implementations.
...
Also auto-saves hashmap additions and reapplies the hashmap on function
rename so that if you rename a function that exists in several copies
they will all be labelled.
Note that actual function replacement is not activated yet.
2013-12-17 12:27:20 +01:00
Henrik Rydgard
2d8429ac48
Assorted cleanup in the MIPS emulation
2013-12-10 13:15:16 +01:00
Unknown W. Brackets
ec05146ffd
Improve vfpu disasm for a few instructions.
2013-11-29 10:07:15 -08:00
Henrik Rydgard
5bb3824dcf
Implement vocp on ARM and x86.
2013-11-19 21:41:47 +01:00
Unknown W. Brackets
455a7e090d
Compile the cache instruction to nothing.
...
Was showing up in a few profiles, does nothing currently.
2013-11-10 14:38:10 -08:00
Henrik Rydgard
309f904c0c
Extract JitState into its own header (arm/x86)
2013-11-08 18:51:52 +01:00
Henrik Rydgard
6eb7f94065
Implement vsgn in x86/x64 and ARM jit
2013-11-07 15:29:13 +01:00
Kingcom
eeb86fc105
Fix step over handling of fpu branches
2013-11-03 09:54:58 +01:00
Unknown W. Brackets
2e8ef3027f
Write the retaddr to rd, not always ra, in jalr.
...
Thanks go entirely to @Kingcom for pointing this out.
Don't know of any games not using RA as the rd.
2013-10-17 07:39:33 -07:00
Henrik Rydgard
41a988774f
ARM: implement vhdp
2013-09-28 20:07:57 +02:00
Unknown W. Brackets
96b4ef47e1
Add MIPS info flags for VFPU cc usage.
2013-09-05 23:19:17 -07:00
The Dax
a35a407207
Add two new instructions to the MIPS interpreter for logging. vertex.pbp demo seems to use one of them.
2013-08-25 16:28:19 -04: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
Unknown W. Brackets
b37f09cedf
Make MIPSInfo a struct for typesafety.
...
Found a bug in ReadsFromReg().
2013-08-24 13:22:10 -07:00
Unknown W. Brackets
743b27c9cc
Add conditional breakpoints to interpreter.
2013-08-24 09:51:45 -07:00
Unknown W. Brackets
c7360f1555
Consider these as taking a IMM16 as well.
2013-08-11 21:30:19 -07:00
Unknown W. Brackets
3c4a6e13e4
Cleanup the remaining MIPS tables, reporting.
2013-08-11 20:40:21 -07:00
Unknown W. Brackets
6f703d7b5a
Cleanup flags on VFPU4 sub MIPS tables.
2013-08-11 20:11:34 -07:00
Unknown W. Brackets
3f49101868
Clean up the COP1 MIPS tables, and reporting.
2013-08-11 19:35:39 -07:00
Unknown W. Brackets
7e92b17dd4
Cleanup some COP2/VFPU2 table flags.
2013-08-11 19:13:41 -07:00
Unknown W. Brackets
3ae2b8dcc4
Clean up the SPECIAL3 and REGIMM table flags.
2013-08-11 18:41:21 -07:00
Unknown W. Brackets
8266063394
Make sure we're reporting unknown instructions.
2013-08-11 18:20:43 -07:00
Unknown W. Brackets
f652a2f6f0
Correct SPECIAL2 and separate COP1S and COP1W.
2013-08-11 18:17:03 -07:00
Unknown W. Brackets
b2abdbe44b
Clean up the SPECIAL MIPS table, mostly flags.
2013-08-11 18:01:55 -07:00
Unknown W. Brackets
152f28aeac
Clean up the immediate MIPS table, mostly flags.
2013-08-11 18:01:48 -07:00
Unknown W. Brackets
d08f2bc3fb
Fix some formatting in the MIPS table.
...
And also a couple cases of manually specifying RS.
2013-08-11 17:12:54 -07:00
Henrik Rydgard
fecd9d5f78
Minor optimization, sketch on an lvl.q jit implementation
2013-08-11 22:12:15 +02:00
Unknown W. Brackets
82aca253e4
Add a few more OUT_EAT_PREFIX flags.
...
Based on testing the instructions individually. Cuts a few cases in God
Eater Burst where instructions bailed out of jit.
2013-08-10 23:19:03 -07: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
a517b8d53f
Fix #3117 (by reverting part of a previous change), plus a minor change that might speed GT up.
2013-08-10 23:25:55 +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
4e8958f42d
A small optimization, a few jit stubs, and cross/quat product on x86.
2013-08-01 00:15:08 +02:00
Henrik Rydgard
cdf674358e
Merge remote-tracking branch 'origin/master'
...
Conflicts:
Core/MIPS/MIPSInt.cpp
2013-07-30 19:35:12 +02:00
Kingcom
723f242f0c
Rerwrote GetOpcodeInfo and adapted MipsTables for it
2013-07-30 11:29:30 +02:00
Henrik Rydgard
d8294f025f
More VFPU stuff (nothing new activated)
2013-07-30 01:09:11 +02:00
Henrik Rydgard
8feeaf2e7a
Jit: Implement vidt in both, plus translate a couple easy ones to ARM.
2013-07-28 16:14:21 +02:00
Unknown W. Brackets
d823989330
Implement vmone/vmzero/vmidt for the x86 jit.
2013-07-04 18:16:57 -07:00
Kingcom
7d0e6ff199
-disassembly view redesigned
...
-change the cursor with the mouse or with the keyboard
-displays symbols on the left and in opcode arguments
-press tab to toggle displaying of symbols
-click on the highlighted line to toggle a breakpoint at that position
-press right to follow a branch and left to go back a level
2013-06-25 23:52:56 +02:00
Sacha
6712de1136
Armjit: Implement wsbh and wsbw (rev16 and rev). Fix encoding for rev16.
2013-06-05 11:32:44 +10:00