Repository navigation
ci: the f16 narrowing ratchet matches the vector form too, so it lists 51 bodies not 25 (#2219) - #2223
ci: the f16 narrowing ratchet matches the vector form too, so it lists 51 bodies not 25 (#2219)#2223bong-water-water-bong wants to merge 2 commits into
Conversation
|
Closing as a duplicate of #2222, which is the earlier PR with the same matcher semantics (I found it after opening this — the dedupe pass I should have run before). Both #2222 and this one drop the bare
The pinned corpus ( |
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
What
tools/ci/hrx_f16_narrowing.pymatched the narrowing by the substringsf32 to f16andtruncf. The vector spelling matches neither, and it is the majority of the corpus:fptruncends intrunc, nottruncf, sotruncfnever fires on it;vector<4xf32> to vector<4xf16>is not the scalar phrasef32 to f16.So 132 of the 233 narrowing lines were invisible and the ratchet guarded 25 of the 51 narrowing bodies.
This changes the marker from string containment to the type pair, as two regexes --
f32 to f16(scalar, unchanged in behaviour) andf32>\s+to\s+vector<\d+xf16>(the vector form, any lane count) -- and re-baselines.Measured, on the corpus at the engine's pin
2b7960baeCorpus extracted from that sha (
git blobs, 124.loomfiles), then the tool's own--check/--writeagainst it:--check--write--checkThe one stale line is
loom-libs/motifs/unary_f32_apply.loom: it is in the baseline and no longer narrows at this pin, so it is dropped by the same--write. That is the engine#1728 rename lesson working as designed rather than a surprise.The issue's "52 bodies" and this "51" differ by one; the number here is what the corpus at
2b7960baeactually contains, and--writeis the authority either way.Test
--self-testgains one arm, next to the existing drift/rename/guard/comment ones:and the whole self-test stays green:
hrx_f16_narrowing self-test: ok.Risk
The matcher now lists 26 more bodies than before, none of which is a new narrowing in the corpus -- they were always there. That is the point of the ratchet, but a reviewer should expect the baseline diff to be prose-free and body-name-only, and any future vector narrowing in one of those bodies will now be caught. No behaviour change to any build; this is the CI listing tool only.