commit | 44deed04936c31acd3d9306129a66498fb79d2ef | [log] [tgz] |
---|---|---|
author | Paul E. Murphy <murp@ibm.com> | Mon May 24 16:22:57 2021 -0500 |
committer | Paul Murphy <murp@ibm.com> | Thu Sep 15 21:17:55 2022 +0000 |
tree | e204517cec256c0ac217ccab945cd3b91ce92a9b | |
parent | ada1728cebaa682942b88353968347233f495ce7 [diff] |
ppc64/ppc64map: add encoder functionality Use the ISA information to generate bits for supporting ISA 3.1 (POWER10) instructions. This creates a new file asm9_gtables.go to allow assembly of instructions defined in pp64.csv. This uses the input pp64.csv file to generate an encoding function for each "type" of instruction. Some encoder functions can be shared (e.x fpr/gpr/vsr opcodes which share similar encoding). These are named based on the oldest instruction which uses the function, like "type_xxspltiw". All functions share two tables which store the fixed bits of an instruction. Non-prefixed instructions use GenOpcodes exclusively, prefixed opcodes use the GenPfxOpcodes table to hold the suffix instruction word bits. These are used to populate the instruction specific encoding bits for a particular type. Likewise, the function opsetGen is created to map opcodes which share identical argument types. This plugs into the buildop function in asm9.go. Change-Id: I50cddfcec86b667774af858fb8efe8910dfe80b8 Reviewed-on: https://go-review.googlesource.com/c/arch/+/350609 Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Paul Murphy <murp@ibm.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com>
This repository holds machine architecture information used by the Go toolchain. The parts needed in the main Go repository are copied in.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the arch repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/arch:” in the subject line, so it is easy to find.