Skip to content

feat: unify TFILLPAD modes and FP operand forms - #1122

Open
HecreReed wants to merge 11 commits into
hw-native-sys:mainfrom
HecreReed:codex/unify-tfillpad-mode
Open

feat: unify TFILLPAD modes and FP operand forms#1122
HecreReed wants to merge 11 commits into
hw-native-sys:mainfrom
HecreReed:codex/unify-tfillpad-mode

Conversation

@HecreReed

@HecreReed HecreReed commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Collapse pto.tfillpad_inplace and pto.tfillpad_expand into pto.tfillpad with a mode attribute defaulting to normal.
  • Remove the textual IR ops pto.textract_fp, pto.tinsert_fp, pto.tmov.fp, and pto.tstore_fp; represent FP variants through optional fp operands on pto.textract, pto.tinsert, pto.tmov, and pto.tstore.
  • Keep one-to-one PTO-ISA lowering: no-mode FP forms select TEXTRACT_FP, TINSERT_FP, TMOV_FP, and TSTORE_FP, while explicit A5 acc-to-vec modes select the unified PTO-ISA overloads.
  • Preserve PTO-BC v0 cross-build readability: existing canonical opcodes retain their fixed payload schemas, historical FP opcodes remain wire-only aliases that decode into the unified IR ops, and newer pre-quant forms use generic v0 encoding when they do not fit the shipped compact schema.
  • Migrate Python bindings, PTODSL, TileLib, tests, samples, documentation, and PTOBC metadata.
  • Update all seven managed PTO-ISA pin locations to 27386d906e8fdcbd93aec84197939bc0b2c6caea; extend update_pto_isa_pin.py and its workflow to cover ci_sim.yml and the compile-only guide.

Compatibility

  • pto.tfillpad keeps source compatibility through mode = normal by default.
  • Removed FP textual op names require migration to the corresponding unified op with an optional fp operand.
  • PTO-BC v0 is treated as a cross-build exchange format. Opcode payloads assigned in v0 must not change without a version bump; legacy FP bytecode remains readable and is normalized during decode.

Validation

  • PTOASPythonPackage build passed.
  • Focused lit suite: 21 passed.
  • PTODSL: 44 vector/cube tests and 37 TileLib tests passed.
  • FP samples: Extract 2, TInsert 2, Movfp 2, Storefp 1 passed; invalid Storefp XFAIL behaved as expected.
  • PTOBC suite: 20/20 passed, including old-schema static checks, FP opcode byte assertions, roundtrip decode, reparsing, and verifier checks.
  • PTO-ISA pin verifier passed for all seven locations.
  • git diff --check and removed-op residue checks passed.

@HecreReed HecreReed changed the title feat: unify TFILLPAD modes feat: unify TFILLPAD modes and FP operand forms Aug 4, 2026
@HecreReed
HecreReed marked this pull request as ready for review August 4, 2026 05:31
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant