Skip to content

Upstream merge 2026-09-11 04:27 EDT - #297

Merged
maarquitos14 merged 2 commits into
amd-stagingfrom
upstream-merge-20260911082738
Sep 11, 2026
Merged

maarquitos14 merged 2 commits into
amd-stagingfrom
upstream-merge-20260911082738

Conversation

@rocm-spirv-translator-merge

Copy link
Copy Markdown
Contributor

Automated merge of upstream KhronosGroup/SPIRV-LLVM-Translator main branch.

This PR was created automatically by the upstream-merge workflow.

Important

Merge with "Create a merge commit", not squash — squashing destroys the upstream ancestry link and causes conflicts on every future merge.

Qi-Ye-079 and others added 2 commits September 10, 2026 17:04
… (#3951)

Adds reverse-translation of the new `OpTypeVectorIdEXT` op from
`SPV_EXT_long_vector` extension in the Reader. Its component size must
be a constant instruction
(`OpConstant`/`OpSpecConstant`/`OpSpecConstantOp`).

The goal is to cover `OpTypeVectorIdEXT` for all instructions that can
use `OpTypeVector` type. However, there's a fundamental difference when
it comes to **checking the component count** for these instructions:
- We can't check component count in `validate()` methods of these
instructions, like they do for `OpTypeVector`-typed results/operands,
because the component count is an instruction which must be
translated/evaluated to know the values.
- We can't _fully_ rely on the `spirv-val` to validate component count
for instructions either, because `spirv-val` can't correctly evaluate
specialization constants which can be overriden by users via
TranslatorOpts.

Given these, the component check of `OpTypeVectorIdEXT` for instructions
are performed by the Reader during `transValue`. For the same reason, a
new `SPIRVTypeVectorIdEXT` class is added, since its state and
implementation differ a lot from `SPIRVTypeVector`.
@maarquitos14
maarquitos14 merged commit 6aebcac into amd-staging Sep 11, 2026
9 checks passed
@maarquitos14
maarquitos14 deleted the upstream-merge-20260911082738 branch September 11, 2026 10:45
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.

2 participants