Lioncash
19ac565e0d
Common: Move asserts to their own header
2015-09-26 18:51:27 -04:00
Lioncash
b9e360df7b
MathUtil: Convert Clamp into a constexpr function
2015-09-12 01:18:28 -04:00
Lioncash
19459e827f
Partially revert "General: Toss out PRI macro usage"
2015-09-11 09:49:00 -04:00
Scott Mansell
be4caa3dc0
Merge pull request #2961 from lioncash/printf
...
General: Toss out PRI macro usage
2015-09-06 21:02:22 +12:00
Lioncash
633be0387d
General: Remove unimplemented function prototypes
2015-09-05 22:01:07 -04:00
Lioncash
8fdb013d54
General: Toss out PRI macro usage
...
Now that VS supports more printf specifiers, these aren't necessary
2015-09-05 16:02:35 -04:00
degasus
6f34b27323
Jit64: implement dcbf + dcbi
2015-08-24 18:33:19 +02:00
Lioncash
fdafa5d063
Core: Move includes out of instruction table headers
...
These aren't necessary (and cause unnecessary indirect inclusions).
2015-08-22 14:15:02 -04:00
Lioncash
c56717e058
Core: Shorten the _interpreterInstruction typedef
...
The class itself already acts as a namespace trailer, so '_interpreter'
isn't necessary. This also gets rid of a duplicate typedef in the
Interpreter_Tables.
2015-08-22 14:14:49 -04:00
flacs
95d958c03d
Merge pull request #2889 from lioncash/interp
...
Interpreter: Use std::isnan instead of IsNAN
2015-08-21 21:43:08 +02:00
Lioncash
18d658df1f
Interpreter_FloatingPoint: Use std::isnan instead of IsNAN
...
Same thing, except one is part of the stdlib.
2015-08-21 15:04:03 -04:00
Tillmann Karras
415ad94dbe
Interpreter: fix undefined bits of mffs
...
Lioncash tested this on hardware.
2015-08-18 15:07:14 +02:00
Tillmann Karras
a9447a8606
PowerPC: drop instructions not supported by GC/Wii
2015-08-17 06:03:11 +02:00
JosJuice
c49074742c
Restore old assert message for unknown instruction
...
The assert(0) that was introduced in PR #2811 is not user friendly
since it has no explanation at all about what happened. Regular users
probably won't think of looking at the log to get more information.
2015-08-15 10:00:49 +02:00
Rohit Nirmal
703892e845
Fix building with PCH disabled.
2015-08-12 12:01:17 -05:00
Ryan Houdek
0326bf7164
On unknown_instruction dump the full guest GPR state.
2015-08-07 02:45:05 -05:00
Tillmann Karras
bcdafc7e34
Interpreter: fix rounding of FNMA instructions
...
x86: round(-a*c +/- b)
PowerPC: -round(a*c +/- b)
If the rounding mode is set to +/- infinity, the order of round/negate
matters.
2015-07-18 22:54:15 +02:00
Tillmann Karras
afea72edfe
Revert "Interpreter: assign directly instead via variables"
...
This reverts commit 174ada3a62 .
2015-07-03 21:10:18 +02:00
Markus Wick
3fc070c4fc
Merge pull request #2680 from degasus/idle
...
Interpreter: Idle skipping support
2015-07-03 19:52:05 +02:00
degasus
717d4bfbcc
Interpreter: Idle skipping support
2015-06-30 20:11:23 +02:00
Tillmann Karras
2711d5201b
Interpreter: turn SNaNs into QNaNs
2015-06-26 09:29:18 +02:00
Tillmann Karras
174ada3a62
Interpreter: assign directly instead via variables
2015-06-26 08:16:34 +02:00
Tillmann Karras
b2c21e800a
Interpreter: drop unused macros
2015-06-26 08:16:34 +02:00
Tillmann Karras
ca36ff0551
Interpreter: consolidate fdiv/fdivs/ps_div
2015-06-26 08:07:46 +02:00
degasus
c375111076
Options: merge SCoreStartupParameter into SConfig
2015-06-12 19:07:45 +02:00
Tillmann Karras
d329147871
Interpreter: use std::isnan(x) instead of x != x
2015-06-10 14:31:08 +02:00
Tillmann Karras
c7544719e2
Interpreter: optimize NaN checks
...
NaNs always propagate, so we can get away with only checking for NaN
inputs in the rare case that the result is NaN (as already done in
Jit64::HandleNaNs()).
2015-06-10 14:23:43 +02:00
Lioncash
bc0e61cb7c
Interpreter: Remove unused function prototype
2015-06-04 13:53:53 -04:00
Tillmann Karras
088668606d
Interpreter: use the VERY_ACCURATE_FP code
2015-06-03 22:08:24 +02:00
Tillmann Karras
68eb83ea83
Interpreter: fix NaN handling in FMA
2015-06-03 22:08:24 +02:00
Ryan Houdek
7c04c76a26
Merge pull request #2421 from Tilka/jit_stuff
...
Jit64: fixes + less code
2015-05-25 23:08:24 -04:00
Ryan Houdek
95f9096068
Merge pull request #2396 from Sonicadvance1/fix_racing_cpu_core
...
Fix a race condition when pausing the CPU core.
2015-05-25 23:06:18 -04:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Tillmann Karras
a7d753922d
Interpreter: fix instruction table flags of frsp
...
frsp overwrites both ps0 and ps1 so frD is not an input. Regardless of
whether that's what the hardware does, it's what we do.
2015-05-21 12:33:36 +02:00
Tillmann Karras
9723a4e2ed
Interpreter: use IntDouble instead of casts
2015-05-14 18:59:05 +02:00
Ryan Houdek
af305aa168
Fix a race condition when pausing the CPU core.
...
This affects enabling and disabling block profiling on the fly.
The block profiling pauses the CPU cores and then flushes the JIT's block cache and enables block profile.
The issue with this is that when we pause the CPU core, we don't have a way to tell if the JIT recompiler has actually left.
So if the secondary thread that is clearing the JIT block cache is too quick, it will clear the cache as a recompiler is still running that block that
has been cleared.
2015-05-10 21:00:54 -05:00
Lioncash
9603fb6ccd
Interpreter_LoadStorePaired: Silence uninitialized variable warnings
2015-04-27 22:54:58 -04:00
Lioncash
1fc1880ca5
Interpreter/Jit Tables: Merge table31 and table31_2
2015-03-20 20:39:51 -04:00
Lioncash
1052863bb9
Interpreter/JIT: Add missing overflow variants into the tables.
2015-03-20 19:20:38 -04:00
skidau
b103aa7122
Merge pull request #2189 from magumagu/paired-loadstore-cleanup
...
Fix paired loadstore to use correct load/store calls.
2015-03-17 11:26:01 +11:00
magumagu
87dcda5785
Remove remnants of old fake opcodes.
...
These are illegal opcodes, and should be treated as such.
2015-03-14 16:59:12 -07:00
magumagu
dda5e610eb
Fix paired loadstore to use correct load/store calls.
...
psq_st performs one store, and psq_ld one load, from the perspective of the
MMU; getting this wrong leads to potentially incorrect behavior (incorrect page
faults, weirdness with the gather pipe, etc.). Fix this, and stop masking
the address when checking for gather pipe writes.
Also a bunch of cleanup.
2015-03-11 17:06:18 -07:00
magumagu
9c045e2496
Merge pull request #2094 from lioncash/flags
...
Interpreter: Flag cleanups/fixes.
2015-03-07 17:38:00 -08:00
Lioncash
139dbcb8e2
Interpreter_Tables: Fix wrong flags and add missing ones
2015-03-03 16:23:21 -05:00
Stevoisiak
93b16a4a2d
Formatting/Whitespace Cleanup
...
Various fixes to formatting and whitespace
2015-02-25 10:48:21 -05:00
Lioncash
6fe59d82e1
Interpreter: Fix Helper_UpdateCR1
...
This previously shifted off-by-one
2015-02-23 06:56:01 -05:00
Lioncash
1a913138d5
Interpreter: Uncomment code related to cmp and cmpl
...
This is actually correct. Also cmpli has this uncommented as well.
2015-02-22 19:07:09 -05:00
Lioncash
bfa5dcc891
Interpreter: Set the FPCC bits correctly for ordered/unordered FP compares
...
Setting the whole FPRF is slightly incorrect, this should only modify the FPCC bits; the class bit should be preserved.
2015-02-22 02:19:13 -05:00
Lioncash
09319a1e11
Interpreter: Rearrange ordered/unordered compares
...
Comparing floating point numbers with == can trigger warnings (and have static analysis tools complain). So we make it the else case.
This also more closely resembles the Gekko manual.
2015-02-21 22:26:23 -05:00