Skip to content

Add missing ARM64 instructions to Go ASM #71701

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Clement-Jean opened this issue Feb 13, 2025 · 6 comments
Closed

Add missing ARM64 instructions to Go ASM #71701

Clement-Jean opened this issue Feb 13, 2025 · 6 comments
Labels
Implementation Issues describing a semantics-preserving change to the Go implementation.

Comments

@Clement-Jean
Copy link

Clement-Jean commented Feb 13, 2025

After finally learning how to add instructions to Go ASM, I want to contribute to adding missing instructions for ARM64.

I'm aware of some of them missing in the SIMD land (e.g. #41092) but I'm also open to suggestions from people.

If there is any objection, let me know and I will stop working on this.

To follow the work you can check: https://github.com/Clement-Jean/go/tree/missing_arm64_instructions

@gabyhelp gabyhelp added the Implementation Issues describing a semantics-preserving change to the Go implementation. label Feb 13, 2025
@seankhliao
Copy link
Member

this doesn't look like a concrete bug.

@seankhliao seankhliao closed this as not planned Won't fix, can't repro, duplicate, stale Feb 13, 2025
@Clement-Jean
Copy link
Author

Clement-Jean commented Feb 13, 2025

@seankhliao the goal wasn't about reporting a bug but checking if the team is OK getting help to implement the instructions. I made this issue out of courtesy.

Does this mean this is not needed and I should stop working on this?

@randall77
Copy link
Contributor

This is probably a duplicate of #44734.
There was a bunch of work on that issue, but if I understand correctly progress has stalled. Maybe you could help out on that design if you were up for it.

@Clement-Jean
Copy link
Author

This is not a duplicate per se because I was just thinking about adding the instructions and tests like it has been done up until now. However, I can see the appeal to redesign the framework for arm64 assembler to also support SVE and easier maintenance.

Let me read about it more, and I'll get back to you.

@Clement-Jean
Copy link
Author

@randall77 while this seems very interesting, the redesign seems to be something for people who have more expertise in the ISA design (maybe people at Arm) and that have more time to spend on this than me. If you still want, I can try to add the instructions that are mentioned in the related issues but otherwise, I'll stop working on this.

@randall77
Copy link
Contributor

I think it would be ok to add particular instructions to the existing assembler if there is a need for them.
But I'd rather not just add all the missing instructions to the existing assembler. It is difficult enough to maintain as it is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Implementation Issues describing a semantics-preserving change to the Go implementation.
Projects
None yet
Development

No branches or pull requests

4 participants