Skip to content
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

cmd/asm: add TRN1 and TRN2 arm64 instruction support #51628

Closed
josharian opened this issue Mar 12, 2022 · 5 comments
Closed

cmd/asm: add TRN1 and TRN2 arm64 instruction support #51628

josharian opened this issue Mar 12, 2022 · 5 comments
Labels
FeatureRequest FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@josharian
Copy link
Contributor

josharian commented Mar 12, 2022

It'd be lovely if the assembler supported the TRN1 and TRN2 arm64 instructions. (Would they be called VTRN1 and VTRN2 instead? Not sure.)

Thanks!

https://developer.arm.com/documentation/ddi0602/2020-12/SIMD-FP-Instructions/TRN1--Transpose-vectors--primary--

cc @zhangfannie

@josharian josharian changed the title cmd/asm: add VTRN1 and VTRN2 arm64 instruction support cmd/asm: add TRN1 and TRN2 arm64 instruction support Mar 12, 2022
@ALTree ALTree added FeatureRequest NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Mar 12, 2022
@ALTree ALTree added this to the Unplanned milestone Mar 12, 2022
@josharian
Copy link
Contributor Author

josharian commented Mar 12, 2022

In case it helps, here are some tested assembled instructions:

	// TRN1	V2.D2, V3.D2, V20.D2
	WORD $0x4EC32854

	// TRN2	V2.D2, V3.D2, V21.D2
	WORD $0x4EC36855   

	// TRN1	V4.D2, V5.D2, V22.D2
	WORD $0x4EC52896   

	// TRN2	V4.D2, V5.D2, V23.D2
	WORD $0x4EC56897

@mengzhuo
Copy link
Contributor

cc @zhangfannie @erifan ARM maintainer

@zhangfannie
Copy link
Contributor

@josharian Add their assembly support right away. Thank you.

@gopherbot
Copy link

Change https://go.dev/cl/392294 mentions this issue: cmd/internal/obj/obj/arm64: add TRN1 and TRN2 instructions support

@zhangfannie
Copy link
Contributor

@josharian The gun assembly syntax is: TRN2 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>, its golang assembly syntax is: VTRN2 <Vm>.<T>, <Vn>.<T>, <Vd>.<T>. Thank you.

@golang golang locked and limited conversation to collaborators Mar 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FeatureRequest FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
None yet
Development

No branches or pull requests

5 participants