Files
Syphon_Filter_3/config
Christopher Williams ef29df9b58 phase10: merge 23 — 474 distinct bodies / 483 regions (ONE from the milestone)
+3 bodies (worker B2 claims 5-7). Candidate gate MATCH before promotion; md5 drift
check clean on all three (second use of the guard). make check green: regions=483
AGREE, differing_bytes=0 MATCH.

Region option granted: gp=-D_80121BFC on 0x80048128. This one carries PER-ACCESS
evidence in a single merge: D_80121BFC is read gp-RELATIVELY in worker B2's claim 7
row (lw v1,708(gp)) and ABSOLUTELY in claim 5's row (lui v1,0x8012 + lw v1,7164(v1)).
So the same symbol needs the override in one region and not in the other -- direct
confirmation of worker B's lever 12 that the access form is per-SITE, and an argument
that the override is a region property rather than a symbol property.

THREE NEW LEVERS (worker B2), each with a control:
1. A LOCAL SHARED BY TWO GUARD BLOCKS GETS COALESCED; TWO BRACE-SCOPED LOCALS DO NOT.
   0x8008BA80: the original's first guard loads the state byte into a0 (the
   parameter's own dead register) while the second guard loads *a2 into a FRESH v1.
   One function-scope local makes cc1 coalesce the live ranges into a0 and DIFFs;
   brace-scoping each reproduces it. A SCOPING lever, distinct from the
   named-locals family.
2. THE EVALUATION ORDER OF TWO SCALED TERMS IS BYTE-REQUIRED. 0x800504E4:
   base + a0*384 + a1*3072 scales a0 first; base + a1*3072 + a0*384 scales a1 first,
   which is the original. Worker B's claim-1 lever extended from the operands of one
   '+' to the ORDER OF TWO INDEX COMPUTATIONS.
3. AN UNSIGNED LOOP COUNTER SHOWS AS sltiu vs slti -- ONE BYTE (opcode 0x0b vs 0x0a).
   0x800504E4's i < 16 is sltiu, so the counter is unsigned int. The loop-test form of
   the signedness trap.

Also independently reproduced: worker C's lever 6, (unsigned)(c - 58) < 2 giving ONE
addiu+sltiu pair where c >= 58 && c <= 59 gives two tests (on 0x80048128).
2026-09-24 08:11:03 -04:00
..