Skip to content

winch(aarch64): add v128.const support#13911

Merged
cfallin merged 4 commits into
bytecodealliance:mainfrom
macovedj:winch-aarch64-v128-const
Jul 22, 2026
Merged

winch(aarch64): add v128.const support#13911
cfallin merged 4 commits into
bytecodealliance:mainfrom
macovedj:winch-aarch64-v128-const

Conversation

@macovedj

Copy link
Copy Markdown
Contributor

This pr adds support for v128.const to winch for aarch64.

I'd like to tackle the larger list of missing SIMD support, and figured I should start with something small.

In mov_ir the v128 immediate takes the add_constant path rather than the emit path since that's what the x64 backend does for these load_fp_const.

If this goes through I could go ahead and tackle the rest of v128, followed by the others.

@macovedj
macovedj requested review from a team as code owners July 20, 2026 22:30
@macovedj
macovedj requested review from cfallin and removed request for a team July 20, 2026 22:30

@cfallin cfallin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM, thanks!

There's a warning now about the now-unused UnsupportedImm error -- CI should be green once that's removed, then I'm happy to merge.

@macovedj

Copy link
Copy Markdown
Contributor Author

LGTM, thanks!

There's a warning now about the now-unused UnsupportedImm error -- CI should be green once that's removed, then I'm happy to merge.

Thanks! Hope to have some more up soon!

@github-actions github-actions Bot added the winch Winch issues or pull requests label Jul 21, 2026
@github-actions

Copy link
Copy Markdown

Subscribe to Label Action

cc @saulecabrera

Details This issue or pull request has been labeled: "winch"

Thus the following users have been cc'd because of the following labels:

  • saulecabrera: winch

To subscribe or unsubscribe from this label, edit the .github/subscribe-to-label.json configuration file.

Learn more.

@cfallin
cfallin added this pull request to the merge queue Jul 21, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 21, 2026
@macovedj

macovedj commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

Looks like there was another CI failure from expecting v128_load_lane_invalid_address to fail, which passes with v128.const support. Getting rid of the blanket simd should-fail check only required adding two additional tests to the unsupported list, so I figured the change I pushed lets me remove expected failures from the unsupported list as I go.

@cfallin
cfallin added this pull request to the merge queue Jul 21, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 21, 2026
@macovedj

Copy link
Copy Markdown
Contributor Author

Looks like the simd check is also used by other test suites. Removing it caused a couple of tests/all winch tests to fail in the merge queue. Added it back and moved the wast exceptions to a now_supported list instead. As far as I can tell there's no way to avoid keeping that list and manually moving items over from unsupported as they start passing, but happy to change the approach if there's a better one.

@cfallin cfallin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

test-runner fixes LGTM; thanks!

@cfallin
cfallin added this pull request to the merge queue Jul 22, 2026
Merged via the queue into bytecodealliance:main with commit 7114bf8 Jul 22, 2026
53 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

winch Winch issues or pull requests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants