mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-16 16:00:30 +02:00
CPUEquivalence: Add PPSSPP_CPUFUZZ_ACCURATE_VDOT
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bbe2d79bea
commit
dc417ca7cc
2 files changed
+5
No files matched your search
@@ -33,6 +33,7 @@ Environment variables:
|
||||
| `PPSSPP_CPUFUZZ_DUMP` | write every core's end state of every case to a file |
|
||||
| `PPSSPP_CPUFUZZ_STRICT` | fail on any difference, not only on a crash |
|
||||
| `PPSSPP_CPUFUZZ_OPS` | comma-separated instruction name prefixes to generate only; `dot` is the dot products and the prefix ops |
|
||||
| `PPSSPP_CPUFUZZ_ACCURATE_VDOT` | run with the accurate dot products |
|
||||
|
||||
For quick rounds while working on some instructions, fuzz just those, on every core of the machine:
|
||||
`PPSSPP_CPUFUZZ_OPS=dot Tools/cpu_fuzz_parallel.py build/PPSSPPUnitTest --count 2000` splits the seeds
|
||||
|
||||
@@ -398,6 +398,7 @@ bool TestJitReplacementHooks() {
|
||||
// PPSSPP_CPUFUZZ_SKIP cores not to run, by digit: 1 IR interpreter, 2 JIT, 3 JIT IR.
|
||||
// PPSSPP_CPUFUZZ_REPORTS how many differences to minimize and print (default 20).
|
||||
// PPSSPP_CPUFUZZ_STRICT fail the test on any difference, not only on a crash.
|
||||
// PPSSPP_CPUFUZZ_ACCURATE_VDOT run with AccurateVdot, the VFPU's own dot products.
|
||||
// PPSSPP_CPUFUZZ_OPS comma-separated instruction name prefixes to generate only, for fast
|
||||
// runs on the instructions being worked on. "dot" is the dot products
|
||||
// and the prefixes. Without PPSSPP_CPUFUZZ_CLASSES, the class is "v".
|
||||
@@ -899,6 +900,8 @@ bool TestCPUEquivalence() {
|
||||
// terminating syscall doesn't.
|
||||
const bool oldSkipDeadbeef = g_Config.bSkipDeadbeefFilling;
|
||||
g_Config.bSkipDeadbeefFilling = true;
|
||||
const bool oldAccurateVdot = g_Config.bAccurateVdot;
|
||||
g_Config.bAccurateVdot = getenv("PPSSPP_CPUFUZZ_ACCURATE_VDOT") != nullptr;
|
||||
|
||||
const char *countStr = getenv("PPSSPP_CPUFUZZ_COUNT");
|
||||
const char *seedStr = getenv("PPSSPP_CPUFUZZ_SEED");
|
||||
@@ -1049,6 +1052,7 @@ bool TestCPUEquivalence() {
|
||||
mipsr4k.UpdateCore(CPUCore::INTERPRETER);
|
||||
DestroyJitHarness();
|
||||
g_Config.bSkipDeadbeefFilling = oldSkipDeadbeef;
|
||||
g_Config.bAccurateVdot = oldAccurateVdot;
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user