Skip to content

[mlir][dxsa] Add dcl_input and dcl_output instructions#132

Merged
tagolog merged 2 commits into
access-softek:dxsa-mlirfrom
tagolog:dxsa-mlir-dcl_input-and-dcl_output
May 21, 2026
Merged

[mlir][dxsa] Add dcl_input and dcl_output instructions#132
tagolog merged 2 commits into
access-softek:dxsa-mlirfrom
tagolog:dxsa-mlir-dcl_input-and-dcl_output

Conversation

@tagolog
Copy link
Copy Markdown

@tagolog tagolog commented May 13, 2026

Example:
dxsa.dcl_input <type = input, components = 4, mask = , index = [0]>
dxsa.dcl_output <type = output, components = 4, mask = <x, y, z, w>, index = [0]>

@tagolog tagolog requested review from asavonic and asl May 13, 2026 21:23
let assemblyFormat = "$value";
}

def DXSA_InlineOperandType_Temp : I32EnumAttrCase<"temp", 0>;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be great if we can use these enums for regular operands as well.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I plan to refine regular operation right after all DCL operations and reuse this operand for regular operations also.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. When we use them for regular operations, perhaps we'll need to remove Inline prefix, but it is a minor thing that we can address later.

Comment thread mlir/lib/Target/DXSA/BinaryParser.cpp Outdated
tagolog added 2 commits May 20, 2026 19:08
Example:
  dxsa.dcl_input %v0
  dxsa.dcl_output %o0

Signed-off-by: Vladimir Shiryaev <tagolog@users.noreply.github.com>
Encode the operand as an inline attribute instead of separate SSA values.

Example:
  dxsa.dcl_input <type = input, components = 4, mask = <x>, index = [0]>
  dxsa.dcl_output <type = output, components = 4, mask = <x, y, z, w>, index = [0]>

Signed-off-by: Vladimir Shiryaev <tagolog@users.noreply.github.com>
@tagolog tagolog force-pushed the dxsa-mlir-dcl_input-and-dcl_output branch from 35f7d26 to bae2b2c Compare May 21, 2026 02:35
@tagolog tagolog requested a review from asavonic May 21, 2026 02:36
Copy link
Copy Markdown
Contributor

@asavonic asavonic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

Comment thread mlir/lib/Target/DXSA/BinaryParser.cpp
let assemblyFormat = "$value";
}

def DXSA_InlineOperandType_Temp : I32EnumAttrCase<"temp", 0>;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good. When we use them for regular operations, perhaps we'll need to remove Inline prefix, but it is a minor thing that we can address later.

@tagolog tagolog merged commit 014c7b3 into access-softek:dxsa-mlir May 21, 2026
5 checks passed
@tagolog tagolog deleted the dxsa-mlir-dcl_input-and-dcl_output branch May 21, 2026 19:44
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