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/vendor/golang.org/x/arch/arm: several issues in ARM disassembler's plan9 syntax #23159
Comments
The GNU tool chain support them. |
Most issues are fixed in https://go-review.googlesource.com/c/arch/+/85455, except
|
Remaining issue after https://go-review.googlesource.com/c/arch/+/85455 is merged.
|
This issue is not quite critical, since normal arm developers still can understand with those minor inconsistency. |
Do you mind if I take a look at adding VFMA/VNFMA support for Go 1.12? |
Do you accept the repair of these problems now? |
Any fix is appreciated. |
Though the ARM disassembler can decode most instruction binaries into gnu syntax correctly, there are several issues in plan9 syntax decoding.
op name
15f715e7| 1 plan9 SDIV R7, R5, R5
It should be "DIV R7, R5, R5", and many others are also incorrect.
MLA should be MULA
UDIV should be DIVU
......
LDM/STM
ed003be9| 1 plan9 LDMDB [R0,R2-R3,R5-R7], R11!
2.1 their op name should be MOVM
2.2 () should be used instead of []
2.3 The DB/IA/DA/IB suffixes should be decoded to .W/.P suffixes
SWP/SWPB
939007e1| 1 plan9 SWP [R7], R3, R9
3.1. () should be used instead of []
3.2 The parameter order is incorrect
VMRS/VMSR
109ae1ee| 1 plan9 VMSR R9, FPSCR
The op name is incorrect
FP instructions
5.1 op name: VADD.F32->ADDF, VSUB.F64->SUBD, ......
5.2 register name: S2->F1, S4->F2, ...
5.3 vcvt has incorrect form
5.4 vmov has incorrect form
XTB/XTH/XTBU/XTHU should be MOVB/MOVH
STREX/LDREX has incorrect parameter order
XTAB/XTAH/XTABU/XTAHU has incorrect form
The text was updated successfully, but these errors were encountered: