mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/asm: enable AVX512
- Uncomment tests for AVX512 encoder - Permit instruction suffixes for x86 - Permit limited reg list [reg-reg] syntax for x86 for multi-source ops - EVEX encoding support in obj/x86 (Z-cases, asmevex, etc.) - optabs and ytabs generated by x86avxgen (https://golang.org/cl/107216) Note: suffix formatting implemented with updated CConv function. Now arch asm backend should register formatting function by calling RegisterOpSuffix. Updates #22779 Change-Id: I076a167ee49582700e058c56ad74e6696710c8c8 Reviewed-on: https://go-review.googlesource.com/113315 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
8a85bce215
commit
5437cde96c
36 changed files with 22093 additions and 15835 deletions
|
|
@ -138,13 +138,16 @@ import (
|
|||
// offset = second register
|
||||
//
|
||||
// [reg, reg, reg-reg]
|
||||
// Register list for ARM and ARM64.
|
||||
// Register list for ARM, ARM64, 386/AMD64.
|
||||
// Encoding:
|
||||
// type = TYPE_REGLIST
|
||||
// On ARM:
|
||||
// offset = bit mask of registers in list; R0 is low bit.
|
||||
// On ARM64:
|
||||
// offset = register count (Q:size) | arrangement (opcode) | first register
|
||||
// On 386/AMD64:
|
||||
// reg = range low register
|
||||
// offset = 2 packed registers + kind tag (see x86.EncodeRegisterRange)
|
||||
//
|
||||
// reg, reg
|
||||
// Register pair for ARM.
|
||||
|
|
@ -282,7 +285,7 @@ type Prog struct {
|
|||
RegTo2 int16 // 2nd destination operand
|
||||
Mark uint16 // bitmask of arch-specific items
|
||||
Optab uint16 // arch-specific opcode index
|
||||
Scond uint8 // condition bits for conditional instruction (e.g., on ARM)
|
||||
Scond uint8 // bits that describe instruction suffixes (e.g. ARM conditions)
|
||||
Back uint8 // for x86 back end: backwards branch state
|
||||
Ft uint8 // for x86 back end: type index of Prog.From
|
||||
Tt uint8 // for x86 back end: type index of Prog.To
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue