riscv64: fix and update decoding of MOVD and MOVF

Change https://go-review.googlesource.com/c/go/+/703216 enhances
MOVD and MOVF so that they can be used to initialise a floating
point register to 0.0 and also to copy the binary representations
of floating point values between integer and floating point registers.

We update the riscv64 plan9 disassembler to recognise these cases
and output the appropriate MOVD/MOVF instructions.

We also fix a bug in the plan9 decoder which results in the
arguments for the MOVD and MOVF instructions that represent loads
and stores being output in the wrong order.

Change-Id: I5c3561437f5a0c936767497de6e22c976ce17cff
Reviewed-on: https://go-review.googlesource.com/c/arch/+/704195
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Joel Sing <joel@sing.id.au>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Meng Zhuo <mengzhuo1203@gmail.com>
2 files changed
tree: c54c931cd25e976b89908755738fd6b648ee3f23
  1. arm/
  2. arm64/
  3. loong64/
  4. ppc64/
  5. riscv64/
  6. s390x/
  7. x86/
  8. codereview.cfg
  9. CONTRIBUTING.md
  10. go.mod
  11. go.sum
  12. LICENSE
  13. PATENTS
  14. README.md
README.md

arch

Go Reference

This repository holds machine architecture information used by the Go toolchain. The parts needed in the main Go repository are copied in.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://go.dev/doc/contribute.

The git repository is https://go.googlesource.com/arch.

The main issue tracker for the arch repository is located at https://go.dev/issues. Prefix your issue with “x/arch:” in the subject line, so it is easy to find.