tests: Dolphin-differential PPC oracle suite - #9
Closed
aharonahdoot wants to merge 2 commits into
Closed
Conversation
…rol forms) Decode+emit probes through the real emitter, run the generated C, and byte-compare architectural state against real-Gekko expectations. Known emitter defects are catalogued as xfail; an XPASS fails the run so the catalog cannot go stale. Runs via ctest with just a C compiler.
aharonahdoot
force-pushed
the
pr-oracle-suite
branch
from
July 8, 2026 21:39
4a25f8c to
a56347f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Slimmed way down after the feedback — fair points on size. What's left is 988 lines, 8 files, no external dependencies: it runs via ctest with just a C compiler, same as the rest of your suite. (Also removed the stray
.mapbuild artifact, sorry about that.)tests/diff/: a probe corpus that decodes + emits each case through the real emitter, runs the generated C, and byte-compares registers/flags/memory against real-Gekko expectations. Single-instruction probes catch local opcode semantics; sequence probes catch bugs that only surface when a later instruction consumes a wrong result.xfail. An XPASS fails the run — meaning you fixed one and the catalog entry should be retired, so the catalog can't rot. Your recent emitter work already retired 14 entries this way.This slots in beside
test_pc_referencerather than replacing anything: pc_reference covers the interpreter,codegen_compilechecks emitted C compiles — this covers what the emitted C computes.The heavier Dolphin-capture oracle from the earlier version of this PR now stays in my fork; I'll file anything it finds as regular issues.
Squash-merge if you take it — the second commit just removes build artifacts I fat-fingered in.