Skip to content

Implement operation element-of expression - #1042

Draft
rascmatt wants to merge 2 commits into
masterfrom
feature/op-element-of
Draft

Implement operation element-of expression#1042
rascmatt wants to merge 2 commits into
masterfrom
feature/op-element-of

Conversation

@rascmatt

Copy link
Copy Markdown
Contributor

Implements type checking and behavior lowering for the element-of () and no-element-of () binary operators within the [assert : ...] and [stop : ...] annotations of group expressions.

Since operation definitions are sets of instructions, the semantics of the element-of operators behaves as expected like the element-of operator of a set. To the left side of the expression we allow a reference to some captured instruction, either bound via an exist .. then or forall .. then expression index, or via a group reference.

Examples:

VLIW(0) ∈ ALU_FP
i ∈ ALU_FP

This is the last remaining piece for the group expression/annotations required for VLIW support, so I re-enabled those in the hexagon.vadl spec. This required some slight adaptions, to use the logical or/and operators (||, &&) rather than the bitwise operators.

@github-actions github-actions Bot added enhancement New feature or request lcb This is LCB related iss This is ISS related labels Jul 19, 2026
@rascmatt
rascmatt force-pushed the feature/op-element-of branch from b958e37 to 3a7f5c2 Compare July 19, 2026 13:21
@rascmatt rascmatt added frontend This is frontend related viam and removed lcb This is LCB related iss This is ISS related labels Jul 19, 2026
@github-actions github-actions Bot added lcb This is LCB related iss This is ISS related labels Jul 19, 2026
@rascmatt
rascmatt requested a review from Jozott00 July 19, 2026 13:52
@rascmatt

rascmatt commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

As discussed with @AndreasKrall in our weekly meeting today, the in and !in operators are expected to be alternatives to the and , so I will extend the frontend with that.

@rascmatt
rascmatt marked this pull request as draft August 3, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request frontend This is frontend related iss This is ISS related lcb This is LCB related viam

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant