commit c67f18b84502a7af20d9486f177d61dfa855dd1a
parent 498a5c4ed0510ab532dc3df0b44c310501c66c78
Author: Ryan Sepassi <rsepassi@gmail.com>
Date: Tue, 2 Jun 2026 06:34:55 -0700
plan: flag i128_06 -O1 regression on this branch (blocks merge)
Diffstat:
1 file changed, 12 insertions(+), 0 deletions(-)
diff --git a/doc/plan/CODEGEN.md b/doc/plan/CODEGEN.md
@@ -9,6 +9,18 @@ The **fold-layer isolation + delayed-arith re-enable** (Track 6) is **complete**
remains is the **binop/cmp op-split** (the rest of Track 2), the Track 1c completeness
audit, and the Track 5 multi-value follow-up.
+> **⚠ KNOWN REGRESSION — blocks merge.** `test-parse i128_06_shifts_bitwise` fails at
+> **-O1 on the native + link paths** (`O1/D`, `O1/J`, `O1/E`; `-O1/R` interp and all
+> `-O0` variants pass). Clean on `main` (`dce052f`: 8/8 pass). Bisect: enters at
+> `a0397c6` (Track 7.1/7.2) as `O0/E`+`O1/E` link failures, then **morphs** through
+> `6f48bfd` (Track 7.3 wide16 collapse) into the `-O1` D/J/E failures at branch HEAD —
+> so the i128 `-O1` lowering is broken by the interaction of the PLACE-predicate
+> tightening (7.1/7.2) and the wide16 collapse (7.3). **Every per-stage verify and the
+> final verify missed it: `test-parse` was in no stage's gate** (gates ran
+> toy/cg-api/opt/isa/smoke + bootstrap; `make bootstrap` reproduces byte-identical
+> because it tests stage2==stage3 determinism, not correctness-vs-golden). Root-cause
+> and fix the i128 `-O1` path before merging; add `test-parse` to the gate.
+
Forward-looking companion to the canonical design in [doc/CODEGEN.md](../CODEGEN.md). Goal:
make the `CfreeCg` public API and the internal `CgTarget` contract carry **one clear
representation per concept, with no advertise-but-ignore surface and no façade**. Breaking