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

The argument order of MULA/MADD like instructions #23775

Closed
benshi001 opened this issue Feb 11, 2018 · 2 comments
Closed

The argument order of MULA/MADD like instructions #23775

benshi001 opened this issue Feb 11, 2018 · 2 comments

Comments

@benshi001
Copy link
Member

The MULA like instructions perform x0*x1+x2 -> result. But the argument order varies
among different platforms. The addend comes third on arm32 for both integer MULA/MULS and
FP FMULA/FMULS. But on arm64,

  1. The addend of integer MADD/MSUB comes second in both the assembler and disassembler.
  2. The addend of FP FMADD/FMSUB comes first in the disassembler.
  3. support of FP FMADD/FMSUB in the assembler is under review, in which thre addend comes second.
    (https://golang.org/cl/90876)

My concerns:

  1. Do we need consistancy between ARM32 and arm64?
  2. If not, do we need consistancy between integer version and FP version on arm64?
  3. if not, at least we should keep consistancy between the assembler and disassembler.
@benshi001
Copy link
Member Author

For the compatibility and least change,

  1. keep arm32 unchanged, all addends comes thirds
  2. unify arm64's addends coming second (needs changing the disassembler).

@gopherbot
Copy link

Change https://golang.org/cl/93336 mentions this issue: arm64/arm64asm: fix argument order in FMADD/FMSUB/FNMADD/FNMSUB

@golang golang locked and limited conversation to collaborators Feb 21, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants