Commit 5437cde9 authored by isharipo's avatar isharipo Committed by Ilya Tocar

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: default avatarCherry Zhang <cherryyz@google.com>
parent 8a85bce2
...@@ -13,6 +13,7 @@ import ( ...@@ -13,6 +13,7 @@ import (
"cmd/asm/internal/flags" "cmd/asm/internal/flags"
"cmd/asm/internal/lex" "cmd/asm/internal/lex"
"cmd/internal/obj" "cmd/internal/obj"
"cmd/internal/obj/x86"
"cmd/internal/objabi" "cmd/internal/objabi"
"cmd/internal/sys" "cmd/internal/sys"
) )
...@@ -38,6 +39,12 @@ func (p *Parser) append(prog *obj.Prog, cond string, doLabel bool) { ...@@ -38,6 +39,12 @@ func (p *Parser) append(prog *obj.Prog, cond string, doLabel bool) {
return return
} }
case sys.AMD64, sys.I386:
if err := x86.ParseSuffix(prog, cond); err != nil {
p.errorf("%v", err)
return
}
default: default:
p.errorf("unrecognized suffix .%q", cond) p.errorf("unrecognized suffix .%q", cond)
return return
...@@ -740,6 +747,12 @@ func (p *Parser) asmInstruction(op obj.As, cond string, a []obj.Addr) { ...@@ -740,6 +747,12 @@ func (p *Parser) asmInstruction(op obj.As, cond string, a []obj.Addr) {
prog.To = a[4] prog.To = a[4]
break break
} }
if p.arch.Family == sys.AMD64 {
prog.From = a[0]
prog.RestArgs = []obj.Addr{a[1], a[2], a[3]}
prog.To = a[4]
break
}
p.errorf("can't handle %s instruction with 5 operands", op) p.errorf("can't handle %s instruction with 5 operands", op)
return return
case 6: case 6:
......
...@@ -97,10 +97,6 @@ var badExprTests = []badExprTest{ ...@@ -97,10 +97,6 @@ var badExprTests = []badExprTest{
} }
func TestBadExpr(t *testing.T) { func TestBadExpr(t *testing.T) {
panicOnError = true
defer func() {
panicOnError = false
}()
for i, test := range badExprTests { for i, test := range badExprTests {
err := runBadTest(i, test, t) err := runBadTest(i, test, t)
if err == nil { if err == nil {
...@@ -119,13 +115,7 @@ func TestBadExpr(t *testing.T) { ...@@ -119,13 +115,7 @@ func TestBadExpr(t *testing.T) {
func runBadTest(i int, test badExprTest, t *testing.T) (err error) { func runBadTest(i int, test badExprTest, t *testing.T) (err error) {
p := NewParser(nil, nil, nil) // Expression evaluation uses none of these fields of the parser. p := NewParser(nil, nil, nil) // Expression evaluation uses none of these fields of the parser.
p.start(lex.Tokenize(test.input)) p.start(lex.Tokenize(test.input))
defer func() { return tryParse(t, func() {
e := recover() p.expr()
var ok bool })
if err, ok = e.(error); e != nil && !ok {
t.Fatal(e)
}
}()
p.expr()
return nil
} }
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package asm
import (
"cmd/asm/internal/lex"
"strings"
"testing"
)
type badInstTest struct {
input, error string
}
func TestAMD64BadInstParser(t *testing.T) {
testBadInstParser(t, "amd64", []badInstTest{
// Test AVX512 suffixes.
{"VADDPD.A X0, X1, X2", `unknown suffix "A"`},
{"VADDPD.A.A X0, X1, X2", `unknown suffix "A"; duplicate suffix "A"`},
{"VADDPD.A.A.A X0, X1, X2", `unknown suffix "A"; duplicate suffix "A"`},
{"VADDPD.A.B X0, X1, X2", `unknown suffix "A"; unknown suffix "B"`},
{"VADDPD.Z.A X0, X1, X2", `Z suffix should be the last; unknown suffix "A"`},
{"VADDPD.Z.Z X0, X1, X2", `Z suffix should be the last; duplicate suffix "Z"`},
{"VADDPD.SAE.BCST X0, X1, X2", `can't combine rounding/SAE and broadcast`},
{"VADDPD.BCST.SAE X0, X1, X2", `can't combine rounding/SAE and broadcast`},
{"VADDPD.BCST.Z.SAE X0, X1, X2", `Z suffix should be the last; can't combine rounding/SAE and broadcast`},
{"VADDPD.SAE.SAE X0, X1, X2", `duplicate suffix "SAE"`},
{"VADDPD.RZ_SAE.SAE X0, X1, X2", `bad suffix combination`},
})
}
func testBadInstParser(t *testing.T, goarch string, tests []badInstTest) {
for i, test := range tests {
arch, ctxt := setArch(goarch)
tokenizer := lex.NewTokenizer("", strings.NewReader(test.input+"\n"), nil)
parser := NewParser(ctxt, arch, tokenizer)
err := tryParse(t, func() {
parser.start(lex.Tokenize(test.input))
parser.line()
})
switch {
case err == nil:
t.Errorf("#%d: %q: want error %q; have none", i, test.input, test.error)
case !strings.Contains(err.Error(), test.error):
t.Errorf("#%d: %q: want error %q; have %q", i, test.input, test.error, err)
}
}
}
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
package asm package asm
import ( import (
"strings"
"testing" "testing"
"cmd/asm/internal/arch" "cmd/asm/internal/arch"
...@@ -30,6 +31,45 @@ func newParser(goarch string) *Parser { ...@@ -30,6 +31,45 @@ func newParser(goarch string) *Parser {
return NewParser(ctxt, architecture, nil) return NewParser(ctxt, architecture, nil)
} }
// tryParse executes parse func in panicOnError=true context.
// parse is expected to call any parsing methods that may panic.
// Returns error gathered from recover; nil if no parse errors occured.
//
// For unexpected panics, calls t.Fatal.
func tryParse(t *testing.T, parse func()) (err error) {
panicOnError = true
defer func() {
panicOnError = false
e := recover()
var ok bool
if err, ok = e.(error); e != nil && !ok {
t.Fatal(e)
}
}()
parse()
return nil
}
func testBadOperandParser(t *testing.T, parser *Parser, tests []badOperandTest) {
for _, test := range tests {
err := tryParse(t, func() {
parser.start(lex.Tokenize(test.input))
addr := obj.Addr{}
parser.operand(&addr)
})
switch {
case err == nil:
t.Errorf("fail at %s: got no errors; expected %s\n", test.input, test.error)
case !strings.Contains(err.Error(), test.error):
t.Errorf("fail at %s: got %s; expected %s", test.input, err, test.error)
}
}
}
func testOperandParser(t *testing.T, parser *Parser, tests []operandTest) { func testOperandParser(t *testing.T, parser *Parser, tests []operandTest) {
for _, test := range tests { for _, test := range tests {
parser.start(lex.Tokenize(test.input)) parser.start(lex.Tokenize(test.input))
...@@ -45,6 +85,7 @@ func testOperandParser(t *testing.T, parser *Parser, tests []operandTest) { ...@@ -45,6 +85,7 @@ func testOperandParser(t *testing.T, parser *Parser, tests []operandTest) {
func TestAMD64OperandParser(t *testing.T) { func TestAMD64OperandParser(t *testing.T) {
parser := newParser("amd64") parser := newParser("amd64")
testOperandParser(t, parser, amd64OperandTests) testOperandParser(t, parser, amd64OperandTests)
testBadOperandParser(t, parser, amd64BadOperandTests)
} }
func Test386OperandParser(t *testing.T) { func Test386OperandParser(t *testing.T) {
...@@ -85,6 +126,10 @@ type operandTest struct { ...@@ -85,6 +126,10 @@ type operandTest struct {
input, output string input, output string
} }
type badOperandTest struct {
input, error string
}
// Examples collected by scanning all the assembly in the standard repo. // Examples collected by scanning all the assembly in the standard repo.
var amd64OperandTests = []operandTest{ var amd64OperandTests = []operandTest{
...@@ -202,9 +247,28 @@ var amd64OperandTests = []operandTest{ ...@@ -202,9 +247,28 @@ var amd64OperandTests = []operandTest{
{"y+56(FP)", "y+56(FP)"}, {"y+56(FP)", "y+56(FP)"},
{"·AddUint32(SB)", "\"\".AddUint32(SB)"}, {"·AddUint32(SB)", "\"\".AddUint32(SB)"},
{"·callReflect(SB)", "\"\".callReflect(SB)"}, {"·callReflect(SB)", "\"\".callReflect(SB)"},
{"[X0-X0]", "[X0-X0]"},
{"[ Z9 - Z12 ]", "[Z9-Z12]"},
{"[X0-AX]", "[X0-AX]"},
{"[AX-X0]", "[AX-X0]"},
{"[):[o-FP", ""}, // Issue 12469 - asm hung parsing the o-FP range on non ARM platforms. {"[):[o-FP", ""}, // Issue 12469 - asm hung parsing the o-FP range on non ARM platforms.
} }
var amd64BadOperandTests = []badOperandTest{
{"[", "register list: expected ']', found EOF"},
{"[4", "register list: bad low register in `[4`"},
{"[]", "register list: bad low register in `[]`"},
{"[f-x]", "register list: bad low register in `[f`"},
{"[r10-r13]", "register list: bad low register in `[r10`"},
{"[k3-k6]", "register list: bad low register in `[k3`"},
{"[X0]", "register list: expected '-' after `[X0`, found ']'"},
{"[X0-]", "register list: bad high register in `[X0-]`"},
{"[X0-x]", "register list: bad high register in `[X0-x`"},
{"[X0-X1-X2]", "register list: expected ']' after `[X0-X1`, found '-'"},
{"[X0,X3]", "register list: expected '-' after `[X0`, found ','"},
{"[X0,X1,X2,X3]", "register list: expected '-' after `[X0`, found ','"},
}
var x86OperandTests = []operandTest{ var x86OperandTests = []operandTest{
{"$(2.928932188134524e-01)", "$(0.29289321881345243)"}, {"$(2.928932188134524e-01)", "$(0.29289321881345243)"},
{"$-1", "$-1"}, {"$-1", "$-1"},
......
...@@ -19,6 +19,7 @@ import ( ...@@ -19,6 +19,7 @@ import (
"cmd/asm/internal/flags" "cmd/asm/internal/flags"
"cmd/asm/internal/lex" "cmd/asm/internal/lex"
"cmd/internal/obj" "cmd/internal/obj"
"cmd/internal/obj/x86"
"cmd/internal/src" "cmd/internal/src"
"cmd/internal/sys" "cmd/internal/sys"
) )
...@@ -134,12 +135,12 @@ func (p *Parser) line() bool { ...@@ -134,12 +135,12 @@ func (p *Parser) line() bool {
for { for {
tok = p.lex.Next() tok = p.lex.Next()
if len(operands) == 0 && len(items) == 0 { if len(operands) == 0 && len(items) == 0 {
if p.arch.InFamily(sys.ARM, sys.ARM64) && tok == '.' { if p.arch.InFamily(sys.ARM, sys.ARM64, sys.AMD64, sys.I386) && tok == '.' {
// ARM conditionals. // Suffixes: ARM conditionals or x86 modifiers.
tok = p.lex.Next() tok = p.lex.Next()
str := p.lex.Text() str := p.lex.Text()
if tok != scanner.Ident { if tok != scanner.Ident {
p.errorf("ARM condition expected identifier, found %s", str) p.errorf("instruction suffix expected identifier, found %s", str)
} }
cond = cond + "." + str cond = cond + "." + str
continue continue
...@@ -827,8 +828,25 @@ func (p *Parser) registerIndirect(a *obj.Addr, prefix rune) { ...@@ -827,8 +828,25 @@ func (p *Parser) registerIndirect(a *obj.Addr, prefix rune) {
// registers, as in [R1,R3-R5] or [V1.S4, V2.S4, V3.S4, V4.S4]. // registers, as in [R1,R3-R5] or [V1.S4, V2.S4, V3.S4, V4.S4].
// For ARM, only R0 through R15 may appear. // For ARM, only R0 through R15 may appear.
// For ARM64, V0 through V31 with arrangement may appear. // For ARM64, V0 through V31 with arrangement may appear.
//
// For 386/AMD64 register list specifies 4VNNIW-style multi-source operand.
// For range of 4 elements, Intel manual uses "+3" notation, for example:
// VP4DPWSSDS zmm1{k1}{z}, zmm2+3, m128
// Given asm line:
// VP4DPWSSDS Z5, [Z10-Z13], (AX)
// zmm2 is Z10, and Z13 is the only valid value for it (Z10+3).
// Only simple ranges are accepted, like [Z0-Z3].
//
// The opening bracket has been consumed. // The opening bracket has been consumed.
func (p *Parser) registerList(a *obj.Addr) { func (p *Parser) registerList(a *obj.Addr) {
if p.arch.InFamily(sys.I386, sys.AMD64) {
p.registerListX86(a)
} else {
p.registerListARM(a)
}
}
func (p *Parser) registerListARM(a *obj.Addr) {
// One range per loop. // One range per loop.
var maxReg int var maxReg int
var bits uint16 var bits uint16
...@@ -923,6 +941,39 @@ ListLoop: ...@@ -923,6 +941,39 @@ ListLoop:
} }
} }
func (p *Parser) registerListX86(a *obj.Addr) {
// Accept only [RegA-RegB] syntax.
// Don't use p.get() to provide better error messages.
loName := p.next().String()
lo, ok := p.arch.Register[loName]
if !ok {
if loName == "EOF" {
p.errorf("register list: expected ']', found EOF")
} else {
p.errorf("register list: bad low register in `[%s`", loName)
}
return
}
if tok := p.next().ScanToken; tok != '-' {
p.errorf("register list: expected '-' after `[%s`, found %s", loName, tok)
return
}
hiName := p.next().String()
hi, ok := p.arch.Register[hiName]
if !ok {
p.errorf("register list: bad high register in `[%s-%s`", loName, hiName)
return
}
if tok := p.next().ScanToken; tok != ']' {
p.errorf("register list: expected ']' after `[%s-%s`, found %s", loName, hiName, tok)
}
a.Type = obj.TYPE_REGLIST
a.Reg = lo
a.Offset = x86.EncodeRegisterRange(lo, hi)
}
// register number is ARM-specific. It returns the number of the specified register. // register number is ARM-specific. It returns the number of the specified register.
func (p *Parser) registerNumber(name string) uint16 { func (p *Parser) registerNumber(name string) uint16 {
if p.arch.Family == sys.ARM && name == "g" { if p.arch.Family == sys.ARM && name == "g" {
......
...@@ -23,6 +23,10 @@ TEXT errors(SB),$0 ...@@ -23,6 +23,10 @@ TEXT errors(SB),$0
// No VSIB for legacy instructions. // No VSIB for legacy instructions.
MOVL (AX)(X0*1), AX // ERROR "invalid instruction" MOVL (AX)(X0*1), AX // ERROR "invalid instruction"
MOVL (AX)(Y0*1), AX // ERROR "invalid instruction" MOVL (AX)(Y0*1), AX // ERROR "invalid instruction"
// VSIB/VM is invalid without vector index.
// TODO(quasilyte): improve error message (#21860).
// "invalid VSIB address (missing vector index)"
VPGATHERQQ Y2, (BP), Y1 // ERROR "invalid instruction"
// AVX2GATHER mask/index/dest #UD cases. // AVX2GATHER mask/index/dest #UD cases.
VPGATHERQQ Y2, (BP)(X2*2), Y2 // ERROR "mask, index, and destination registers should be distinct" VPGATHERQQ Y2, (BP)(X2*2), Y2 // ERROR "mask, index, and destination registers should be distinct"
VPGATHERQQ Y2, (BP)(X2*2), Y7 // ERROR "mask, index, and destination registers should be distinct" VPGATHERQQ Y2, (BP)(X2*2), Y7 // ERROR "mask, index, and destination registers should be distinct"
...@@ -70,4 +74,62 @@ TEXT errors(SB),$0 ...@@ -70,4 +74,62 @@ TEXT errors(SB),$0
MOVQ (AX), DR3 // ERROR "invalid instruction" MOVQ (AX), DR3 // ERROR "invalid instruction"
MOVQ (AX), DR6 // ERROR "invalid instruction" MOVQ (AX), DR6 // ERROR "invalid instruction"
MOVQ (AX), DR7 // ERROR "invalid instruction" MOVQ (AX), DR7 // ERROR "invalid instruction"
// AVX512GATHER index/index #UD cases.
VPGATHERQQ (BP)(X2*2), K1, X2 // ERROR "index and destination registers should be distinct"
VPGATHERQQ (BP)(Y15*2), K1, Y15 // ERROR "index and destination registers should be distinct"
VPGATHERQQ (BP)(Z20*2), K1, Z20 // ERROR "index and destination registers should be distinct"
VPGATHERDQ (BP)(X2*2), K1, X2 // ERROR "index and destination registers should be distinct"
VPGATHERDQ (BP)(X15*2), K1, Y15 // ERROR "index and destination registers should be distinct"
VPGATHERDQ (BP)(Y20*2), K1, Z20 // ERROR "index and destination registers should be distinct"
// Instructions without EVEX variant can't use High-16 registers.
VADDSUBPD X20, X1, X2 // ERROR "invalid instruction"
VADDSUBPS X0, X20, X2 // ERROR "invalid instruction"
// Use of K0 for write mask (Yknot0).
// TODO(quasilyte): improve error message (#21860).
// "K0 can't be used for write mask"
VADDPD X0, X1, K0, X2 // ERROR "invalid instruction"
VADDPD Y0, Y1, K0, Y2 // ERROR "invalid instruction"
VADDPD Z0, Z1, K0, Z2 // ERROR "invalid instruction"
// VEX-encoded VSIB can't use High-16 registers as index (unlike EVEX).
// TODO(quasilyte): improve error message (#21860).
VPGATHERQQ X2, (BP)(X20*2), X3 // ERROR "invalid instruction"
VPGATHERQQ Y2, (BP)(Y20*2), Y3 // ERROR "invalid instruction"
// YzrMulti4 expects exactly 4 registers referenced by REG_LIST.
// TODO(quasilyte): improve error message (#21860).
V4FMADDPS (AX), [Z0-Z4], K1, Z7 // ERROR "invalid instruction"
V4FMADDPS (AX), [Z0-Z0], K1, Z7 // ERROR "invalid instruction"
// Invalid ranges in REG_LIST (low > high).
// TODO(quasilyte): improve error message (#21860).
V4FMADDPS (AX), [Z4-Z0], K1, Z7 // ERROR "invalid instruction"
V4FMADDPS (AX), [Z1-Z0], K1, Z7 // ERROR "invalid instruction"
// Mismatching registers in a range.
// TODO(quasilyte): improve error message (#21860).
V4FMADDPS (AX), [AX-Z3], K1, Z7 // ERROR "invalid instruction"
V4FMADDPS (AX), [Z0-AX], K1, Z7 // ERROR "invalid instruction"
// Usage of suffixes for non-EVEX instructions.
ADCB.Z $7, AL // ERROR "invalid instruction"
ADCB.RU_SAE $7, AL // ERROR "invalid instruction"
ADCB.RU_SAE.Z $7, AL // ERROR "invalid instruction"
// Usage of rounding with invalid operands.
VADDPD.RU_SAE X3, X2, K1, X1 // ERROR "unsupported rounding"
VADDPD.RD_SAE X3, X2, K1, X1 // ERROR "unsupported rounding"
VADDPD.RZ_SAE X3, X2, K1, X1 // ERROR "unsupported rounding"
VADDPD.RN_SAE X3, X2, K1, X1 // ERROR "unsupported rounding"
VADDPD.RU_SAE Y3, Y2, K1, Y1 // ERROR "unsupported rounding"
VADDPD.RD_SAE Y3, Y2, K1, Y1 // ERROR "unsupported rounding"
VADDPD.RZ_SAE Y3, Y2, K1, Y1 // ERROR "unsupported rounding"
VADDPD.RN_SAE Y3, Y2, K1, Y1 // ERROR "unsupported rounding"
// Unsupported SAE.
VMAXPD.SAE (AX), Z2, K1, Z1 // ERROR "illegal SAE with memory argument"
VADDPD.SAE X3, X2, K1, X1 // ERROR "unsupported SAE"
// Unsupported zeroing.
VFPCLASSPDX.Z $0, (AX), K2, K1 // ERROR "unsupported zeroing"
VFPCLASSPDY.Z $0, (AX), K2, K1 // ERROR "unsupported zeroing"
// Unsupported broadcast.
VFPCLASSSD.BCST $0, (AX), K2, K1 // ERROR "unsupported broadcast"
VFPCLASSSS.BCST $0, (AX), K2, K1 // ERROR "unsupported broadcast"
// Broadcast without memory operand.
VADDPD.BCST X3, X2, K1, X1 // ERROR "illegal broadcast without memory argument"
VADDPD.BCST X3, X2, K1, X1 // ERROR "illegal broadcast without memory argument"
VADDPD.BCST X3, X2, K1, X1 // ERROR "illegal broadcast without memory argument"
RET RET
...@@ -3,334 +3,334 @@ ...@@ -3,334 +3,334 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_aes_avx512f(SB), NOSPLIT, $0 TEXT asmtest_aes_avx512f(SB), NOSPLIT, $0
//TODO: VAESDEC X24, X7, X11 // 62124508ded8 or 6212c508ded8 VAESDEC X24, X7, X11 // 62124508ded8 or 6212c508ded8
//TODO: VAESDEC X20, X7, X11 // 62324508dedc or 6232c508dedc VAESDEC X20, X7, X11 // 62324508dedc or 6232c508dedc
//TODO: VAESDEC X24, X0, X11 // 62127d08ded8 or 6212fd08ded8 VAESDEC X24, X0, X11 // 62127d08ded8 or 6212fd08ded8
//TODO: VAESDEC X20, X0, X11 // 62327d08dedc or 6232fd08dedc VAESDEC X20, X0, X11 // 62327d08dedc or 6232fd08dedc
//TODO: VAESDEC X24, X7, X31 // 62024508def8 or 6202c508def8 VAESDEC X24, X7, X31 // 62024508def8 or 6202c508def8
//TODO: VAESDEC X20, X7, X31 // 62224508defc or 6222c508defc VAESDEC X20, X7, X31 // 62224508defc or 6222c508defc
//TODO: VAESDEC X7, X7, X31 // 62624508deff or 6262c508deff VAESDEC X7, X7, X31 // 62624508deff or 6262c508deff
//TODO: VAESDEC -7(DI)(R8*1), X7, X31 // 62224508debc07f9ffffff or 6222c508debc07f9ffffff VAESDEC -7(DI)(R8*1), X7, X31 // 62224508debc07f9ffffff or 6222c508debc07f9ffffff
//TODO: VAESDEC (SP), X7, X31 // 62624508de3c24 or 6262c508de3c24 VAESDEC (SP), X7, X31 // 62624508de3c24 or 6262c508de3c24
//TODO: VAESDEC X24, X0, X31 // 62027d08def8 or 6202fd08def8 VAESDEC X24, X0, X31 // 62027d08def8 or 6202fd08def8
//TODO: VAESDEC X20, X0, X31 // 62227d08defc or 6222fd08defc VAESDEC X20, X0, X31 // 62227d08defc or 6222fd08defc
//TODO: VAESDEC X7, X0, X31 // 62627d08deff or 6262fd08deff VAESDEC X7, X0, X31 // 62627d08deff or 6262fd08deff
//TODO: VAESDEC -7(DI)(R8*1), X0, X31 // 62227d08debc07f9ffffff or 6222fd08debc07f9ffffff VAESDEC -7(DI)(R8*1), X0, X31 // 62227d08debc07f9ffffff or 6222fd08debc07f9ffffff
//TODO: VAESDEC (SP), X0, X31 // 62627d08de3c24 or 6262fd08de3c24 VAESDEC (SP), X0, X31 // 62627d08de3c24 or 6262fd08de3c24
//TODO: VAESDEC X24, X7, X3 // 62924508ded8 or 6292c508ded8 VAESDEC X24, X7, X3 // 62924508ded8 or 6292c508ded8
//TODO: VAESDEC X20, X7, X3 // 62b24508dedc or 62b2c508dedc VAESDEC X20, X7, X3 // 62b24508dedc or 62b2c508dedc
//TODO: VAESDEC X24, X0, X3 // 62927d08ded8 or 6292fd08ded8 VAESDEC X24, X0, X3 // 62927d08ded8 or 6292fd08ded8
//TODO: VAESDEC X20, X0, X3 // 62b27d08dedc or 62b2fd08dedc VAESDEC X20, X0, X3 // 62b27d08dedc or 62b2fd08dedc
//TODO: VAESDEC Y5, Y31, Y22 // 62e20520def5 or 62e28520def5 VAESDEC Y5, Y31, Y22 // 62e20520def5 or 62e28520def5
//TODO: VAESDEC Y19, Y31, Y22 // 62a20520def3 or 62a28520def3 VAESDEC Y19, Y31, Y22 // 62a20520def3 or 62a28520def3
//TODO: VAESDEC Y31, Y31, Y22 // 62820520def7 or 62828520def7 VAESDEC Y31, Y31, Y22 // 62820520def7 or 62828520def7
//TODO: VAESDEC 99(R15)(R15*1), Y31, Y22 // 62820520deb43f63000000 or 62828520deb43f63000000 VAESDEC 99(R15)(R15*1), Y31, Y22 // 62820520deb43f63000000 or 62828520deb43f63000000
//TODO: VAESDEC (DX), Y31, Y22 // 62e20520de32 or 62e28520de32 VAESDEC (DX), Y31, Y22 // 62e20520de32 or 62e28520de32
//TODO: VAESDEC Y5, Y5, Y22 // 62e25528def5 or 62e2d528def5 VAESDEC Y5, Y5, Y22 // 62e25528def5 or 62e2d528def5
//TODO: VAESDEC Y19, Y5, Y22 // 62a25528def3 or 62a2d528def3 VAESDEC Y19, Y5, Y22 // 62a25528def3 or 62a2d528def3
//TODO: VAESDEC Y31, Y5, Y22 // 62825528def7 or 6282d528def7 VAESDEC Y31, Y5, Y22 // 62825528def7 or 6282d528def7
//TODO: VAESDEC 99(R15)(R15*1), Y5, Y22 // 62825528deb43f63000000 or 6282d528deb43f63000000 VAESDEC 99(R15)(R15*1), Y5, Y22 // 62825528deb43f63000000 or 6282d528deb43f63000000
//TODO: VAESDEC (DX), Y5, Y22 // 62e25528de32 or 62e2d528de32 VAESDEC (DX), Y5, Y22 // 62e25528de32 or 62e2d528de32
//TODO: VAESDEC Y5, Y0, Y22 // 62e27d28def5 or 62e2fd28def5 VAESDEC Y5, Y0, Y22 // 62e27d28def5 or 62e2fd28def5
//TODO: VAESDEC Y19, Y0, Y22 // 62a27d28def3 or 62a2fd28def3 VAESDEC Y19, Y0, Y22 // 62a27d28def3 or 62a2fd28def3
//TODO: VAESDEC Y31, Y0, Y22 // 62827d28def7 or 6282fd28def7 VAESDEC Y31, Y0, Y22 // 62827d28def7 or 6282fd28def7
//TODO: VAESDEC 99(R15)(R15*1), Y0, Y22 // 62827d28deb43f63000000 or 6282fd28deb43f63000000 VAESDEC 99(R15)(R15*1), Y0, Y22 // 62827d28deb43f63000000 or 6282fd28deb43f63000000
//TODO: VAESDEC (DX), Y0, Y22 // 62e27d28de32 or 62e2fd28de32 VAESDEC (DX), Y0, Y22 // 62e27d28de32 or 62e2fd28de32
//TODO: VAESDEC Y5, Y31, Y9 // 62720520decd or 62728520decd VAESDEC Y5, Y31, Y9 // 62720520decd or 62728520decd
//TODO: VAESDEC Y19, Y31, Y9 // 62320520decb or 62328520decb VAESDEC Y19, Y31, Y9 // 62320520decb or 62328520decb
//TODO: VAESDEC Y31, Y31, Y9 // 62120520decf or 62128520decf VAESDEC Y31, Y31, Y9 // 62120520decf or 62128520decf
//TODO: VAESDEC 99(R15)(R15*1), Y31, Y9 // 62120520de8c3f63000000 or 62128520de8c3f63000000 VAESDEC 99(R15)(R15*1), Y31, Y9 // 62120520de8c3f63000000 or 62128520de8c3f63000000
//TODO: VAESDEC (DX), Y31, Y9 // 62720520de0a or 62728520de0a VAESDEC (DX), Y31, Y9 // 62720520de0a or 62728520de0a
//TODO: VAESDEC Y19, Y5, Y9 // 62325528decb or 6232d528decb VAESDEC Y19, Y5, Y9 // 62325528decb or 6232d528decb
//TODO: VAESDEC Y31, Y5, Y9 // 62125528decf or 6212d528decf VAESDEC Y31, Y5, Y9 // 62125528decf or 6212d528decf
//TODO: VAESDEC Y19, Y0, Y9 // 62327d28decb or 6232fd28decb VAESDEC Y19, Y0, Y9 // 62327d28decb or 6232fd28decb
//TODO: VAESDEC Y31, Y0, Y9 // 62127d28decf or 6212fd28decf VAESDEC Y31, Y0, Y9 // 62127d28decf or 6212fd28decf
//TODO: VAESDEC Y5, Y31, Y23 // 62e20520defd or 62e28520defd VAESDEC Y5, Y31, Y23 // 62e20520defd or 62e28520defd
//TODO: VAESDEC Y19, Y31, Y23 // 62a20520defb or 62a28520defb VAESDEC Y19, Y31, Y23 // 62a20520defb or 62a28520defb
//TODO: VAESDEC Y31, Y31, Y23 // 62820520deff or 62828520deff VAESDEC Y31, Y31, Y23 // 62820520deff or 62828520deff
//TODO: VAESDEC 99(R15)(R15*1), Y31, Y23 // 62820520debc3f63000000 or 62828520debc3f63000000 VAESDEC 99(R15)(R15*1), Y31, Y23 // 62820520debc3f63000000 or 62828520debc3f63000000
//TODO: VAESDEC (DX), Y31, Y23 // 62e20520de3a or 62e28520de3a VAESDEC (DX), Y31, Y23 // 62e20520de3a or 62e28520de3a
//TODO: VAESDEC Y5, Y5, Y23 // 62e25528defd or 62e2d528defd VAESDEC Y5, Y5, Y23 // 62e25528defd or 62e2d528defd
//TODO: VAESDEC Y19, Y5, Y23 // 62a25528defb or 62a2d528defb VAESDEC Y19, Y5, Y23 // 62a25528defb or 62a2d528defb
//TODO: VAESDEC Y31, Y5, Y23 // 62825528deff or 6282d528deff VAESDEC Y31, Y5, Y23 // 62825528deff or 6282d528deff
//TODO: VAESDEC 99(R15)(R15*1), Y5, Y23 // 62825528debc3f63000000 or 6282d528debc3f63000000 VAESDEC 99(R15)(R15*1), Y5, Y23 // 62825528debc3f63000000 or 6282d528debc3f63000000
//TODO: VAESDEC (DX), Y5, Y23 // 62e25528de3a or 62e2d528de3a VAESDEC (DX), Y5, Y23 // 62e25528de3a or 62e2d528de3a
//TODO: VAESDEC Y5, Y0, Y23 // 62e27d28defd or 62e2fd28defd VAESDEC Y5, Y0, Y23 // 62e27d28defd or 62e2fd28defd
//TODO: VAESDEC Y19, Y0, Y23 // 62a27d28defb or 62a2fd28defb VAESDEC Y19, Y0, Y23 // 62a27d28defb or 62a2fd28defb
//TODO: VAESDEC Y31, Y0, Y23 // 62827d28deff or 6282fd28deff VAESDEC Y31, Y0, Y23 // 62827d28deff or 6282fd28deff
//TODO: VAESDEC 99(R15)(R15*1), Y0, Y23 // 62827d28debc3f63000000 or 6282fd28debc3f63000000 VAESDEC 99(R15)(R15*1), Y0, Y23 // 62827d28debc3f63000000 or 6282fd28debc3f63000000
//TODO: VAESDEC (DX), Y0, Y23 // 62e27d28de3a or 62e2fd28de3a VAESDEC (DX), Y0, Y23 // 62e27d28de3a or 62e2fd28de3a
//TODO: VAESDEC Z27, Z3, Z11 // 62126548dedb or 6212e548dedb VAESDEC Z27, Z3, Z11 // 62126548dedb or 6212e548dedb
//TODO: VAESDEC Z15, Z3, Z11 // 62526548dedf or 6252e548dedf VAESDEC Z15, Z3, Z11 // 62526548dedf or 6252e548dedf
//TODO: VAESDEC 99(R15)(R15*1), Z3, Z11 // 62126548de9c3f63000000 or 6212e548de9c3f63000000 VAESDEC 99(R15)(R15*1), Z3, Z11 // 62126548de9c3f63000000 or 6212e548de9c3f63000000
//TODO: VAESDEC (DX), Z3, Z11 // 62726548de1a or 6272e548de1a VAESDEC (DX), Z3, Z11 // 62726548de1a or 6272e548de1a
//TODO: VAESDEC Z27, Z12, Z11 // 62121d48dedb or 62129d48dedb VAESDEC Z27, Z12, Z11 // 62121d48dedb or 62129d48dedb
//TODO: VAESDEC Z15, Z12, Z11 // 62521d48dedf or 62529d48dedf VAESDEC Z15, Z12, Z11 // 62521d48dedf or 62529d48dedf
//TODO: VAESDEC 99(R15)(R15*1), Z12, Z11 // 62121d48de9c3f63000000 or 62129d48de9c3f63000000 VAESDEC 99(R15)(R15*1), Z12, Z11 // 62121d48de9c3f63000000 or 62129d48de9c3f63000000
//TODO: VAESDEC (DX), Z12, Z11 // 62721d48de1a or 62729d48de1a VAESDEC (DX), Z12, Z11 // 62721d48de1a or 62729d48de1a
//TODO: VAESDEC Z27, Z3, Z25 // 62026548decb or 6202e548decb VAESDEC Z27, Z3, Z25 // 62026548decb or 6202e548decb
//TODO: VAESDEC Z15, Z3, Z25 // 62426548decf or 6242e548decf VAESDEC Z15, Z3, Z25 // 62426548decf or 6242e548decf
//TODO: VAESDEC 99(R15)(R15*1), Z3, Z25 // 62026548de8c3f63000000 or 6202e548de8c3f63000000 VAESDEC 99(R15)(R15*1), Z3, Z25 // 62026548de8c3f63000000 or 6202e548de8c3f63000000
//TODO: VAESDEC (DX), Z3, Z25 // 62626548de0a or 6262e548de0a VAESDEC (DX), Z3, Z25 // 62626548de0a or 6262e548de0a
//TODO: VAESDEC Z27, Z12, Z25 // 62021d48decb or 62029d48decb VAESDEC Z27, Z12, Z25 // 62021d48decb or 62029d48decb
//TODO: VAESDEC Z15, Z12, Z25 // 62421d48decf or 62429d48decf VAESDEC Z15, Z12, Z25 // 62421d48decf or 62429d48decf
//TODO: VAESDEC 99(R15)(R15*1), Z12, Z25 // 62021d48de8c3f63000000 or 62029d48de8c3f63000000 VAESDEC 99(R15)(R15*1), Z12, Z25 // 62021d48de8c3f63000000 or 62029d48de8c3f63000000
//TODO: VAESDEC (DX), Z12, Z25 // 62621d48de0a or 62629d48de0a VAESDEC (DX), Z12, Z25 // 62621d48de0a or 62629d48de0a
//TODO: VAESDECLAST X21, X5, X9 // 62325508dfcd or 6232d508dfcd VAESDECLAST X21, X5, X9 // 62325508dfcd or 6232d508dfcd
//TODO: VAESDECLAST X21, X31, X9 // 62320500dfcd or 62328500dfcd VAESDECLAST X21, X31, X9 // 62320500dfcd or 62328500dfcd
//TODO: VAESDECLAST X1, X31, X9 // 62720500dfc9 or 62728500dfc9 VAESDECLAST X1, X31, X9 // 62720500dfc9 or 62728500dfc9
//TODO: VAESDECLAST X11, X31, X9 // 62520500dfcb or 62528500dfcb VAESDECLAST X11, X31, X9 // 62520500dfcb or 62528500dfcb
//TODO: VAESDECLAST -7(CX), X31, X9 // 62720500df89f9ffffff or 62728500df89f9ffffff VAESDECLAST -7(CX), X31, X9 // 62720500df89f9ffffff or 62728500df89f9ffffff
//TODO: VAESDECLAST 15(DX)(BX*4), X31, X9 // 62720500df8c9a0f000000 or 62728500df8c9a0f000000 VAESDECLAST 15(DX)(BX*4), X31, X9 // 62720500df8c9a0f000000 or 62728500df8c9a0f000000
//TODO: VAESDECLAST X21, X3, X9 // 62326508dfcd or 6232e508dfcd VAESDECLAST X21, X3, X9 // 62326508dfcd or 6232e508dfcd
//TODO: VAESDECLAST X21, X5, X7 // 62b25508dffd or 62b2d508dffd VAESDECLAST X21, X5, X7 // 62b25508dffd or 62b2d508dffd
//TODO: VAESDECLAST X21, X31, X7 // 62b20500dffd or 62b28500dffd VAESDECLAST X21, X31, X7 // 62b20500dffd or 62b28500dffd
//TODO: VAESDECLAST X1, X31, X7 // 62f20500dff9 or 62f28500dff9 VAESDECLAST X1, X31, X7 // 62f20500dff9 or 62f28500dff9
//TODO: VAESDECLAST X11, X31, X7 // 62d20500dffb or 62d28500dffb VAESDECLAST X11, X31, X7 // 62d20500dffb or 62d28500dffb
//TODO: VAESDECLAST -7(CX), X31, X7 // 62f20500dfb9f9ffffff or 62f28500dfb9f9ffffff VAESDECLAST -7(CX), X31, X7 // 62f20500dfb9f9ffffff or 62f28500dfb9f9ffffff
//TODO: VAESDECLAST 15(DX)(BX*4), X31, X7 // 62f20500dfbc9a0f000000 or 62f28500dfbc9a0f000000 VAESDECLAST 15(DX)(BX*4), X31, X7 // 62f20500dfbc9a0f000000 or 62f28500dfbc9a0f000000
//TODO: VAESDECLAST X21, X3, X7 // 62b26508dffd or 62b2e508dffd VAESDECLAST X21, X3, X7 // 62b26508dffd or 62b2e508dffd
//TODO: VAESDECLAST X21, X5, X14 // 62325508dff5 or 6232d508dff5 VAESDECLAST X21, X5, X14 // 62325508dff5 or 6232d508dff5
//TODO: VAESDECLAST X21, X31, X14 // 62320500dff5 or 62328500dff5 VAESDECLAST X21, X31, X14 // 62320500dff5 or 62328500dff5
//TODO: VAESDECLAST X1, X31, X14 // 62720500dff1 or 62728500dff1 VAESDECLAST X1, X31, X14 // 62720500dff1 or 62728500dff1
//TODO: VAESDECLAST X11, X31, X14 // 62520500dff3 or 62528500dff3 VAESDECLAST X11, X31, X14 // 62520500dff3 or 62528500dff3
//TODO: VAESDECLAST -7(CX), X31, X14 // 62720500dfb1f9ffffff or 62728500dfb1f9ffffff VAESDECLAST -7(CX), X31, X14 // 62720500dfb1f9ffffff or 62728500dfb1f9ffffff
//TODO: VAESDECLAST 15(DX)(BX*4), X31, X14 // 62720500dfb49a0f000000 or 62728500dfb49a0f000000 VAESDECLAST 15(DX)(BX*4), X31, X14 // 62720500dfb49a0f000000 or 62728500dfb49a0f000000
//TODO: VAESDECLAST X21, X3, X14 // 62326508dff5 or 6232e508dff5 VAESDECLAST X21, X3, X14 // 62326508dff5 or 6232e508dff5
//TODO: VAESDECLAST Y31, Y27, Y28 // 62022520dfe7 or 6202a520dfe7 VAESDECLAST Y31, Y27, Y28 // 62022520dfe7 or 6202a520dfe7
//TODO: VAESDECLAST Y3, Y27, Y28 // 62622520dfe3 or 6262a520dfe3 VAESDECLAST Y3, Y27, Y28 // 62622520dfe3 or 6262a520dfe3
//TODO: VAESDECLAST Y14, Y27, Y28 // 62422520dfe6 or 6242a520dfe6 VAESDECLAST Y14, Y27, Y28 // 62422520dfe6 or 6242a520dfe6
//TODO: VAESDECLAST -17(BP)(SI*8), Y27, Y28 // 62622520dfa4f5efffffff or 6262a520dfa4f5efffffff VAESDECLAST -17(BP)(SI*8), Y27, Y28 // 62622520dfa4f5efffffff or 6262a520dfa4f5efffffff
//TODO: VAESDECLAST (R15), Y27, Y28 // 62422520df27 or 6242a520df27 VAESDECLAST (R15), Y27, Y28 // 62422520df27 or 6242a520df27
//TODO: VAESDECLAST Y31, Y0, Y28 // 62027d28dfe7 or 6202fd28dfe7 VAESDECLAST Y31, Y0, Y28 // 62027d28dfe7 or 6202fd28dfe7
//TODO: VAESDECLAST Y3, Y0, Y28 // 62627d28dfe3 or 6262fd28dfe3 VAESDECLAST Y3, Y0, Y28 // 62627d28dfe3 or 6262fd28dfe3
//TODO: VAESDECLAST Y14, Y0, Y28 // 62427d28dfe6 or 6242fd28dfe6 VAESDECLAST Y14, Y0, Y28 // 62427d28dfe6 or 6242fd28dfe6
//TODO: VAESDECLAST -17(BP)(SI*8), Y0, Y28 // 62627d28dfa4f5efffffff or 6262fd28dfa4f5efffffff VAESDECLAST -17(BP)(SI*8), Y0, Y28 // 62627d28dfa4f5efffffff or 6262fd28dfa4f5efffffff
//TODO: VAESDECLAST (R15), Y0, Y28 // 62427d28df27 or 6242fd28df27 VAESDECLAST (R15), Y0, Y28 // 62427d28df27 or 6242fd28df27
//TODO: VAESDECLAST Y31, Y11, Y28 // 62022528dfe7 or 6202a528dfe7 VAESDECLAST Y31, Y11, Y28 // 62022528dfe7 or 6202a528dfe7
//TODO: VAESDECLAST Y3, Y11, Y28 // 62622528dfe3 or 6262a528dfe3 VAESDECLAST Y3, Y11, Y28 // 62622528dfe3 or 6262a528dfe3
//TODO: VAESDECLAST Y14, Y11, Y28 // 62422528dfe6 or 6242a528dfe6 VAESDECLAST Y14, Y11, Y28 // 62422528dfe6 or 6242a528dfe6
//TODO: VAESDECLAST -17(BP)(SI*8), Y11, Y28 // 62622528dfa4f5efffffff or 6262a528dfa4f5efffffff VAESDECLAST -17(BP)(SI*8), Y11, Y28 // 62622528dfa4f5efffffff or 6262a528dfa4f5efffffff
//TODO: VAESDECLAST (R15), Y11, Y28 // 62422528df27 or 6242a528df27 VAESDECLAST (R15), Y11, Y28 // 62422528df27 or 6242a528df27
//TODO: VAESDECLAST Y31, Y27, Y2 // 62922520dfd7 or 6292a520dfd7 VAESDECLAST Y31, Y27, Y2 // 62922520dfd7 or 6292a520dfd7
//TODO: VAESDECLAST Y3, Y27, Y2 // 62f22520dfd3 or 62f2a520dfd3 VAESDECLAST Y3, Y27, Y2 // 62f22520dfd3 or 62f2a520dfd3
//TODO: VAESDECLAST Y14, Y27, Y2 // 62d22520dfd6 or 62d2a520dfd6 VAESDECLAST Y14, Y27, Y2 // 62d22520dfd6 or 62d2a520dfd6
//TODO: VAESDECLAST -17(BP)(SI*8), Y27, Y2 // 62f22520df94f5efffffff or 62f2a520df94f5efffffff VAESDECLAST -17(BP)(SI*8), Y27, Y2 // 62f22520df94f5efffffff or 62f2a520df94f5efffffff
//TODO: VAESDECLAST (R15), Y27, Y2 // 62d22520df17 or 62d2a520df17 VAESDECLAST (R15), Y27, Y2 // 62d22520df17 or 62d2a520df17
//TODO: VAESDECLAST Y31, Y0, Y2 // 62927d28dfd7 or 6292fd28dfd7 VAESDECLAST Y31, Y0, Y2 // 62927d28dfd7 or 6292fd28dfd7
//TODO: VAESDECLAST Y31, Y11, Y2 // 62922528dfd7 or 6292a528dfd7 VAESDECLAST Y31, Y11, Y2 // 62922528dfd7 or 6292a528dfd7
//TODO: VAESDECLAST Y31, Y27, Y24 // 62022520dfc7 or 6202a520dfc7 VAESDECLAST Y31, Y27, Y24 // 62022520dfc7 or 6202a520dfc7
//TODO: VAESDECLAST Y3, Y27, Y24 // 62622520dfc3 or 6262a520dfc3 VAESDECLAST Y3, Y27, Y24 // 62622520dfc3 or 6262a520dfc3
//TODO: VAESDECLAST Y14, Y27, Y24 // 62422520dfc6 or 6242a520dfc6 VAESDECLAST Y14, Y27, Y24 // 62422520dfc6 or 6242a520dfc6
//TODO: VAESDECLAST -17(BP)(SI*8), Y27, Y24 // 62622520df84f5efffffff or 6262a520df84f5efffffff VAESDECLAST -17(BP)(SI*8), Y27, Y24 // 62622520df84f5efffffff or 6262a520df84f5efffffff
//TODO: VAESDECLAST (R15), Y27, Y24 // 62422520df07 or 6242a520df07 VAESDECLAST (R15), Y27, Y24 // 62422520df07 or 6242a520df07
//TODO: VAESDECLAST Y31, Y0, Y24 // 62027d28dfc7 or 6202fd28dfc7 VAESDECLAST Y31, Y0, Y24 // 62027d28dfc7 or 6202fd28dfc7
//TODO: VAESDECLAST Y3, Y0, Y24 // 62627d28dfc3 or 6262fd28dfc3 VAESDECLAST Y3, Y0, Y24 // 62627d28dfc3 or 6262fd28dfc3
//TODO: VAESDECLAST Y14, Y0, Y24 // 62427d28dfc6 or 6242fd28dfc6 VAESDECLAST Y14, Y0, Y24 // 62427d28dfc6 or 6242fd28dfc6
//TODO: VAESDECLAST -17(BP)(SI*8), Y0, Y24 // 62627d28df84f5efffffff or 6262fd28df84f5efffffff VAESDECLAST -17(BP)(SI*8), Y0, Y24 // 62627d28df84f5efffffff or 6262fd28df84f5efffffff
//TODO: VAESDECLAST (R15), Y0, Y24 // 62427d28df07 or 6242fd28df07 VAESDECLAST (R15), Y0, Y24 // 62427d28df07 or 6242fd28df07
//TODO: VAESDECLAST Y31, Y11, Y24 // 62022528dfc7 or 6202a528dfc7 VAESDECLAST Y31, Y11, Y24 // 62022528dfc7 or 6202a528dfc7
//TODO: VAESDECLAST Y3, Y11, Y24 // 62622528dfc3 or 6262a528dfc3 VAESDECLAST Y3, Y11, Y24 // 62622528dfc3 or 6262a528dfc3
//TODO: VAESDECLAST Y14, Y11, Y24 // 62422528dfc6 or 6242a528dfc6 VAESDECLAST Y14, Y11, Y24 // 62422528dfc6 or 6242a528dfc6
//TODO: VAESDECLAST -17(BP)(SI*8), Y11, Y24 // 62622528df84f5efffffff or 6262a528df84f5efffffff VAESDECLAST -17(BP)(SI*8), Y11, Y24 // 62622528df84f5efffffff or 6262a528df84f5efffffff
//TODO: VAESDECLAST (R15), Y11, Y24 // 62422528df07 or 6242a528df07 VAESDECLAST (R15), Y11, Y24 // 62422528df07 or 6242a528df07
//TODO: VAESDECLAST Z8, Z23, Z23 // 62c24540dff8 or 62c2c540dff8 VAESDECLAST Z8, Z23, Z23 // 62c24540dff8 or 62c2c540dff8
//TODO: VAESDECLAST Z28, Z23, Z23 // 62824540dffc or 6282c540dffc VAESDECLAST Z28, Z23, Z23 // 62824540dffc or 6282c540dffc
//TODO: VAESDECLAST -17(BP)(SI*8), Z23, Z23 // 62e24540dfbcf5efffffff or 62e2c540dfbcf5efffffff VAESDECLAST -17(BP)(SI*8), Z23, Z23 // 62e24540dfbcf5efffffff or 62e2c540dfbcf5efffffff
//TODO: VAESDECLAST (R15), Z23, Z23 // 62c24540df3f or 62c2c540df3f VAESDECLAST (R15), Z23, Z23 // 62c24540df3f or 62c2c540df3f
//TODO: VAESDECLAST Z8, Z6, Z23 // 62c24d48dff8 or 62c2cd48dff8 VAESDECLAST Z8, Z6, Z23 // 62c24d48dff8 or 62c2cd48dff8
//TODO: VAESDECLAST Z28, Z6, Z23 // 62824d48dffc or 6282cd48dffc VAESDECLAST Z28, Z6, Z23 // 62824d48dffc or 6282cd48dffc
//TODO: VAESDECLAST -17(BP)(SI*8), Z6, Z23 // 62e24d48dfbcf5efffffff or 62e2cd48dfbcf5efffffff VAESDECLAST -17(BP)(SI*8), Z6, Z23 // 62e24d48dfbcf5efffffff or 62e2cd48dfbcf5efffffff
//TODO: VAESDECLAST (R15), Z6, Z23 // 62c24d48df3f or 62c2cd48df3f VAESDECLAST (R15), Z6, Z23 // 62c24d48df3f or 62c2cd48df3f
//TODO: VAESDECLAST Z8, Z23, Z5 // 62d24540dfe8 or 62d2c540dfe8 VAESDECLAST Z8, Z23, Z5 // 62d24540dfe8 or 62d2c540dfe8
//TODO: VAESDECLAST Z28, Z23, Z5 // 62924540dfec or 6292c540dfec VAESDECLAST Z28, Z23, Z5 // 62924540dfec or 6292c540dfec
//TODO: VAESDECLAST -17(BP)(SI*8), Z23, Z5 // 62f24540dfacf5efffffff or 62f2c540dfacf5efffffff VAESDECLAST -17(BP)(SI*8), Z23, Z5 // 62f24540dfacf5efffffff or 62f2c540dfacf5efffffff
//TODO: VAESDECLAST (R15), Z23, Z5 // 62d24540df2f or 62d2c540df2f VAESDECLAST (R15), Z23, Z5 // 62d24540df2f or 62d2c540df2f
//TODO: VAESDECLAST Z8, Z6, Z5 // 62d24d48dfe8 or 62d2cd48dfe8 VAESDECLAST Z8, Z6, Z5 // 62d24d48dfe8 or 62d2cd48dfe8
//TODO: VAESDECLAST Z28, Z6, Z5 // 62924d48dfec or 6292cd48dfec VAESDECLAST Z28, Z6, Z5 // 62924d48dfec or 6292cd48dfec
//TODO: VAESDECLAST -17(BP)(SI*8), Z6, Z5 // 62f24d48dfacf5efffffff or 62f2cd48dfacf5efffffff VAESDECLAST -17(BP)(SI*8), Z6, Z5 // 62f24d48dfacf5efffffff or 62f2cd48dfacf5efffffff
//TODO: VAESDECLAST (R15), Z6, Z5 // 62d24d48df2f or 62d2cd48df2f VAESDECLAST (R15), Z6, Z5 // 62d24d48df2f or 62d2cd48df2f
//TODO: VAESENC X14, X16, X13 // 62527d00dcee or 6252fd00dcee VAESENC X14, X16, X13 // 62527d00dcee or 6252fd00dcee
//TODO: VAESENC X19, X16, X13 // 62327d00dceb or 6232fd00dceb VAESENC X19, X16, X13 // 62327d00dceb or 6232fd00dceb
//TODO: VAESENC X8, X16, X13 // 62527d00dce8 or 6252fd00dce8 VAESENC X8, X16, X13 // 62527d00dce8 or 6252fd00dce8
//TODO: VAESENC 99(R15)(R15*8), X16, X13 // 62127d00dcacff63000000 or 6212fd00dcacff63000000 VAESENC 99(R15)(R15*8), X16, X13 // 62127d00dcacff63000000 or 6212fd00dcacff63000000
//TODO: VAESENC 7(AX)(CX*8), X16, X13 // 62727d00dcacc807000000 or 6272fd00dcacc807000000 VAESENC 7(AX)(CX*8), X16, X13 // 62727d00dcacc807000000 or 6272fd00dcacc807000000
//TODO: VAESENC X19, X14, X13 // 62320d08dceb or 62328d08dceb VAESENC X19, X14, X13 // 62320d08dceb or 62328d08dceb
//TODO: VAESENC X19, X11, X13 // 62322508dceb or 6232a508dceb VAESENC X19, X11, X13 // 62322508dceb or 6232a508dceb
//TODO: VAESENC X14, X16, X0 // 62d27d00dcc6 or 62d2fd00dcc6 VAESENC X14, X16, X0 // 62d27d00dcc6 or 62d2fd00dcc6
//TODO: VAESENC X19, X16, X0 // 62b27d00dcc3 or 62b2fd00dcc3 VAESENC X19, X16, X0 // 62b27d00dcc3 or 62b2fd00dcc3
//TODO: VAESENC X8, X16, X0 // 62d27d00dcc0 or 62d2fd00dcc0 VAESENC X8, X16, X0 // 62d27d00dcc0 or 62d2fd00dcc0
//TODO: VAESENC 99(R15)(R15*8), X16, X0 // 62927d00dc84ff63000000 or 6292fd00dc84ff63000000 VAESENC 99(R15)(R15*8), X16, X0 // 62927d00dc84ff63000000 or 6292fd00dc84ff63000000
//TODO: VAESENC 7(AX)(CX*8), X16, X0 // 62f27d00dc84c807000000 or 62f2fd00dc84c807000000 VAESENC 7(AX)(CX*8), X16, X0 // 62f27d00dc84c807000000 or 62f2fd00dc84c807000000
//TODO: VAESENC X19, X14, X0 // 62b20d08dcc3 or 62b28d08dcc3 VAESENC X19, X14, X0 // 62b20d08dcc3 or 62b28d08dcc3
//TODO: VAESENC X19, X11, X0 // 62b22508dcc3 or 62b2a508dcc3 VAESENC X19, X11, X0 // 62b22508dcc3 or 62b2a508dcc3
//TODO: VAESENC X14, X16, X30 // 62427d00dcf6 or 6242fd00dcf6 VAESENC X14, X16, X30 // 62427d00dcf6 or 6242fd00dcf6
//TODO: VAESENC X19, X16, X30 // 62227d00dcf3 or 6222fd00dcf3 VAESENC X19, X16, X30 // 62227d00dcf3 or 6222fd00dcf3
//TODO: VAESENC X8, X16, X30 // 62427d00dcf0 or 6242fd00dcf0 VAESENC X8, X16, X30 // 62427d00dcf0 or 6242fd00dcf0
//TODO: VAESENC 99(R15)(R15*8), X16, X30 // 62027d00dcb4ff63000000 or 6202fd00dcb4ff63000000 VAESENC 99(R15)(R15*8), X16, X30 // 62027d00dcb4ff63000000 or 6202fd00dcb4ff63000000
//TODO: VAESENC 7(AX)(CX*8), X16, X30 // 62627d00dcb4c807000000 or 6262fd00dcb4c807000000 VAESENC 7(AX)(CX*8), X16, X30 // 62627d00dcb4c807000000 or 6262fd00dcb4c807000000
//TODO: VAESENC X14, X14, X30 // 62420d08dcf6 or 62428d08dcf6 VAESENC X14, X14, X30 // 62420d08dcf6 or 62428d08dcf6
//TODO: VAESENC X19, X14, X30 // 62220d08dcf3 or 62228d08dcf3 VAESENC X19, X14, X30 // 62220d08dcf3 or 62228d08dcf3
//TODO: VAESENC X8, X14, X30 // 62420d08dcf0 or 62428d08dcf0 VAESENC X8, X14, X30 // 62420d08dcf0 or 62428d08dcf0
//TODO: VAESENC 99(R15)(R15*8), X14, X30 // 62020d08dcb4ff63000000 or 62028d08dcb4ff63000000 VAESENC 99(R15)(R15*8), X14, X30 // 62020d08dcb4ff63000000 or 62028d08dcb4ff63000000
//TODO: VAESENC 7(AX)(CX*8), X14, X30 // 62620d08dcb4c807000000 or 62628d08dcb4c807000000 VAESENC 7(AX)(CX*8), X14, X30 // 62620d08dcb4c807000000 or 62628d08dcb4c807000000
//TODO: VAESENC X14, X11, X30 // 62422508dcf6 or 6242a508dcf6 VAESENC X14, X11, X30 // 62422508dcf6 or 6242a508dcf6
//TODO: VAESENC X19, X11, X30 // 62222508dcf3 or 6222a508dcf3 VAESENC X19, X11, X30 // 62222508dcf3 or 6222a508dcf3
//TODO: VAESENC X8, X11, X30 // 62422508dcf0 or 6242a508dcf0 VAESENC X8, X11, X30 // 62422508dcf0 or 6242a508dcf0
//TODO: VAESENC 99(R15)(R15*8), X11, X30 // 62022508dcb4ff63000000 or 6202a508dcb4ff63000000 VAESENC 99(R15)(R15*8), X11, X30 // 62022508dcb4ff63000000 or 6202a508dcb4ff63000000
//TODO: VAESENC 7(AX)(CX*8), X11, X30 // 62622508dcb4c807000000 or 6262a508dcb4c807000000 VAESENC 7(AX)(CX*8), X11, X30 // 62622508dcb4c807000000 or 6262a508dcb4c807000000
//TODO: VAESENC Y18, Y15, Y2 // 62b20528dcd2 or 62b28528dcd2 VAESENC Y18, Y15, Y2 // 62b20528dcd2 or 62b28528dcd2
//TODO: VAESENC Y24, Y15, Y2 // 62920528dcd0 or 62928528dcd0 VAESENC Y24, Y15, Y2 // 62920528dcd0 or 62928528dcd0
//TODO: VAESENC Y18, Y22, Y2 // 62b24d20dcd2 or 62b2cd20dcd2 VAESENC Y18, Y22, Y2 // 62b24d20dcd2 or 62b2cd20dcd2
//TODO: VAESENC Y24, Y22, Y2 // 62924d20dcd0 or 6292cd20dcd0 VAESENC Y24, Y22, Y2 // 62924d20dcd0 or 6292cd20dcd0
//TODO: VAESENC Y9, Y22, Y2 // 62d24d20dcd1 or 62d2cd20dcd1 VAESENC Y9, Y22, Y2 // 62d24d20dcd1 or 62d2cd20dcd1
//TODO: VAESENC 7(SI)(DI*8), Y22, Y2 // 62f24d20dc94fe07000000 or 62f2cd20dc94fe07000000 VAESENC 7(SI)(DI*8), Y22, Y2 // 62f24d20dc94fe07000000 or 62f2cd20dc94fe07000000
//TODO: VAESENC -15(R14), Y22, Y2 // 62d24d20dc96f1ffffff or 62d2cd20dc96f1ffffff VAESENC -15(R14), Y22, Y2 // 62d24d20dc96f1ffffff or 62d2cd20dc96f1ffffff
//TODO: VAESENC Y18, Y20, Y2 // 62b25d20dcd2 or 62b2dd20dcd2 VAESENC Y18, Y20, Y2 // 62b25d20dcd2 or 62b2dd20dcd2
//TODO: VAESENC Y24, Y20, Y2 // 62925d20dcd0 or 6292dd20dcd0 VAESENC Y24, Y20, Y2 // 62925d20dcd0 or 6292dd20dcd0
//TODO: VAESENC Y9, Y20, Y2 // 62d25d20dcd1 or 62d2dd20dcd1 VAESENC Y9, Y20, Y2 // 62d25d20dcd1 or 62d2dd20dcd1
//TODO: VAESENC 7(SI)(DI*8), Y20, Y2 // 62f25d20dc94fe07000000 or 62f2dd20dc94fe07000000 VAESENC 7(SI)(DI*8), Y20, Y2 // 62f25d20dc94fe07000000 or 62f2dd20dc94fe07000000
//TODO: VAESENC -15(R14), Y20, Y2 // 62d25d20dc96f1ffffff or 62d2dd20dc96f1ffffff VAESENC -15(R14), Y20, Y2 // 62d25d20dc96f1ffffff or 62d2dd20dc96f1ffffff
//TODO: VAESENC Y18, Y15, Y13 // 62320528dcea or 62328528dcea VAESENC Y18, Y15, Y13 // 62320528dcea or 62328528dcea
//TODO: VAESENC Y24, Y15, Y13 // 62120528dce8 or 62128528dce8 VAESENC Y24, Y15, Y13 // 62120528dce8 or 62128528dce8
//TODO: VAESENC Y18, Y22, Y13 // 62324d20dcea or 6232cd20dcea VAESENC Y18, Y22, Y13 // 62324d20dcea or 6232cd20dcea
//TODO: VAESENC Y24, Y22, Y13 // 62124d20dce8 or 6212cd20dce8 VAESENC Y24, Y22, Y13 // 62124d20dce8 or 6212cd20dce8
//TODO: VAESENC Y9, Y22, Y13 // 62524d20dce9 or 6252cd20dce9 VAESENC Y9, Y22, Y13 // 62524d20dce9 or 6252cd20dce9
//TODO: VAESENC 7(SI)(DI*8), Y22, Y13 // 62724d20dcacfe07000000 or 6272cd20dcacfe07000000 VAESENC 7(SI)(DI*8), Y22, Y13 // 62724d20dcacfe07000000 or 6272cd20dcacfe07000000
//TODO: VAESENC -15(R14), Y22, Y13 // 62524d20dcaef1ffffff or 6252cd20dcaef1ffffff VAESENC -15(R14), Y22, Y13 // 62524d20dcaef1ffffff or 6252cd20dcaef1ffffff
//TODO: VAESENC Y18, Y20, Y13 // 62325d20dcea or 6232dd20dcea VAESENC Y18, Y20, Y13 // 62325d20dcea or 6232dd20dcea
//TODO: VAESENC Y24, Y20, Y13 // 62125d20dce8 or 6212dd20dce8 VAESENC Y24, Y20, Y13 // 62125d20dce8 or 6212dd20dce8
//TODO: VAESENC Y9, Y20, Y13 // 62525d20dce9 or 6252dd20dce9 VAESENC Y9, Y20, Y13 // 62525d20dce9 or 6252dd20dce9
//TODO: VAESENC 7(SI)(DI*8), Y20, Y13 // 62725d20dcacfe07000000 or 6272dd20dcacfe07000000 VAESENC 7(SI)(DI*8), Y20, Y13 // 62725d20dcacfe07000000 or 6272dd20dcacfe07000000
//TODO: VAESENC -15(R14), Y20, Y13 // 62525d20dcaef1ffffff or 6252dd20dcaef1ffffff VAESENC -15(R14), Y20, Y13 // 62525d20dcaef1ffffff or 6252dd20dcaef1ffffff
//TODO: VAESENC Y18, Y15, Y27 // 62220528dcda or 62228528dcda VAESENC Y18, Y15, Y27 // 62220528dcda or 62228528dcda
//TODO: VAESENC Y24, Y15, Y27 // 62020528dcd8 or 62028528dcd8 VAESENC Y24, Y15, Y27 // 62020528dcd8 or 62028528dcd8
//TODO: VAESENC Y9, Y15, Y27 // 62420528dcd9 or 62428528dcd9 VAESENC Y9, Y15, Y27 // 62420528dcd9 or 62428528dcd9
//TODO: VAESENC 7(SI)(DI*8), Y15, Y27 // 62620528dc9cfe07000000 or 62628528dc9cfe07000000 VAESENC 7(SI)(DI*8), Y15, Y27 // 62620528dc9cfe07000000 or 62628528dc9cfe07000000
//TODO: VAESENC -15(R14), Y15, Y27 // 62420528dc9ef1ffffff or 62428528dc9ef1ffffff VAESENC -15(R14), Y15, Y27 // 62420528dc9ef1ffffff or 62428528dc9ef1ffffff
//TODO: VAESENC Y18, Y22, Y27 // 62224d20dcda or 6222cd20dcda VAESENC Y18, Y22, Y27 // 62224d20dcda or 6222cd20dcda
//TODO: VAESENC Y24, Y22, Y27 // 62024d20dcd8 or 6202cd20dcd8 VAESENC Y24, Y22, Y27 // 62024d20dcd8 or 6202cd20dcd8
//TODO: VAESENC Y9, Y22, Y27 // 62424d20dcd9 or 6242cd20dcd9 VAESENC Y9, Y22, Y27 // 62424d20dcd9 or 6242cd20dcd9
//TODO: VAESENC 7(SI)(DI*8), Y22, Y27 // 62624d20dc9cfe07000000 or 6262cd20dc9cfe07000000 VAESENC 7(SI)(DI*8), Y22, Y27 // 62624d20dc9cfe07000000 or 6262cd20dc9cfe07000000
//TODO: VAESENC -15(R14), Y22, Y27 // 62424d20dc9ef1ffffff or 6242cd20dc9ef1ffffff VAESENC -15(R14), Y22, Y27 // 62424d20dc9ef1ffffff or 6242cd20dc9ef1ffffff
//TODO: VAESENC Y18, Y20, Y27 // 62225d20dcda or 6222dd20dcda VAESENC Y18, Y20, Y27 // 62225d20dcda or 6222dd20dcda
//TODO: VAESENC Y24, Y20, Y27 // 62025d20dcd8 or 6202dd20dcd8 VAESENC Y24, Y20, Y27 // 62025d20dcd8 or 6202dd20dcd8
//TODO: VAESENC Y9, Y20, Y27 // 62425d20dcd9 or 6242dd20dcd9 VAESENC Y9, Y20, Y27 // 62425d20dcd9 or 6242dd20dcd9
//TODO: VAESENC 7(SI)(DI*8), Y20, Y27 // 62625d20dc9cfe07000000 or 6262dd20dc9cfe07000000 VAESENC 7(SI)(DI*8), Y20, Y27 // 62625d20dc9cfe07000000 or 6262dd20dc9cfe07000000
//TODO: VAESENC -15(R14), Y20, Y27 // 62425d20dc9ef1ffffff or 6242dd20dc9ef1ffffff VAESENC -15(R14), Y20, Y27 // 62425d20dc9ef1ffffff or 6242dd20dc9ef1ffffff
//TODO: VAESENC Z12, Z16, Z21 // 62c27d40dcec or 62c2fd40dcec VAESENC Z12, Z16, Z21 // 62c27d40dcec or 62c2fd40dcec
//TODO: VAESENC Z27, Z16, Z21 // 62827d40dceb or 6282fd40dceb VAESENC Z27, Z16, Z21 // 62827d40dceb or 6282fd40dceb
//TODO: VAESENC 7(SI)(DI*8), Z16, Z21 // 62e27d40dcacfe07000000 or 62e2fd40dcacfe07000000 VAESENC 7(SI)(DI*8), Z16, Z21 // 62e27d40dcacfe07000000 or 62e2fd40dcacfe07000000
//TODO: VAESENC -15(R14), Z16, Z21 // 62c27d40dcaef1ffffff or 62c2fd40dcaef1ffffff VAESENC -15(R14), Z16, Z21 // 62c27d40dcaef1ffffff or 62c2fd40dcaef1ffffff
//TODO: VAESENC Z12, Z13, Z21 // 62c21548dcec or 62c29548dcec VAESENC Z12, Z13, Z21 // 62c21548dcec or 62c29548dcec
//TODO: VAESENC Z27, Z13, Z21 // 62821548dceb or 62829548dceb VAESENC Z27, Z13, Z21 // 62821548dceb or 62829548dceb
//TODO: VAESENC 7(SI)(DI*8), Z13, Z21 // 62e21548dcacfe07000000 or 62e29548dcacfe07000000 VAESENC 7(SI)(DI*8), Z13, Z21 // 62e21548dcacfe07000000 or 62e29548dcacfe07000000
//TODO: VAESENC -15(R14), Z13, Z21 // 62c21548dcaef1ffffff or 62c29548dcaef1ffffff VAESENC -15(R14), Z13, Z21 // 62c21548dcaef1ffffff or 62c29548dcaef1ffffff
//TODO: VAESENC Z12, Z16, Z5 // 62d27d40dcec or 62d2fd40dcec VAESENC Z12, Z16, Z5 // 62d27d40dcec or 62d2fd40dcec
//TODO: VAESENC Z27, Z16, Z5 // 62927d40dceb or 6292fd40dceb VAESENC Z27, Z16, Z5 // 62927d40dceb or 6292fd40dceb
//TODO: VAESENC 7(SI)(DI*8), Z16, Z5 // 62f27d40dcacfe07000000 or 62f2fd40dcacfe07000000 VAESENC 7(SI)(DI*8), Z16, Z5 // 62f27d40dcacfe07000000 or 62f2fd40dcacfe07000000
//TODO: VAESENC -15(R14), Z16, Z5 // 62d27d40dcaef1ffffff or 62d2fd40dcaef1ffffff VAESENC -15(R14), Z16, Z5 // 62d27d40dcaef1ffffff or 62d2fd40dcaef1ffffff
//TODO: VAESENC Z12, Z13, Z5 // 62d21548dcec or 62d29548dcec VAESENC Z12, Z13, Z5 // 62d21548dcec or 62d29548dcec
//TODO: VAESENC Z27, Z13, Z5 // 62921548dceb or 62929548dceb VAESENC Z27, Z13, Z5 // 62921548dceb or 62929548dceb
//TODO: VAESENC 7(SI)(DI*8), Z13, Z5 // 62f21548dcacfe07000000 or 62f29548dcacfe07000000 VAESENC 7(SI)(DI*8), Z13, Z5 // 62f21548dcacfe07000000 or 62f29548dcacfe07000000
//TODO: VAESENC -15(R14), Z13, Z5 // 62d21548dcaef1ffffff or 62d29548dcaef1ffffff VAESENC -15(R14), Z13, Z5 // 62d21548dcaef1ffffff or 62d29548dcaef1ffffff
//TODO: VAESENCLAST X23, X12, X8 // 62321d08ddc7 or 62329d08ddc7 VAESENCLAST X23, X12, X8 // 62321d08ddc7 or 62329d08ddc7
//TODO: VAESENCLAST X31, X12, X8 // 62121d08ddc7 or 62129d08ddc7 VAESENCLAST X31, X12, X8 // 62121d08ddc7 or 62129d08ddc7
//TODO: VAESENCLAST X23, X16, X8 // 62327d00ddc7 or 6232fd00ddc7 VAESENCLAST X23, X16, X8 // 62327d00ddc7 or 6232fd00ddc7
//TODO: VAESENCLAST X11, X16, X8 // 62527d00ddc3 or 6252fd00ddc3 VAESENCLAST X11, X16, X8 // 62527d00ddc3 or 6252fd00ddc3
//TODO: VAESENCLAST X31, X16, X8 // 62127d00ddc7 or 6212fd00ddc7 VAESENCLAST X31, X16, X8 // 62127d00ddc7 or 6212fd00ddc7
//TODO: VAESENCLAST (AX), X16, X8 // 62727d00dd00 or 6272fd00dd00 VAESENCLAST (AX), X16, X8 // 62727d00dd00 or 6272fd00dd00
//TODO: VAESENCLAST 7(SI), X16, X8 // 62727d00dd8607000000 or 6272fd00dd8607000000 VAESENCLAST 7(SI), X16, X8 // 62727d00dd8607000000 or 6272fd00dd8607000000
//TODO: VAESENCLAST X23, X23, X8 // 62324500ddc7 or 6232c500ddc7 VAESENCLAST X23, X23, X8 // 62324500ddc7 or 6232c500ddc7
//TODO: VAESENCLAST X11, X23, X8 // 62524500ddc3 or 6252c500ddc3 VAESENCLAST X11, X23, X8 // 62524500ddc3 or 6252c500ddc3
//TODO: VAESENCLAST X31, X23, X8 // 62124500ddc7 or 6212c500ddc7 VAESENCLAST X31, X23, X8 // 62124500ddc7 or 6212c500ddc7
//TODO: VAESENCLAST (AX), X23, X8 // 62724500dd00 or 6272c500dd00 VAESENCLAST (AX), X23, X8 // 62724500dd00 or 6272c500dd00
//TODO: VAESENCLAST 7(SI), X23, X8 // 62724500dd8607000000 or 6272c500dd8607000000 VAESENCLAST 7(SI), X23, X8 // 62724500dd8607000000 or 6272c500dd8607000000
//TODO: VAESENCLAST X23, X12, X26 // 62221d08ddd7 or 62229d08ddd7 VAESENCLAST X23, X12, X26 // 62221d08ddd7 or 62229d08ddd7
//TODO: VAESENCLAST X11, X12, X26 // 62421d08ddd3 or 62429d08ddd3 VAESENCLAST X11, X12, X26 // 62421d08ddd3 or 62429d08ddd3
//TODO: VAESENCLAST X31, X12, X26 // 62021d08ddd7 or 62029d08ddd7 VAESENCLAST X31, X12, X26 // 62021d08ddd7 or 62029d08ddd7
//TODO: VAESENCLAST (AX), X12, X26 // 62621d08dd10 or 62629d08dd10 VAESENCLAST (AX), X12, X26 // 62621d08dd10 or 62629d08dd10
//TODO: VAESENCLAST 7(SI), X12, X26 // 62621d08dd9607000000 or 62629d08dd9607000000 VAESENCLAST 7(SI), X12, X26 // 62621d08dd9607000000 or 62629d08dd9607000000
//TODO: VAESENCLAST X23, X16, X26 // 62227d00ddd7 or 6222fd00ddd7 VAESENCLAST X23, X16, X26 // 62227d00ddd7 or 6222fd00ddd7
//TODO: VAESENCLAST X11, X16, X26 // 62427d00ddd3 or 6242fd00ddd3 VAESENCLAST X11, X16, X26 // 62427d00ddd3 or 6242fd00ddd3
//TODO: VAESENCLAST X31, X16, X26 // 62027d00ddd7 or 6202fd00ddd7 VAESENCLAST X31, X16, X26 // 62027d00ddd7 or 6202fd00ddd7
//TODO: VAESENCLAST (AX), X16, X26 // 62627d00dd10 or 6262fd00dd10 VAESENCLAST (AX), X16, X26 // 62627d00dd10 or 6262fd00dd10
//TODO: VAESENCLAST 7(SI), X16, X26 // 62627d00dd9607000000 or 6262fd00dd9607000000 VAESENCLAST 7(SI), X16, X26 // 62627d00dd9607000000 or 6262fd00dd9607000000
//TODO: VAESENCLAST X23, X23, X26 // 62224500ddd7 or 6222c500ddd7 VAESENCLAST X23, X23, X26 // 62224500ddd7 or 6222c500ddd7
//TODO: VAESENCLAST X11, X23, X26 // 62424500ddd3 or 6242c500ddd3 VAESENCLAST X11, X23, X26 // 62424500ddd3 or 6242c500ddd3
//TODO: VAESENCLAST X31, X23, X26 // 62024500ddd7 or 6202c500ddd7 VAESENCLAST X31, X23, X26 // 62024500ddd7 or 6202c500ddd7
//TODO: VAESENCLAST (AX), X23, X26 // 62624500dd10 or 6262c500dd10 VAESENCLAST (AX), X23, X26 // 62624500dd10 or 6262c500dd10
//TODO: VAESENCLAST 7(SI), X23, X26 // 62624500dd9607000000 or 6262c500dd9607000000 VAESENCLAST 7(SI), X23, X26 // 62624500dd9607000000 or 6262c500dd9607000000
//TODO: VAESENCLAST X23, X12, X23 // 62a21d08ddff or 62a29d08ddff VAESENCLAST X23, X12, X23 // 62a21d08ddff or 62a29d08ddff
//TODO: VAESENCLAST X11, X12, X23 // 62c21d08ddfb or 62c29d08ddfb VAESENCLAST X11, X12, X23 // 62c21d08ddfb or 62c29d08ddfb
//TODO: VAESENCLAST X31, X12, X23 // 62821d08ddff or 62829d08ddff VAESENCLAST X31, X12, X23 // 62821d08ddff or 62829d08ddff
//TODO: VAESENCLAST (AX), X12, X23 // 62e21d08dd38 or 62e29d08dd38 VAESENCLAST (AX), X12, X23 // 62e21d08dd38 or 62e29d08dd38
//TODO: VAESENCLAST 7(SI), X12, X23 // 62e21d08ddbe07000000 or 62e29d08ddbe07000000 VAESENCLAST 7(SI), X12, X23 // 62e21d08ddbe07000000 or 62e29d08ddbe07000000
//TODO: VAESENCLAST X23, X16, X23 // 62a27d00ddff or 62a2fd00ddff VAESENCLAST X23, X16, X23 // 62a27d00ddff or 62a2fd00ddff
//TODO: VAESENCLAST X11, X16, X23 // 62c27d00ddfb or 62c2fd00ddfb VAESENCLAST X11, X16, X23 // 62c27d00ddfb or 62c2fd00ddfb
//TODO: VAESENCLAST X31, X16, X23 // 62827d00ddff or 6282fd00ddff VAESENCLAST X31, X16, X23 // 62827d00ddff or 6282fd00ddff
//TODO: VAESENCLAST (AX), X16, X23 // 62e27d00dd38 or 62e2fd00dd38 VAESENCLAST (AX), X16, X23 // 62e27d00dd38 or 62e2fd00dd38
//TODO: VAESENCLAST 7(SI), X16, X23 // 62e27d00ddbe07000000 or 62e2fd00ddbe07000000 VAESENCLAST 7(SI), X16, X23 // 62e27d00ddbe07000000 or 62e2fd00ddbe07000000
//TODO: VAESENCLAST X23, X23, X23 // 62a24500ddff or 62a2c500ddff VAESENCLAST X23, X23, X23 // 62a24500ddff or 62a2c500ddff
//TODO: VAESENCLAST X11, X23, X23 // 62c24500ddfb or 62c2c500ddfb VAESENCLAST X11, X23, X23 // 62c24500ddfb or 62c2c500ddfb
//TODO: VAESENCLAST X31, X23, X23 // 62824500ddff or 6282c500ddff VAESENCLAST X31, X23, X23 // 62824500ddff or 6282c500ddff
//TODO: VAESENCLAST (AX), X23, X23 // 62e24500dd38 or 62e2c500dd38 VAESENCLAST (AX), X23, X23 // 62e24500dd38 or 62e2c500dd38
//TODO: VAESENCLAST 7(SI), X23, X23 // 62e24500ddbe07000000 or 62e2c500ddbe07000000 VAESENCLAST 7(SI), X23, X23 // 62e24500ddbe07000000 or 62e2c500ddbe07000000
//TODO: VAESENCLAST Y5, Y19, Y3 // 62f26520dddd or 62f2e520dddd VAESENCLAST Y5, Y19, Y3 // 62f26520dddd or 62f2e520dddd
//TODO: VAESENCLAST Y16, Y19, Y3 // 62b26520ddd8 or 62b2e520ddd8 VAESENCLAST Y16, Y19, Y3 // 62b26520ddd8 or 62b2e520ddd8
//TODO: VAESENCLAST Y2, Y19, Y3 // 62f26520ddda or 62f2e520ddda VAESENCLAST Y2, Y19, Y3 // 62f26520ddda or 62f2e520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y19, Y3 // 62f26520dd9c3e07000000 or 62f2e520dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Y19, Y3 // 62f26520dd9c3e07000000 or 62f2e520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y19, Y3 // 62f26520dd9cda0f000000 or 62f2e520dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Y19, Y3 // 62f26520dd9cda0f000000 or 62f2e520dd9cda0f000000
//TODO: VAESENCLAST Y16, Y14, Y3 // 62b20d28ddd8 or 62b28d28ddd8 VAESENCLAST Y16, Y14, Y3 // 62b20d28ddd8 or 62b28d28ddd8
//TODO: VAESENCLAST Y5, Y21, Y3 // 62f25520dddd or 62f2d520dddd VAESENCLAST Y5, Y21, Y3 // 62f25520dddd or 62f2d520dddd
//TODO: VAESENCLAST Y16, Y21, Y3 // 62b25520ddd8 or 62b2d520ddd8 VAESENCLAST Y16, Y21, Y3 // 62b25520ddd8 or 62b2d520ddd8
//TODO: VAESENCLAST Y2, Y21, Y3 // 62f25520ddda or 62f2d520ddda VAESENCLAST Y2, Y21, Y3 // 62f25520ddda or 62f2d520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y21, Y3 // 62f25520dd9c3e07000000 or 62f2d520dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Y21, Y3 // 62f25520dd9c3e07000000 or 62f2d520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y21, Y3 // 62f25520dd9cda0f000000 or 62f2d520dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Y21, Y3 // 62f25520dd9cda0f000000 or 62f2d520dd9cda0f000000
//TODO: VAESENCLAST Y5, Y19, Y19 // 62e26520dddd or 62e2e520dddd VAESENCLAST Y5, Y19, Y19 // 62e26520dddd or 62e2e520dddd
//TODO: VAESENCLAST Y16, Y19, Y19 // 62a26520ddd8 or 62a2e520ddd8 VAESENCLAST Y16, Y19, Y19 // 62a26520ddd8 or 62a2e520ddd8
//TODO: VAESENCLAST Y2, Y19, Y19 // 62e26520ddda or 62e2e520ddda VAESENCLAST Y2, Y19, Y19 // 62e26520ddda or 62e2e520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y19, Y19 // 62e26520dd9c3e07000000 or 62e2e520dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Y19, Y19 // 62e26520dd9c3e07000000 or 62e2e520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y19, Y19 // 62e26520dd9cda0f000000 or 62e2e520dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Y19, Y19 // 62e26520dd9cda0f000000 or 62e2e520dd9cda0f000000
//TODO: VAESENCLAST Y5, Y14, Y19 // 62e20d28dddd or 62e28d28dddd VAESENCLAST Y5, Y14, Y19 // 62e20d28dddd or 62e28d28dddd
//TODO: VAESENCLAST Y16, Y14, Y19 // 62a20d28ddd8 or 62a28d28ddd8 VAESENCLAST Y16, Y14, Y19 // 62a20d28ddd8 or 62a28d28ddd8
//TODO: VAESENCLAST Y2, Y14, Y19 // 62e20d28ddda or 62e28d28ddda VAESENCLAST Y2, Y14, Y19 // 62e20d28ddda or 62e28d28ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y14, Y19 // 62e20d28dd9c3e07000000 or 62e28d28dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Y14, Y19 // 62e20d28dd9c3e07000000 or 62e28d28dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y14, Y19 // 62e20d28dd9cda0f000000 or 62e28d28dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Y14, Y19 // 62e20d28dd9cda0f000000 or 62e28d28dd9cda0f000000
//TODO: VAESENCLAST Y5, Y21, Y19 // 62e25520dddd or 62e2d520dddd VAESENCLAST Y5, Y21, Y19 // 62e25520dddd or 62e2d520dddd
//TODO: VAESENCLAST Y16, Y21, Y19 // 62a25520ddd8 or 62a2d520ddd8 VAESENCLAST Y16, Y21, Y19 // 62a25520ddd8 or 62a2d520ddd8
//TODO: VAESENCLAST Y2, Y21, Y19 // 62e25520ddda or 62e2d520ddda VAESENCLAST Y2, Y21, Y19 // 62e25520ddda or 62e2d520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y21, Y19 // 62e25520dd9c3e07000000 or 62e2d520dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Y21, Y19 // 62e25520dd9c3e07000000 or 62e2d520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y21, Y19 // 62e25520dd9cda0f000000 or 62e2d520dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Y21, Y19 // 62e25520dd9cda0f000000 or 62e2d520dd9cda0f000000
//TODO: VAESENCLAST Y5, Y19, Y23 // 62e26520ddfd or 62e2e520ddfd VAESENCLAST Y5, Y19, Y23 // 62e26520ddfd or 62e2e520ddfd
//TODO: VAESENCLAST Y16, Y19, Y23 // 62a26520ddf8 or 62a2e520ddf8 VAESENCLAST Y16, Y19, Y23 // 62a26520ddf8 or 62a2e520ddf8
//TODO: VAESENCLAST Y2, Y19, Y23 // 62e26520ddfa or 62e2e520ddfa VAESENCLAST Y2, Y19, Y23 // 62e26520ddfa or 62e2e520ddfa
//TODO: VAESENCLAST 7(SI)(DI*1), Y19, Y23 // 62e26520ddbc3e07000000 or 62e2e520ddbc3e07000000 VAESENCLAST 7(SI)(DI*1), Y19, Y23 // 62e26520ddbc3e07000000 or 62e2e520ddbc3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y19, Y23 // 62e26520ddbcda0f000000 or 62e2e520ddbcda0f000000 VAESENCLAST 15(DX)(BX*8), Y19, Y23 // 62e26520ddbcda0f000000 or 62e2e520ddbcda0f000000
//TODO: VAESENCLAST Y5, Y14, Y23 // 62e20d28ddfd or 62e28d28ddfd VAESENCLAST Y5, Y14, Y23 // 62e20d28ddfd or 62e28d28ddfd
//TODO: VAESENCLAST Y16, Y14, Y23 // 62a20d28ddf8 or 62a28d28ddf8 VAESENCLAST Y16, Y14, Y23 // 62a20d28ddf8 or 62a28d28ddf8
//TODO: VAESENCLAST Y2, Y14, Y23 // 62e20d28ddfa or 62e28d28ddfa VAESENCLAST Y2, Y14, Y23 // 62e20d28ddfa or 62e28d28ddfa
//TODO: VAESENCLAST 7(SI)(DI*1), Y14, Y23 // 62e20d28ddbc3e07000000 or 62e28d28ddbc3e07000000 VAESENCLAST 7(SI)(DI*1), Y14, Y23 // 62e20d28ddbc3e07000000 or 62e28d28ddbc3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y14, Y23 // 62e20d28ddbcda0f000000 or 62e28d28ddbcda0f000000 VAESENCLAST 15(DX)(BX*8), Y14, Y23 // 62e20d28ddbcda0f000000 or 62e28d28ddbcda0f000000
//TODO: VAESENCLAST Y5, Y21, Y23 // 62e25520ddfd or 62e2d520ddfd VAESENCLAST Y5, Y21, Y23 // 62e25520ddfd or 62e2d520ddfd
//TODO: VAESENCLAST Y16, Y21, Y23 // 62a25520ddf8 or 62a2d520ddf8 VAESENCLAST Y16, Y21, Y23 // 62a25520ddf8 or 62a2d520ddf8
//TODO: VAESENCLAST Y2, Y21, Y23 // 62e25520ddfa or 62e2d520ddfa VAESENCLAST Y2, Y21, Y23 // 62e25520ddfa or 62e2d520ddfa
//TODO: VAESENCLAST 7(SI)(DI*1), Y21, Y23 // 62e25520ddbc3e07000000 or 62e2d520ddbc3e07000000 VAESENCLAST 7(SI)(DI*1), Y21, Y23 // 62e25520ddbc3e07000000 or 62e2d520ddbc3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y21, Y23 // 62e25520ddbcda0f000000 or 62e2d520ddbcda0f000000 VAESENCLAST 15(DX)(BX*8), Y21, Y23 // 62e25520ddbcda0f000000 or 62e2d520ddbcda0f000000
//TODO: VAESENCLAST Z25, Z6, Z22 // 62824d48ddf1 or 6282cd48ddf1 VAESENCLAST Z25, Z6, Z22 // 62824d48ddf1 or 6282cd48ddf1
//TODO: VAESENCLAST Z12, Z6, Z22 // 62c24d48ddf4 or 62c2cd48ddf4 VAESENCLAST Z12, Z6, Z22 // 62c24d48ddf4 or 62c2cd48ddf4
//TODO: VAESENCLAST 7(SI)(DI*1), Z6, Z22 // 62e24d48ddb43e07000000 or 62e2cd48ddb43e07000000 VAESENCLAST 7(SI)(DI*1), Z6, Z22 // 62e24d48ddb43e07000000 or 62e2cd48ddb43e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z6, Z22 // 62e24d48ddb4da0f000000 or 62e2cd48ddb4da0f000000 VAESENCLAST 15(DX)(BX*8), Z6, Z22 // 62e24d48ddb4da0f000000 or 62e2cd48ddb4da0f000000
//TODO: VAESENCLAST Z25, Z8, Z22 // 62823d48ddf1 or 6282bd48ddf1 VAESENCLAST Z25, Z8, Z22 // 62823d48ddf1 or 6282bd48ddf1
//TODO: VAESENCLAST Z12, Z8, Z22 // 62c23d48ddf4 or 62c2bd48ddf4 VAESENCLAST Z12, Z8, Z22 // 62c23d48ddf4 or 62c2bd48ddf4
//TODO: VAESENCLAST 7(SI)(DI*1), Z8, Z22 // 62e23d48ddb43e07000000 or 62e2bd48ddb43e07000000 VAESENCLAST 7(SI)(DI*1), Z8, Z22 // 62e23d48ddb43e07000000 or 62e2bd48ddb43e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z8, Z22 // 62e23d48ddb4da0f000000 or 62e2bd48ddb4da0f000000 VAESENCLAST 15(DX)(BX*8), Z8, Z22 // 62e23d48ddb4da0f000000 or 62e2bd48ddb4da0f000000
//TODO: VAESENCLAST Z25, Z6, Z11 // 62124d48ddd9 or 6212cd48ddd9 VAESENCLAST Z25, Z6, Z11 // 62124d48ddd9 or 6212cd48ddd9
//TODO: VAESENCLAST Z12, Z6, Z11 // 62524d48dddc or 6252cd48dddc VAESENCLAST Z12, Z6, Z11 // 62524d48dddc or 6252cd48dddc
//TODO: VAESENCLAST 7(SI)(DI*1), Z6, Z11 // 62724d48dd9c3e07000000 or 6272cd48dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Z6, Z11 // 62724d48dd9c3e07000000 or 6272cd48dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z6, Z11 // 62724d48dd9cda0f000000 or 6272cd48dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Z6, Z11 // 62724d48dd9cda0f000000 or 6272cd48dd9cda0f000000
//TODO: VAESENCLAST Z25, Z8, Z11 // 62123d48ddd9 or 6212bd48ddd9 VAESENCLAST Z25, Z8, Z11 // 62123d48ddd9 or 6212bd48ddd9
//TODO: VAESENCLAST Z12, Z8, Z11 // 62523d48dddc or 6252bd48dddc VAESENCLAST Z12, Z8, Z11 // 62523d48dddc or 6252bd48dddc
//TODO: VAESENCLAST 7(SI)(DI*1), Z8, Z11 // 62723d48dd9c3e07000000 or 6272bd48dd9c3e07000000 VAESENCLAST 7(SI)(DI*1), Z8, Z11 // 62723d48dd9c3e07000000 or 6272bd48dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z8, Z11 // 62723d48dd9cda0f000000 or 6272bd48dd9cda0f000000 VAESENCLAST 15(DX)(BX*8), Z8, Z11 // 62723d48dd9cda0f000000 or 6272bd48dd9cda0f000000
RET RET
...@@ -3,64 +3,64 @@ ...@@ -3,64 +3,64 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_4fmaps(SB), NOSPLIT, $0 TEXT asmtest_avx512_4fmaps(SB), NOSPLIT, $0
//TODO: V4FMADDPS 17(SP), [Z0-Z3], K2, Z0 // 62f27f4a9a842411000000 V4FMADDPS 17(SP), [Z0-Z3], K2, Z0 // 62f27f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z0 // 62f27f4a9a84b5efffffff V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z0 // 62f27f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z10-Z13], K2, Z0 // 62f22f4a9a842411000000 V4FMADDPS 17(SP), [Z10-Z13], K2, Z0 // 62f22f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z0 // 62f22f4a9a84b5efffffff V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z0 // 62f22f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z20-Z23], K2, Z0 // 62f25f429a842411000000 V4FMADDPS 17(SP), [Z20-Z23], K2, Z0 // 62f25f429a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z0 // 62f25f429a84b5efffffff V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z0 // 62f25f429a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z0-Z3], K2, Z8 // 62727f4a9a842411000000 V4FMADDPS 17(SP), [Z0-Z3], K2, Z8 // 62727f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z8 // 62727f4a9a84b5efffffff V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z8 // 62727f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z10-Z13], K2, Z8 // 62722f4a9a842411000000 V4FMADDPS 17(SP), [Z10-Z13], K2, Z8 // 62722f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z8 // 62722f4a9a84b5efffffff V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z8 // 62722f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z20-Z23], K2, Z8 // 62725f429a842411000000 V4FMADDPS 17(SP), [Z20-Z23], K2, Z8 // 62725f429a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z8 // 62725f429a84b5efffffff V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z8 // 62725f429a84b5efffffff
//TODO: V4FMADDSS 7(AX), [X0-X3], K5, X22 // 62e27f0d9bb007000000 or 62e27f2d9bb007000000 or 62e27f4d9bb007000000 V4FMADDSS 7(AX), [X0-X3], K5, X22 // 62e27f0d9bb007000000 or 62e27f2d9bb007000000 or 62e27f4d9bb007000000
//TODO: V4FMADDSS (DI), [X0-X3], K5, X22 // 62e27f0d9b37 or 62e27f2d9b37 or 62e27f4d9b37 V4FMADDSS (DI), [X0-X3], K5, X22 // 62e27f0d9b37 or 62e27f2d9b37 or 62e27f4d9b37
//TODO: V4FMADDSS 7(AX), [X10-X13], K5, X22 // 62e22f0d9bb007000000 or 62e22f2d9bb007000000 or 62e22f4d9bb007000000 V4FMADDSS 7(AX), [X10-X13], K5, X22 // 62e22f0d9bb007000000 or 62e22f2d9bb007000000 or 62e22f4d9bb007000000
//TODO: V4FMADDSS (DI), [X10-X13], K5, X22 // 62e22f0d9b37 or 62e22f2d9b37 or 62e22f4d9b37 V4FMADDSS (DI), [X10-X13], K5, X22 // 62e22f0d9b37 or 62e22f2d9b37 or 62e22f4d9b37
//TODO: V4FMADDSS 7(AX), [X20-X23], K5, X22 // 62e25f059bb007000000 or 62e25f259bb007000000 or 62e25f459bb007000000 V4FMADDSS 7(AX), [X20-X23], K5, X22 // 62e25f059bb007000000 or 62e25f259bb007000000 or 62e25f459bb007000000
//TODO: V4FMADDSS (DI), [X20-X23], K5, X22 // 62e25f059b37 or 62e25f259b37 or 62e25f459b37 V4FMADDSS (DI), [X20-X23], K5, X22 // 62e25f059b37 or 62e25f259b37 or 62e25f459b37
//TODO: V4FMADDSS 7(AX), [X0-X3], K5, X30 // 62627f0d9bb007000000 or 62627f2d9bb007000000 or 62627f4d9bb007000000 V4FMADDSS 7(AX), [X0-X3], K5, X30 // 62627f0d9bb007000000 or 62627f2d9bb007000000 or 62627f4d9bb007000000
//TODO: V4FMADDSS (DI), [X0-X3], K5, X30 // 62627f0d9b37 or 62627f2d9b37 or 62627f4d9b37 V4FMADDSS (DI), [X0-X3], K5, X30 // 62627f0d9b37 or 62627f2d9b37 or 62627f4d9b37
//TODO: V4FMADDSS 7(AX), [X10-X13], K5, X30 // 62622f0d9bb007000000 or 62622f2d9bb007000000 or 62622f4d9bb007000000 V4FMADDSS 7(AX), [X10-X13], K5, X30 // 62622f0d9bb007000000 or 62622f2d9bb007000000 or 62622f4d9bb007000000
//TODO: V4FMADDSS (DI), [X10-X13], K5, X30 // 62622f0d9b37 or 62622f2d9b37 or 62622f4d9b37 V4FMADDSS (DI), [X10-X13], K5, X30 // 62622f0d9b37 or 62622f2d9b37 or 62622f4d9b37
//TODO: V4FMADDSS 7(AX), [X20-X23], K5, X30 // 62625f059bb007000000 or 62625f259bb007000000 or 62625f459bb007000000 V4FMADDSS 7(AX), [X20-X23], K5, X30 // 62625f059bb007000000 or 62625f259bb007000000 or 62625f459bb007000000
//TODO: V4FMADDSS (DI), [X20-X23], K5, X30 // 62625f059b37 or 62625f259b37 or 62625f459b37 V4FMADDSS (DI), [X20-X23], K5, X30 // 62625f059b37 or 62625f259b37 or 62625f459b37
//TODO: V4FMADDSS 7(AX), [X0-X3], K5, X3 // 62f27f0d9b9807000000 or 62f27f2d9b9807000000 or 62f27f4d9b9807000000 V4FMADDSS 7(AX), [X0-X3], K5, X3 // 62f27f0d9b9807000000 or 62f27f2d9b9807000000 or 62f27f4d9b9807000000
//TODO: V4FMADDSS (DI), [X0-X3], K5, X3 // 62f27f0d9b1f or 62f27f2d9b1f or 62f27f4d9b1f V4FMADDSS (DI), [X0-X3], K5, X3 // 62f27f0d9b1f or 62f27f2d9b1f or 62f27f4d9b1f
//TODO: V4FMADDSS 7(AX), [X10-X13], K5, X3 // 62f22f0d9b9807000000 or 62f22f2d9b9807000000 or 62f22f4d9b9807000000 V4FMADDSS 7(AX), [X10-X13], K5, X3 // 62f22f0d9b9807000000 or 62f22f2d9b9807000000 or 62f22f4d9b9807000000
//TODO: V4FMADDSS (DI), [X10-X13], K5, X3 // 62f22f0d9b1f or 62f22f2d9b1f or 62f22f4d9b1f V4FMADDSS (DI), [X10-X13], K5, X3 // 62f22f0d9b1f or 62f22f2d9b1f or 62f22f4d9b1f
//TODO: V4FMADDSS 7(AX), [X20-X23], K5, X3 // 62f25f059b9807000000 or 62f25f259b9807000000 or 62f25f459b9807000000 V4FMADDSS 7(AX), [X20-X23], K5, X3 // 62f25f059b9807000000 or 62f25f259b9807000000 or 62f25f459b9807000000
//TODO: V4FMADDSS (DI), [X20-X23], K5, X3 // 62f25f059b1f or 62f25f259b1f or 62f25f459b1f V4FMADDSS (DI), [X20-X23], K5, X3 // 62f25f059b1f or 62f25f259b1f or 62f25f459b1f
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z15 // 6212774baabc3f63000000 V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z15 // 6212774baabc3f63000000
//TODO: V4FNMADDPS (DX), [Z1-Z4], K3, Z15 // 6272774baa3a V4FNMADDPS (DX), [Z1-Z4], K3, Z15 // 6272774baa3a
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z15 // 6212274baabc3f63000000 V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z15 // 6212274baabc3f63000000
//TODO: V4FNMADDPS (DX), [Z11-Z14], K3, Z15 // 6272274baa3a V4FNMADDPS (DX), [Z11-Z14], K3, Z15 // 6272274baa3a
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z15 // 62125743aabc3f63000000 V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z15 // 62125743aabc3f63000000
//TODO: V4FNMADDPS (DX), [Z21-Z24], K3, Z15 // 62725743aa3a V4FNMADDPS (DX), [Z21-Z24], K3, Z15 // 62725743aa3a
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z12 // 6212774baaa43f63000000 V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z12 // 6212774baaa43f63000000
//TODO: V4FNMADDPS (DX), [Z1-Z4], K3, Z12 // 6272774baa22 V4FNMADDPS (DX), [Z1-Z4], K3, Z12 // 6272774baa22
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z12 // 6212274baaa43f63000000 V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z12 // 6212274baaa43f63000000
//TODO: V4FNMADDPS (DX), [Z11-Z14], K3, Z12 // 6272274baa22 V4FNMADDPS (DX), [Z11-Z14], K3, Z12 // 6272274baa22
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z12 // 62125743aaa43f63000000 V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z12 // 62125743aaa43f63000000
//TODO: V4FNMADDPS (DX), [Z21-Z24], K3, Z12 // 62725743aa22 V4FNMADDPS (DX), [Z21-Z24], K3, Z12 // 62725743aa22
//TODO: V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X11 // 6272770cab9cf5efffffff or 6272772cab9cf5efffffff or 6272774cab9cf5efffffff V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X11 // 6272770cab9cf5efffffff or 6272772cab9cf5efffffff or 6272774cab9cf5efffffff
//TODO: V4FNMADDSS (R15), [X1-X4], K4, X11 // 6252770cab1f or 6252772cab1f or 6252774cab1f V4FNMADDSS (R15), [X1-X4], K4, X11 // 6252770cab1f or 6252772cab1f or 6252774cab1f
//TODO: V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X11 // 6272270cab9cf5efffffff or 6272272cab9cf5efffffff or 6272274cab9cf5efffffff V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X11 // 6272270cab9cf5efffffff or 6272272cab9cf5efffffff or 6272274cab9cf5efffffff
//TODO: V4FNMADDSS (R15), [X11-X14], K4, X11 // 6252270cab1f or 6252272cab1f or 6252274cab1f V4FNMADDSS (R15), [X11-X14], K4, X11 // 6252270cab1f or 6252272cab1f or 6252274cab1f
//TODO: V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X11 // 62725704ab9cf5efffffff or 62725724ab9cf5efffffff or 62725744ab9cf5efffffff V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X11 // 62725704ab9cf5efffffff or 62725724ab9cf5efffffff or 62725744ab9cf5efffffff
//TODO: V4FNMADDSS (R15), [X21-X24], K4, X11 // 62525704ab1f or 62525724ab1f or 62525744ab1f V4FNMADDSS (R15), [X21-X24], K4, X11 // 62525704ab1f or 62525724ab1f or 62525744ab1f
//TODO: V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X15 // 6272770cabbcf5efffffff or 6272772cabbcf5efffffff or 6272774cabbcf5efffffff V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X15 // 6272770cabbcf5efffffff or 6272772cabbcf5efffffff or 6272774cabbcf5efffffff
//TODO: V4FNMADDSS (R15), [X1-X4], K4, X15 // 6252770cab3f or 6252772cab3f or 6252774cab3f V4FNMADDSS (R15), [X1-X4], K4, X15 // 6252770cab3f or 6252772cab3f or 6252774cab3f
//TODO: V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X15 // 6272270cabbcf5efffffff or 6272272cabbcf5efffffff or 6272274cabbcf5efffffff V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X15 // 6272270cabbcf5efffffff or 6272272cabbcf5efffffff or 6272274cabbcf5efffffff
//TODO: V4FNMADDSS (R15), [X11-X14], K4, X15 // 6252270cab3f or 6252272cab3f or 6252274cab3f V4FNMADDSS (R15), [X11-X14], K4, X15 // 6252270cab3f or 6252272cab3f or 6252274cab3f
//TODO: V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X15 // 62725704abbcf5efffffff or 62725724abbcf5efffffff or 62725744abbcf5efffffff V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X15 // 62725704abbcf5efffffff or 62725724abbcf5efffffff or 62725744abbcf5efffffff
//TODO: V4FNMADDSS (R15), [X21-X24], K4, X15 // 62525704ab3f or 62525724ab3f or 62525744ab3f V4FNMADDSS (R15), [X21-X24], K4, X15 // 62525704ab3f or 62525724ab3f or 62525744ab3f
//TODO: V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X30 // 6262770cabb4f5efffffff or 6262772cabb4f5efffffff or 6262774cabb4f5efffffff V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X30 // 6262770cabb4f5efffffff or 6262772cabb4f5efffffff or 6262774cabb4f5efffffff
//TODO: V4FNMADDSS (R15), [X1-X4], K4, X30 // 6242770cab37 or 6242772cab37 or 6242774cab37 V4FNMADDSS (R15), [X1-X4], K4, X30 // 6242770cab37 or 6242772cab37 or 6242774cab37
//TODO: V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X30 // 6262270cabb4f5efffffff or 6262272cabb4f5efffffff or 6262274cabb4f5efffffff V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X30 // 6262270cabb4f5efffffff or 6262272cabb4f5efffffff or 6262274cabb4f5efffffff
//TODO: V4FNMADDSS (R15), [X11-X14], K4, X30 // 6242270cab37 or 6242272cab37 or 6242274cab37 V4FNMADDSS (R15), [X11-X14], K4, X30 // 6242270cab37 or 6242272cab37 or 6242274cab37
//TODO: V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X30 // 62625704abb4f5efffffff or 62625724abb4f5efffffff or 62625744abb4f5efffffff V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X30 // 62625704abb4f5efffffff or 62625724abb4f5efffffff or 62625744abb4f5efffffff
//TODO: V4FNMADDSS (R15), [X21-X24], K4, X30 // 62425704ab37 or 62425724ab37 or 62425744ab37 V4FNMADDSS (R15), [X21-X24], K4, X30 // 62425704ab37 or 62425724ab37 or 62425744ab37
RET RET
...@@ -3,28 +3,28 @@ ...@@ -3,28 +3,28 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_4vnniw(SB), NOSPLIT, $0 TEXT asmtest_avx512_4vnniw(SB), NOSPLIT, $0
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z17 // 62e26f4c528c3e07000000 VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z17 // 62e26f4c528c3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z17 // 62e26f4c528cda0f000000 VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z17 // 62e26f4c528cda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z17 // 62e21f4c528c3e07000000 VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z17 // 62e21f4c528c3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z17 // 62e21f4c528cda0f000000 VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z17 // 62e21f4c528cda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z17 // 62e24f44528c3e07000000 VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z17 // 62e24f44528c3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z17 // 62e24f44528cda0f000000 VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z17 // 62e24f44528cda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z23 // 62e26f4c52bc3e07000000 VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z23 // 62e26f4c52bc3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z23 // 62e26f4c52bcda0f000000 VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z23 // 62e26f4c52bcda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z23 // 62e21f4c52bc3e07000000 VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z23 // 62e21f4c52bc3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z23 // 62e21f4c52bcda0f000000 VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z23 // 62e21f4c52bcda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z23 // 62e24f4452bc3e07000000 VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z23 // 62e24f4452bc3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z23 // 62e24f4452bcda0f000000 VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z23 // 62e24f4452bcda0f000000
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z31 // 62225f4953bc07f9ffffff VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z31 // 62225f4953bc07f9ffffff
//TODO: VP4DPWSSDS (SP), [Z4-Z7], K1, Z31 // 62625f49533c24 VP4DPWSSDS (SP), [Z4-Z7], K1, Z31 // 62625f49533c24
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z31 // 62220f4953bc07f9ffffff VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z31 // 62220f4953bc07f9ffffff
//TODO: VP4DPWSSDS (SP), [Z14-Z17], K1, Z31 // 62620f49533c24 VP4DPWSSDS (SP), [Z14-Z17], K1, Z31 // 62620f49533c24
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z31 // 62223f4153bc07f9ffffff VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z31 // 62223f4153bc07f9ffffff
//TODO: VP4DPWSSDS (SP), [Z24-Z27], K1, Z31 // 62623f41533c24 VP4DPWSSDS (SP), [Z24-Z27], K1, Z31 // 62623f41533c24
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z0 // 62b25f49538407f9ffffff VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z0 // 62b25f49538407f9ffffff
//TODO: VP4DPWSSDS (SP), [Z4-Z7], K1, Z0 // 62f25f49530424 VP4DPWSSDS (SP), [Z4-Z7], K1, Z0 // 62f25f49530424
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z0 // 62b20f49538407f9ffffff VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z0 // 62b20f49538407f9ffffff
//TODO: VP4DPWSSDS (SP), [Z14-Z17], K1, Z0 // 62f20f49530424 VP4DPWSSDS (SP), [Z14-Z17], K1, Z0 // 62f20f49530424
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z0 // 62b23f41538407f9ffffff VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z0 // 62b23f41538407f9ffffff
//TODO: VP4DPWSSDS (SP), [Z24-Z27], K1, Z0 // 62f23f41530424 VP4DPWSSDS (SP), [Z24-Z27], K1, Z0 // 62f23f41530424
RET RET
...@@ -3,152 +3,152 @@ ...@@ -3,152 +3,152 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_bitalg(SB), NOSPLIT, $0 TEXT asmtest_avx512_bitalg(SB), NOSPLIT, $0
//TODO: VPOPCNTB X14, K4, X16 // 62c27d0c54c6 VPOPCNTB X14, K4, X16 // 62c27d0c54c6
//TODO: VPOPCNTB X19, K4, X16 // 62a27d0c54c3 VPOPCNTB X19, K4, X16 // 62a27d0c54c3
//TODO: VPOPCNTB X8, K4, X16 // 62c27d0c54c0 VPOPCNTB X8, K4, X16 // 62c27d0c54c0
//TODO: VPOPCNTB 15(R8)(R14*1), K4, X16 // 62827d0c5484300f000000 VPOPCNTB 15(R8)(R14*1), K4, X16 // 62827d0c5484300f000000
//TODO: VPOPCNTB 15(R8)(R14*2), K4, X16 // 62827d0c5484700f000000 VPOPCNTB 15(R8)(R14*2), K4, X16 // 62827d0c5484700f000000
//TODO: VPOPCNTB X14, K4, X14 // 62527d0c54f6 VPOPCNTB X14, K4, X14 // 62527d0c54f6
//TODO: VPOPCNTB X19, K4, X14 // 62327d0c54f3 VPOPCNTB X19, K4, X14 // 62327d0c54f3
//TODO: VPOPCNTB X8, K4, X14 // 62527d0c54f0 VPOPCNTB X8, K4, X14 // 62527d0c54f0
//TODO: VPOPCNTB 15(R8)(R14*1), K4, X14 // 62127d0c54b4300f000000 VPOPCNTB 15(R8)(R14*1), K4, X14 // 62127d0c54b4300f000000
//TODO: VPOPCNTB 15(R8)(R14*2), K4, X14 // 62127d0c54b4700f000000 VPOPCNTB 15(R8)(R14*2), K4, X14 // 62127d0c54b4700f000000
//TODO: VPOPCNTB X14, K4, X11 // 62527d0c54de VPOPCNTB X14, K4, X11 // 62527d0c54de
//TODO: VPOPCNTB X19, K4, X11 // 62327d0c54db VPOPCNTB X19, K4, X11 // 62327d0c54db
//TODO: VPOPCNTB X8, K4, X11 // 62527d0c54d8 VPOPCNTB X8, K4, X11 // 62527d0c54d8
//TODO: VPOPCNTB 15(R8)(R14*1), K4, X11 // 62127d0c549c300f000000 VPOPCNTB 15(R8)(R14*1), K4, X11 // 62127d0c549c300f000000
//TODO: VPOPCNTB 15(R8)(R14*2), K4, X11 // 62127d0c549c700f000000 VPOPCNTB 15(R8)(R14*2), K4, X11 // 62127d0c549c700f000000
//TODO: VPOPCNTB Y14, K4, Y24 // 62427d2c54c6 VPOPCNTB Y14, K4, Y24 // 62427d2c54c6
//TODO: VPOPCNTB Y21, K4, Y24 // 62227d2c54c5 VPOPCNTB Y21, K4, Y24 // 62227d2c54c5
//TODO: VPOPCNTB Y1, K4, Y24 // 62627d2c54c1 VPOPCNTB Y1, K4, Y24 // 62627d2c54c1
//TODO: VPOPCNTB 15(R8)(R14*8), K4, Y24 // 62027d2c5484f00f000000 VPOPCNTB 15(R8)(R14*8), K4, Y24 // 62027d2c5484f00f000000
//TODO: VPOPCNTB -15(R14)(R15*2), K4, Y24 // 62027d2c54847ef1ffffff VPOPCNTB -15(R14)(R15*2), K4, Y24 // 62027d2c54847ef1ffffff
//TODO: VPOPCNTB Y14, K4, Y13 // 62527d2c54ee VPOPCNTB Y14, K4, Y13 // 62527d2c54ee
//TODO: VPOPCNTB Y21, K4, Y13 // 62327d2c54ed VPOPCNTB Y21, K4, Y13 // 62327d2c54ed
//TODO: VPOPCNTB Y1, K4, Y13 // 62727d2c54e9 VPOPCNTB Y1, K4, Y13 // 62727d2c54e9
//TODO: VPOPCNTB 15(R8)(R14*8), K4, Y13 // 62127d2c54acf00f000000 VPOPCNTB 15(R8)(R14*8), K4, Y13 // 62127d2c54acf00f000000
//TODO: VPOPCNTB -15(R14)(R15*2), K4, Y13 // 62127d2c54ac7ef1ffffff VPOPCNTB -15(R14)(R15*2), K4, Y13 // 62127d2c54ac7ef1ffffff
//TODO: VPOPCNTB Y14, K4, Y20 // 62c27d2c54e6 VPOPCNTB Y14, K4, Y20 // 62c27d2c54e6
//TODO: VPOPCNTB Y21, K4, Y20 // 62a27d2c54e5 VPOPCNTB Y21, K4, Y20 // 62a27d2c54e5
//TODO: VPOPCNTB Y1, K4, Y20 // 62e27d2c54e1 VPOPCNTB Y1, K4, Y20 // 62e27d2c54e1
//TODO: VPOPCNTB 15(R8)(R14*8), K4, Y20 // 62827d2c54a4f00f000000 VPOPCNTB 15(R8)(R14*8), K4, Y20 // 62827d2c54a4f00f000000
//TODO: VPOPCNTB -15(R14)(R15*2), K4, Y20 // 62827d2c54a47ef1ffffff VPOPCNTB -15(R14)(R15*2), K4, Y20 // 62827d2c54a47ef1ffffff
//TODO: VPOPCNTB Z18, K7, Z13 // 62327d4f54ea VPOPCNTB Z18, K7, Z13 // 62327d4f54ea
//TODO: VPOPCNTB Z8, K7, Z13 // 62527d4f54e8 VPOPCNTB Z8, K7, Z13 // 62527d4f54e8
//TODO: VPOPCNTB 17(SP)(BP*8), K7, Z13 // 62727d4f54acec11000000 VPOPCNTB 17(SP)(BP*8), K7, Z13 // 62727d4f54acec11000000
//TODO: VPOPCNTB 17(SP)(BP*4), K7, Z13 // 62727d4f54acac11000000 VPOPCNTB 17(SP)(BP*4), K7, Z13 // 62727d4f54acac11000000
//TODO: VPOPCNTW X20, K3, X11 // 6232fd0b54dc VPOPCNTW X20, K3, X11 // 6232fd0b54dc
//TODO: VPOPCNTW X5, K3, X11 // 6272fd0b54dd VPOPCNTW X5, K3, X11 // 6272fd0b54dd
//TODO: VPOPCNTW X25, K3, X11 // 6212fd0b54d9 VPOPCNTW X25, K3, X11 // 6212fd0b54d9
//TODO: VPOPCNTW (CX), K3, X11 // 6272fd0b5419 VPOPCNTW (CX), K3, X11 // 6272fd0b5419
//TODO: VPOPCNTW 99(R15), K3, X11 // 6252fd0b549f63000000 VPOPCNTW 99(R15), K3, X11 // 6252fd0b549f63000000
//TODO: VPOPCNTW X20, K3, X23 // 62a2fd0b54fc VPOPCNTW X20, K3, X23 // 62a2fd0b54fc
//TODO: VPOPCNTW X5, K3, X23 // 62e2fd0b54fd VPOPCNTW X5, K3, X23 // 62e2fd0b54fd
//TODO: VPOPCNTW X25, K3, X23 // 6282fd0b54f9 VPOPCNTW X25, K3, X23 // 6282fd0b54f9
//TODO: VPOPCNTW (CX), K3, X23 // 62e2fd0b5439 VPOPCNTW (CX), K3, X23 // 62e2fd0b5439
//TODO: VPOPCNTW 99(R15), K3, X23 // 62c2fd0b54bf63000000 VPOPCNTW 99(R15), K3, X23 // 62c2fd0b54bf63000000
//TODO: VPOPCNTW X20, K3, X2 // 62b2fd0b54d4 VPOPCNTW X20, K3, X2 // 62b2fd0b54d4
//TODO: VPOPCNTW X5, K3, X2 // 62f2fd0b54d5 VPOPCNTW X5, K3, X2 // 62f2fd0b54d5
//TODO: VPOPCNTW X25, K3, X2 // 6292fd0b54d1 VPOPCNTW X25, K3, X2 // 6292fd0b54d1
//TODO: VPOPCNTW (CX), K3, X2 // 62f2fd0b5411 VPOPCNTW (CX), K3, X2 // 62f2fd0b5411
//TODO: VPOPCNTW 99(R15), K3, X2 // 62d2fd0b549763000000 VPOPCNTW 99(R15), K3, X2 // 62d2fd0b549763000000
//TODO: VPOPCNTW Y13, K3, Y21 // 62c2fd2b54ed VPOPCNTW Y13, K3, Y21 // 62c2fd2b54ed
//TODO: VPOPCNTW Y18, K3, Y21 // 62a2fd2b54ea VPOPCNTW Y18, K3, Y21 // 62a2fd2b54ea
//TODO: VPOPCNTW Y24, K3, Y21 // 6282fd2b54e8 VPOPCNTW Y24, K3, Y21 // 6282fd2b54e8
//TODO: VPOPCNTW (SI), K3, Y21 // 62e2fd2b542e VPOPCNTW (SI), K3, Y21 // 62e2fd2b542e
//TODO: VPOPCNTW 7(SI)(DI*2), K3, Y21 // 62e2fd2b54ac7e07000000 VPOPCNTW 7(SI)(DI*2), K3, Y21 // 62e2fd2b54ac7e07000000
//TODO: VPOPCNTW Y13, K3, Y7 // 62d2fd2b54fd VPOPCNTW Y13, K3, Y7 // 62d2fd2b54fd
//TODO: VPOPCNTW Y18, K3, Y7 // 62b2fd2b54fa VPOPCNTW Y18, K3, Y7 // 62b2fd2b54fa
//TODO: VPOPCNTW Y24, K3, Y7 // 6292fd2b54f8 VPOPCNTW Y24, K3, Y7 // 6292fd2b54f8
//TODO: VPOPCNTW (SI), K3, Y7 // 62f2fd2b543e VPOPCNTW (SI), K3, Y7 // 62f2fd2b543e
//TODO: VPOPCNTW 7(SI)(DI*2), K3, Y7 // 62f2fd2b54bc7e07000000 VPOPCNTW 7(SI)(DI*2), K3, Y7 // 62f2fd2b54bc7e07000000
//TODO: VPOPCNTW Y13, K3, Y30 // 6242fd2b54f5 VPOPCNTW Y13, K3, Y30 // 6242fd2b54f5
//TODO: VPOPCNTW Y18, K3, Y30 // 6222fd2b54f2 VPOPCNTW Y18, K3, Y30 // 6222fd2b54f2
//TODO: VPOPCNTW Y24, K3, Y30 // 6202fd2b54f0 VPOPCNTW Y24, K3, Y30 // 6202fd2b54f0
//TODO: VPOPCNTW (SI), K3, Y30 // 6262fd2b5436 VPOPCNTW (SI), K3, Y30 // 6262fd2b5436
//TODO: VPOPCNTW 7(SI)(DI*2), K3, Y30 // 6262fd2b54b47e07000000 VPOPCNTW 7(SI)(DI*2), K3, Y30 // 6262fd2b54b47e07000000
//TODO: VPOPCNTW Z28, K3, Z12 // 6212fd4b54e4 VPOPCNTW Z28, K3, Z12 // 6212fd4b54e4
//TODO: VPOPCNTW Z13, K3, Z12 // 6252fd4b54e5 VPOPCNTW Z13, K3, Z12 // 6252fd4b54e5
//TODO: VPOPCNTW 7(AX), K3, Z12 // 6272fd4b54a007000000 VPOPCNTW 7(AX), K3, Z12 // 6272fd4b54a007000000
//TODO: VPOPCNTW (DI), K3, Z12 // 6272fd4b5427 VPOPCNTW (DI), K3, Z12 // 6272fd4b5427
//TODO: VPOPCNTW Z28, K3, Z16 // 6282fd4b54c4 VPOPCNTW Z28, K3, Z16 // 6282fd4b54c4
//TODO: VPOPCNTW Z13, K3, Z16 // 62c2fd4b54c5 VPOPCNTW Z13, K3, Z16 // 62c2fd4b54c5
//TODO: VPOPCNTW 7(AX), K3, Z16 // 62e2fd4b548007000000 VPOPCNTW 7(AX), K3, Z16 // 62e2fd4b548007000000
//TODO: VPOPCNTW (DI), K3, Z16 // 62e2fd4b5407 VPOPCNTW (DI), K3, Z16 // 62e2fd4b5407
//TODO: VPSHUFBITQMB X24, X7, K6, K0 // 6292450e8fc0 VPSHUFBITQMB X24, X7, K6, K0 // 6292450e8fc0
//TODO: VPSHUFBITQMB X7, X7, K6, K0 // 62f2450e8fc7 VPSHUFBITQMB X7, X7, K6, K0 // 62f2450e8fc7
//TODO: VPSHUFBITQMB X0, X7, K6, K0 // 62f2450e8fc0 VPSHUFBITQMB X0, X7, K6, K0 // 62f2450e8fc0
//TODO: VPSHUFBITQMB (R8), X7, K6, K0 // 62d2450e8f00 VPSHUFBITQMB (R8), X7, K6, K0 // 62d2450e8f00
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K0 // 62f2450e8f845a0f000000 VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K0 // 62f2450e8f845a0f000000
//TODO: VPSHUFBITQMB X24, X13, K6, K0 // 6292150e8fc0 VPSHUFBITQMB X24, X13, K6, K0 // 6292150e8fc0
//TODO: VPSHUFBITQMB X7, X13, K6, K0 // 62f2150e8fc7 VPSHUFBITQMB X7, X13, K6, K0 // 62f2150e8fc7
//TODO: VPSHUFBITQMB X0, X13, K6, K0 // 62f2150e8fc0 VPSHUFBITQMB X0, X13, K6, K0 // 62f2150e8fc0
//TODO: VPSHUFBITQMB (R8), X13, K6, K0 // 62d2150e8f00 VPSHUFBITQMB (R8), X13, K6, K0 // 62d2150e8f00
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K0 // 62f2150e8f845a0f000000 VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K0 // 62f2150e8f845a0f000000
//TODO: VPSHUFBITQMB X24, X8, K6, K0 // 62923d0e8fc0 VPSHUFBITQMB X24, X8, K6, K0 // 62923d0e8fc0
//TODO: VPSHUFBITQMB X7, X8, K6, K0 // 62f23d0e8fc7 VPSHUFBITQMB X7, X8, K6, K0 // 62f23d0e8fc7
//TODO: VPSHUFBITQMB X0, X8, K6, K0 // 62f23d0e8fc0 VPSHUFBITQMB X0, X8, K6, K0 // 62f23d0e8fc0
//TODO: VPSHUFBITQMB (R8), X8, K6, K0 // 62d23d0e8f00 VPSHUFBITQMB (R8), X8, K6, K0 // 62d23d0e8f00
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K0 // 62f23d0e8f845a0f000000 VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K0 // 62f23d0e8f845a0f000000
//TODO: VPSHUFBITQMB X24, X7, K6, K5 // 6292450e8fe8 VPSHUFBITQMB X24, X7, K6, K5 // 6292450e8fe8
//TODO: VPSHUFBITQMB X7, X7, K6, K5 // 62f2450e8fef VPSHUFBITQMB X7, X7, K6, K5 // 62f2450e8fef
//TODO: VPSHUFBITQMB X0, X7, K6, K5 // 62f2450e8fe8 VPSHUFBITQMB X0, X7, K6, K5 // 62f2450e8fe8
//TODO: VPSHUFBITQMB (R8), X7, K6, K5 // 62d2450e8f28 VPSHUFBITQMB (R8), X7, K6, K5 // 62d2450e8f28
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K5 // 62f2450e8fac5a0f000000 VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K5 // 62f2450e8fac5a0f000000
//TODO: VPSHUFBITQMB X24, X13, K6, K5 // 6292150e8fe8 VPSHUFBITQMB X24, X13, K6, K5 // 6292150e8fe8
//TODO: VPSHUFBITQMB X7, X13, K6, K5 // 62f2150e8fef VPSHUFBITQMB X7, X13, K6, K5 // 62f2150e8fef
//TODO: VPSHUFBITQMB X0, X13, K6, K5 // 62f2150e8fe8 VPSHUFBITQMB X0, X13, K6, K5 // 62f2150e8fe8
//TODO: VPSHUFBITQMB (R8), X13, K6, K5 // 62d2150e8f28 VPSHUFBITQMB (R8), X13, K6, K5 // 62d2150e8f28
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K5 // 62f2150e8fac5a0f000000 VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K5 // 62f2150e8fac5a0f000000
//TODO: VPSHUFBITQMB X24, X8, K6, K5 // 62923d0e8fe8 VPSHUFBITQMB X24, X8, K6, K5 // 62923d0e8fe8
//TODO: VPSHUFBITQMB X7, X8, K6, K5 // 62f23d0e8fef VPSHUFBITQMB X7, X8, K6, K5 // 62f23d0e8fef
//TODO: VPSHUFBITQMB X0, X8, K6, K5 // 62f23d0e8fe8 VPSHUFBITQMB X0, X8, K6, K5 // 62f23d0e8fe8
//TODO: VPSHUFBITQMB (R8), X8, K6, K5 // 62d23d0e8f28 VPSHUFBITQMB (R8), X8, K6, K5 // 62d23d0e8f28
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K5 // 62f23d0e8fac5a0f000000 VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K5 // 62f23d0e8fac5a0f000000
//TODO: VPSHUFBITQMB Y14, Y2, K3, K6 // 62d26d2b8ff6 VPSHUFBITQMB Y14, Y2, K3, K6 // 62d26d2b8ff6
//TODO: VPSHUFBITQMB Y8, Y2, K3, K6 // 62d26d2b8ff0 VPSHUFBITQMB Y8, Y2, K3, K6 // 62d26d2b8ff0
//TODO: VPSHUFBITQMB Y20, Y2, K3, K6 // 62b26d2b8ff4 VPSHUFBITQMB Y20, Y2, K3, K6 // 62b26d2b8ff4
//TODO: VPSHUFBITQMB -17(BP), Y2, K3, K6 // 62f26d2b8fb5efffffff VPSHUFBITQMB -17(BP), Y2, K3, K6 // 62f26d2b8fb5efffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K6 // 62926d2b8fb4fef1ffffff VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K6 // 62926d2b8fb4fef1ffffff
//TODO: VPSHUFBITQMB Y14, Y7, K3, K6 // 62d2452b8ff6 VPSHUFBITQMB Y14, Y7, K3, K6 // 62d2452b8ff6
//TODO: VPSHUFBITQMB Y8, Y7, K3, K6 // 62d2452b8ff0 VPSHUFBITQMB Y8, Y7, K3, K6 // 62d2452b8ff0
//TODO: VPSHUFBITQMB Y20, Y7, K3, K6 // 62b2452b8ff4 VPSHUFBITQMB Y20, Y7, K3, K6 // 62b2452b8ff4
//TODO: VPSHUFBITQMB -17(BP), Y7, K3, K6 // 62f2452b8fb5efffffff VPSHUFBITQMB -17(BP), Y7, K3, K6 // 62f2452b8fb5efffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K6 // 6292452b8fb4fef1ffffff VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K6 // 6292452b8fb4fef1ffffff
//TODO: VPSHUFBITQMB Y14, Y21, K3, K6 // 62d255238ff6 VPSHUFBITQMB Y14, Y21, K3, K6 // 62d255238ff6
//TODO: VPSHUFBITQMB Y8, Y21, K3, K6 // 62d255238ff0 VPSHUFBITQMB Y8, Y21, K3, K6 // 62d255238ff0
//TODO: VPSHUFBITQMB Y20, Y21, K3, K6 // 62b255238ff4 VPSHUFBITQMB Y20, Y21, K3, K6 // 62b255238ff4
//TODO: VPSHUFBITQMB -17(BP), Y21, K3, K6 // 62f255238fb5efffffff VPSHUFBITQMB -17(BP), Y21, K3, K6 // 62f255238fb5efffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K6 // 629255238fb4fef1ffffff VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K6 // 629255238fb4fef1ffffff
//TODO: VPSHUFBITQMB Y14, Y2, K3, K5 // 62d26d2b8fee VPSHUFBITQMB Y14, Y2, K3, K5 // 62d26d2b8fee
//TODO: VPSHUFBITQMB Y8, Y2, K3, K5 // 62d26d2b8fe8 VPSHUFBITQMB Y8, Y2, K3, K5 // 62d26d2b8fe8
//TODO: VPSHUFBITQMB Y20, Y2, K3, K5 // 62b26d2b8fec VPSHUFBITQMB Y20, Y2, K3, K5 // 62b26d2b8fec
//TODO: VPSHUFBITQMB -17(BP), Y2, K3, K5 // 62f26d2b8fadefffffff VPSHUFBITQMB -17(BP), Y2, K3, K5 // 62f26d2b8fadefffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K5 // 62926d2b8facfef1ffffff VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K5 // 62926d2b8facfef1ffffff
//TODO: VPSHUFBITQMB Y14, Y7, K3, K5 // 62d2452b8fee VPSHUFBITQMB Y14, Y7, K3, K5 // 62d2452b8fee
//TODO: VPSHUFBITQMB Y8, Y7, K3, K5 // 62d2452b8fe8 VPSHUFBITQMB Y8, Y7, K3, K5 // 62d2452b8fe8
//TODO: VPSHUFBITQMB Y20, Y7, K3, K5 // 62b2452b8fec VPSHUFBITQMB Y20, Y7, K3, K5 // 62b2452b8fec
//TODO: VPSHUFBITQMB -17(BP), Y7, K3, K5 // 62f2452b8fadefffffff VPSHUFBITQMB -17(BP), Y7, K3, K5 // 62f2452b8fadefffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K5 // 6292452b8facfef1ffffff VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K5 // 6292452b8facfef1ffffff
//TODO: VPSHUFBITQMB Y14, Y21, K3, K5 // 62d255238fee VPSHUFBITQMB Y14, Y21, K3, K5 // 62d255238fee
//TODO: VPSHUFBITQMB Y8, Y21, K3, K5 // 62d255238fe8 VPSHUFBITQMB Y8, Y21, K3, K5 // 62d255238fe8
//TODO: VPSHUFBITQMB Y20, Y21, K3, K5 // 62b255238fec VPSHUFBITQMB Y20, Y21, K3, K5 // 62b255238fec
//TODO: VPSHUFBITQMB -17(BP), Y21, K3, K5 // 62f255238fadefffffff VPSHUFBITQMB -17(BP), Y21, K3, K5 // 62f255238fadefffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K5 // 629255238facfef1ffffff VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K5 // 629255238facfef1ffffff
//TODO: VPSHUFBITQMB Z3, Z6, K7, K1 // 62f24d4f8fcb VPSHUFBITQMB Z3, Z6, K7, K1 // 62f24d4f8fcb
//TODO: VPSHUFBITQMB Z21, Z6, K7, K1 // 62b24d4f8fcd VPSHUFBITQMB Z21, Z6, K7, K1 // 62b24d4f8fcd
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K1 // 62924d4f8f8c3ef1ffffff VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K1 // 62924d4f8f8c3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z6, K7, K1 // 62f24d4f8f8bf1ffffff VPSHUFBITQMB -15(BX), Z6, K7, K1 // 62f24d4f8f8bf1ffffff
//TODO: VPSHUFBITQMB Z3, Z25, K7, K1 // 62f235478fcb VPSHUFBITQMB Z3, Z25, K7, K1 // 62f235478fcb
//TODO: VPSHUFBITQMB Z21, Z25, K7, K1 // 62b235478fcd VPSHUFBITQMB Z21, Z25, K7, K1 // 62b235478fcd
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K1 // 629235478f8c3ef1ffffff VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K1 // 629235478f8c3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z25, K7, K1 // 62f235478f8bf1ffffff VPSHUFBITQMB -15(BX), Z25, K7, K1 // 62f235478f8bf1ffffff
//TODO: VPSHUFBITQMB Z3, Z6, K7, K5 // 62f24d4f8feb VPSHUFBITQMB Z3, Z6, K7, K5 // 62f24d4f8feb
//TODO: VPSHUFBITQMB Z21, Z6, K7, K5 // 62b24d4f8fed VPSHUFBITQMB Z21, Z6, K7, K5 // 62b24d4f8fed
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K5 // 62924d4f8fac3ef1ffffff VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K5 // 62924d4f8fac3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z6, K7, K5 // 62f24d4f8fabf1ffffff VPSHUFBITQMB -15(BX), Z6, K7, K5 // 62f24d4f8fabf1ffffff
//TODO: VPSHUFBITQMB Z3, Z25, K7, K5 // 62f235478feb VPSHUFBITQMB Z3, Z25, K7, K5 // 62f235478feb
//TODO: VPSHUFBITQMB Z21, Z25, K7, K5 // 62b235478fed VPSHUFBITQMB Z21, Z25, K7, K5 // 62b235478fed
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K5 // 629235478fac3ef1ffffff VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K5 // 629235478fac3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z25, K7, K5 // 62f235478fabf1ffffff VPSHUFBITQMB -15(BX), Z25, K7, K5 // 62f235478fabf1ffffff
RET RET
...@@ -3,192 +3,192 @@ ...@@ -3,192 +3,192 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_ifma(SB), NOSPLIT, $0 TEXT asmtest_avx512_ifma(SB), NOSPLIT, $0
//TODO: VPMADD52HUQ X7, X11, K1, X18 // 62e2a509b5d7 VPMADD52HUQ X7, X11, K1, X18 // 62e2a509b5d7
//TODO: VPMADD52HUQ X0, X11, K1, X18 // 62e2a509b5d0 VPMADD52HUQ X0, X11, K1, X18 // 62e2a509b5d0
//TODO: VPMADD52HUQ 17(SP)(BP*2), X11, K1, X18 // 62e2a509b5946c11000000 VPMADD52HUQ 17(SP)(BP*2), X11, K1, X18 // 62e2a509b5946c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X11, K1, X18 // 62a2a509b59487f9ffffff VPMADD52HUQ -7(DI)(R8*4), X11, K1, X18 // 62a2a509b59487f9ffffff
//TODO: VPMADD52HUQ X7, X31, K1, X18 // 62e28501b5d7 VPMADD52HUQ X7, X31, K1, X18 // 62e28501b5d7
//TODO: VPMADD52HUQ X0, X31, K1, X18 // 62e28501b5d0 VPMADD52HUQ X0, X31, K1, X18 // 62e28501b5d0
//TODO: VPMADD52HUQ 17(SP)(BP*2), X31, K1, X18 // 62e28501b5946c11000000 VPMADD52HUQ 17(SP)(BP*2), X31, K1, X18 // 62e28501b5946c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X31, K1, X18 // 62a28501b59487f9ffffff VPMADD52HUQ -7(DI)(R8*4), X31, K1, X18 // 62a28501b59487f9ffffff
//TODO: VPMADD52HUQ X7, X3, K1, X18 // 62e2e509b5d7 VPMADD52HUQ X7, X3, K1, X18 // 62e2e509b5d7
//TODO: VPMADD52HUQ X0, X3, K1, X18 // 62e2e509b5d0 VPMADD52HUQ X0, X3, K1, X18 // 62e2e509b5d0
//TODO: VPMADD52HUQ 17(SP)(BP*2), X3, K1, X18 // 62e2e509b5946c11000000 VPMADD52HUQ 17(SP)(BP*2), X3, K1, X18 // 62e2e509b5946c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X3, K1, X18 // 62a2e509b59487f9ffffff VPMADD52HUQ -7(DI)(R8*4), X3, K1, X18 // 62a2e509b59487f9ffffff
//TODO: VPMADD52HUQ X7, X11, K1, X21 // 62e2a509b5ef VPMADD52HUQ X7, X11, K1, X21 // 62e2a509b5ef
//TODO: VPMADD52HUQ X0, X11, K1, X21 // 62e2a509b5e8 VPMADD52HUQ X0, X11, K1, X21 // 62e2a509b5e8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X11, K1, X21 // 62e2a509b5ac6c11000000 VPMADD52HUQ 17(SP)(BP*2), X11, K1, X21 // 62e2a509b5ac6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X11, K1, X21 // 62a2a509b5ac87f9ffffff VPMADD52HUQ -7(DI)(R8*4), X11, K1, X21 // 62a2a509b5ac87f9ffffff
//TODO: VPMADD52HUQ X7, X31, K1, X21 // 62e28501b5ef VPMADD52HUQ X7, X31, K1, X21 // 62e28501b5ef
//TODO: VPMADD52HUQ X0, X31, K1, X21 // 62e28501b5e8 VPMADD52HUQ X0, X31, K1, X21 // 62e28501b5e8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X31, K1, X21 // 62e28501b5ac6c11000000 VPMADD52HUQ 17(SP)(BP*2), X31, K1, X21 // 62e28501b5ac6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X31, K1, X21 // 62a28501b5ac87f9ffffff VPMADD52HUQ -7(DI)(R8*4), X31, K1, X21 // 62a28501b5ac87f9ffffff
//TODO: VPMADD52HUQ X7, X3, K1, X21 // 62e2e509b5ef VPMADD52HUQ X7, X3, K1, X21 // 62e2e509b5ef
//TODO: VPMADD52HUQ X0, X3, K1, X21 // 62e2e509b5e8 VPMADD52HUQ X0, X3, K1, X21 // 62e2e509b5e8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X3, K1, X21 // 62e2e509b5ac6c11000000 VPMADD52HUQ 17(SP)(BP*2), X3, K1, X21 // 62e2e509b5ac6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X3, K1, X21 // 62a2e509b5ac87f9ffffff VPMADD52HUQ -7(DI)(R8*4), X3, K1, X21 // 62a2e509b5ac87f9ffffff
//TODO: VPMADD52HUQ X7, X11, K1, X1 // 62f2a509b5cf VPMADD52HUQ X7, X11, K1, X1 // 62f2a509b5cf
//TODO: VPMADD52HUQ X0, X11, K1, X1 // 62f2a509b5c8 VPMADD52HUQ X0, X11, K1, X1 // 62f2a509b5c8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X11, K1, X1 // 62f2a509b58c6c11000000 VPMADD52HUQ 17(SP)(BP*2), X11, K1, X1 // 62f2a509b58c6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X11, K1, X1 // 62b2a509b58c87f9ffffff VPMADD52HUQ -7(DI)(R8*4), X11, K1, X1 // 62b2a509b58c87f9ffffff
//TODO: VPMADD52HUQ X7, X31, K1, X1 // 62f28501b5cf VPMADD52HUQ X7, X31, K1, X1 // 62f28501b5cf
//TODO: VPMADD52HUQ X0, X31, K1, X1 // 62f28501b5c8 VPMADD52HUQ X0, X31, K1, X1 // 62f28501b5c8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X31, K1, X1 // 62f28501b58c6c11000000 VPMADD52HUQ 17(SP)(BP*2), X31, K1, X1 // 62f28501b58c6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X31, K1, X1 // 62b28501b58c87f9ffffff VPMADD52HUQ -7(DI)(R8*4), X31, K1, X1 // 62b28501b58c87f9ffffff
//TODO: VPMADD52HUQ X7, X3, K1, X1 // 62f2e509b5cf VPMADD52HUQ X7, X3, K1, X1 // 62f2e509b5cf
//TODO: VPMADD52HUQ X0, X3, K1, X1 // 62f2e509b5c8 VPMADD52HUQ X0, X3, K1, X1 // 62f2e509b5c8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X3, K1, X1 // 62f2e509b58c6c11000000 VPMADD52HUQ 17(SP)(BP*2), X3, K1, X1 // 62f2e509b58c6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X3, K1, X1 // 62b2e509b58c87f9ffffff VPMADD52HUQ -7(DI)(R8*4), X3, K1, X1 // 62b2e509b58c87f9ffffff
//TODO: VPMADD52HUQ Y28, Y31, K7, Y17 // 62828527b5cc VPMADD52HUQ Y28, Y31, K7, Y17 // 62828527b5cc
//TODO: VPMADD52HUQ Y13, Y31, K7, Y17 // 62c28527b5cd VPMADD52HUQ Y13, Y31, K7, Y17 // 62c28527b5cd
//TODO: VPMADD52HUQ Y7, Y31, K7, Y17 // 62e28527b5cf VPMADD52HUQ Y7, Y31, K7, Y17 // 62e28527b5cf
//TODO: VPMADD52HUQ (R8), Y31, K7, Y17 // 62c28527b508 VPMADD52HUQ (R8), Y31, K7, Y17 // 62c28527b508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y17 // 62e28527b58c5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y17 // 62e28527b58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y8, K7, Y17 // 6282bd2fb5cc VPMADD52HUQ Y28, Y8, K7, Y17 // 6282bd2fb5cc
//TODO: VPMADD52HUQ Y13, Y8, K7, Y17 // 62c2bd2fb5cd VPMADD52HUQ Y13, Y8, K7, Y17 // 62c2bd2fb5cd
//TODO: VPMADD52HUQ Y7, Y8, K7, Y17 // 62e2bd2fb5cf VPMADD52HUQ Y7, Y8, K7, Y17 // 62e2bd2fb5cf
//TODO: VPMADD52HUQ (R8), Y8, K7, Y17 // 62c2bd2fb508 VPMADD52HUQ (R8), Y8, K7, Y17 // 62c2bd2fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y17 // 62e2bd2fb58c5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y17 // 62e2bd2fb58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y1, K7, Y17 // 6282f52fb5cc VPMADD52HUQ Y28, Y1, K7, Y17 // 6282f52fb5cc
//TODO: VPMADD52HUQ Y13, Y1, K7, Y17 // 62c2f52fb5cd VPMADD52HUQ Y13, Y1, K7, Y17 // 62c2f52fb5cd
//TODO: VPMADD52HUQ Y7, Y1, K7, Y17 // 62e2f52fb5cf VPMADD52HUQ Y7, Y1, K7, Y17 // 62e2f52fb5cf
//TODO: VPMADD52HUQ (R8), Y1, K7, Y17 // 62c2f52fb508 VPMADD52HUQ (R8), Y1, K7, Y17 // 62c2f52fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y17 // 62e2f52fb58c5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y17 // 62e2f52fb58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y31, K7, Y7 // 62928527b5fc VPMADD52HUQ Y28, Y31, K7, Y7 // 62928527b5fc
//TODO: VPMADD52HUQ Y13, Y31, K7, Y7 // 62d28527b5fd VPMADD52HUQ Y13, Y31, K7, Y7 // 62d28527b5fd
//TODO: VPMADD52HUQ Y7, Y31, K7, Y7 // 62f28527b5ff VPMADD52HUQ Y7, Y31, K7, Y7 // 62f28527b5ff
//TODO: VPMADD52HUQ (R8), Y31, K7, Y7 // 62d28527b538 VPMADD52HUQ (R8), Y31, K7, Y7 // 62d28527b538
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y7 // 62f28527b5bc5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y7 // 62f28527b5bc5a0f000000
//TODO: VPMADD52HUQ Y28, Y8, K7, Y7 // 6292bd2fb5fc VPMADD52HUQ Y28, Y8, K7, Y7 // 6292bd2fb5fc
//TODO: VPMADD52HUQ Y13, Y8, K7, Y7 // 62d2bd2fb5fd VPMADD52HUQ Y13, Y8, K7, Y7 // 62d2bd2fb5fd
//TODO: VPMADD52HUQ Y7, Y8, K7, Y7 // 62f2bd2fb5ff VPMADD52HUQ Y7, Y8, K7, Y7 // 62f2bd2fb5ff
//TODO: VPMADD52HUQ (R8), Y8, K7, Y7 // 62d2bd2fb538 VPMADD52HUQ (R8), Y8, K7, Y7 // 62d2bd2fb538
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y7 // 62f2bd2fb5bc5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y7 // 62f2bd2fb5bc5a0f000000
//TODO: VPMADD52HUQ Y28, Y1, K7, Y7 // 6292f52fb5fc VPMADD52HUQ Y28, Y1, K7, Y7 // 6292f52fb5fc
//TODO: VPMADD52HUQ Y13, Y1, K7, Y7 // 62d2f52fb5fd VPMADD52HUQ Y13, Y1, K7, Y7 // 62d2f52fb5fd
//TODO: VPMADD52HUQ Y7, Y1, K7, Y7 // 62f2f52fb5ff VPMADD52HUQ Y7, Y1, K7, Y7 // 62f2f52fb5ff
//TODO: VPMADD52HUQ (R8), Y1, K7, Y7 // 62d2f52fb538 VPMADD52HUQ (R8), Y1, K7, Y7 // 62d2f52fb538
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y7 // 62f2f52fb5bc5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y7 // 62f2f52fb5bc5a0f000000
//TODO: VPMADD52HUQ Y28, Y31, K7, Y9 // 62128527b5cc VPMADD52HUQ Y28, Y31, K7, Y9 // 62128527b5cc
//TODO: VPMADD52HUQ Y13, Y31, K7, Y9 // 62528527b5cd VPMADD52HUQ Y13, Y31, K7, Y9 // 62528527b5cd
//TODO: VPMADD52HUQ Y7, Y31, K7, Y9 // 62728527b5cf VPMADD52HUQ Y7, Y31, K7, Y9 // 62728527b5cf
//TODO: VPMADD52HUQ (R8), Y31, K7, Y9 // 62528527b508 VPMADD52HUQ (R8), Y31, K7, Y9 // 62528527b508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y9 // 62728527b58c5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y9 // 62728527b58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y8, K7, Y9 // 6212bd2fb5cc VPMADD52HUQ Y28, Y8, K7, Y9 // 6212bd2fb5cc
//TODO: VPMADD52HUQ Y13, Y8, K7, Y9 // 6252bd2fb5cd VPMADD52HUQ Y13, Y8, K7, Y9 // 6252bd2fb5cd
//TODO: VPMADD52HUQ Y7, Y8, K7, Y9 // 6272bd2fb5cf VPMADD52HUQ Y7, Y8, K7, Y9 // 6272bd2fb5cf
//TODO: VPMADD52HUQ (R8), Y8, K7, Y9 // 6252bd2fb508 VPMADD52HUQ (R8), Y8, K7, Y9 // 6252bd2fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y9 // 6272bd2fb58c5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y9 // 6272bd2fb58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y1, K7, Y9 // 6212f52fb5cc VPMADD52HUQ Y28, Y1, K7, Y9 // 6212f52fb5cc
//TODO: VPMADD52HUQ Y13, Y1, K7, Y9 // 6252f52fb5cd VPMADD52HUQ Y13, Y1, K7, Y9 // 6252f52fb5cd
//TODO: VPMADD52HUQ Y7, Y1, K7, Y9 // 6272f52fb5cf VPMADD52HUQ Y7, Y1, K7, Y9 // 6272f52fb5cf
//TODO: VPMADD52HUQ (R8), Y1, K7, Y9 // 6252f52fb508 VPMADD52HUQ (R8), Y1, K7, Y9 // 6252f52fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y9 // 6272f52fb58c5a0f000000 VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y9 // 6272f52fb58c5a0f000000
//TODO: VPMADD52HUQ Z23, Z23, K1, Z27 // 6222c541b5df VPMADD52HUQ Z23, Z23, K1, Z27 // 6222c541b5df
//TODO: VPMADD52HUQ Z6, Z23, K1, Z27 // 6262c541b5de VPMADD52HUQ Z6, Z23, K1, Z27 // 6262c541b5de
//TODO: VPMADD52HUQ 17(SP), Z23, K1, Z27 // 6262c541b59c2411000000 VPMADD52HUQ 17(SP), Z23, K1, Z27 // 6262c541b59c2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z27 // 6262c541b59cb5efffffff VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z27 // 6262c541b59cb5efffffff
//TODO: VPMADD52HUQ Z23, Z5, K1, Z27 // 6222d549b5df VPMADD52HUQ Z23, Z5, K1, Z27 // 6222d549b5df
//TODO: VPMADD52HUQ Z6, Z5, K1, Z27 // 6262d549b5de VPMADD52HUQ Z6, Z5, K1, Z27 // 6262d549b5de
//TODO: VPMADD52HUQ 17(SP), Z5, K1, Z27 // 6262d549b59c2411000000 VPMADD52HUQ 17(SP), Z5, K1, Z27 // 6262d549b59c2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z27 // 6262d549b59cb5efffffff VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z27 // 6262d549b59cb5efffffff
//TODO: VPMADD52HUQ Z23, Z23, K1, Z15 // 6232c541b5ff VPMADD52HUQ Z23, Z23, K1, Z15 // 6232c541b5ff
//TODO: VPMADD52HUQ Z6, Z23, K1, Z15 // 6272c541b5fe VPMADD52HUQ Z6, Z23, K1, Z15 // 6272c541b5fe
//TODO: VPMADD52HUQ 17(SP), Z23, K1, Z15 // 6272c541b5bc2411000000 VPMADD52HUQ 17(SP), Z23, K1, Z15 // 6272c541b5bc2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z15 // 6272c541b5bcb5efffffff VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z15 // 6272c541b5bcb5efffffff
//TODO: VPMADD52HUQ Z23, Z5, K1, Z15 // 6232d549b5ff VPMADD52HUQ Z23, Z5, K1, Z15 // 6232d549b5ff
//TODO: VPMADD52HUQ Z6, Z5, K1, Z15 // 6272d549b5fe VPMADD52HUQ Z6, Z5, K1, Z15 // 6272d549b5fe
//TODO: VPMADD52HUQ 17(SP), Z5, K1, Z15 // 6272d549b5bc2411000000 VPMADD52HUQ 17(SP), Z5, K1, Z15 // 6272d549b5bc2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z15 // 6272d549b5bcb5efffffff VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z15 // 6272d549b5bcb5efffffff
//TODO: VPMADD52LUQ X5, X9, K1, X24 // 6262b509b4c5 VPMADD52LUQ X5, X9, K1, X24 // 6262b509b4c5
//TODO: VPMADD52LUQ X31, X9, K1, X24 // 6202b509b4c7 VPMADD52LUQ X31, X9, K1, X24 // 6202b509b4c7
//TODO: VPMADD52LUQ X3, X9, K1, X24 // 6262b509b4c3 VPMADD52LUQ X3, X9, K1, X24 // 6262b509b4c3
//TODO: VPMADD52LUQ 15(R8), X9, K1, X24 // 6242b509b4800f000000 VPMADD52LUQ 15(R8), X9, K1, X24 // 6242b509b4800f000000
//TODO: VPMADD52LUQ (BP), X9, K1, X24 // 6262b509b44500 VPMADD52LUQ (BP), X9, K1, X24 // 6262b509b44500
//TODO: VPMADD52LUQ X5, X7, K1, X24 // 6262c509b4c5 VPMADD52LUQ X5, X7, K1, X24 // 6262c509b4c5
//TODO: VPMADD52LUQ X31, X7, K1, X24 // 6202c509b4c7 VPMADD52LUQ X31, X7, K1, X24 // 6202c509b4c7
//TODO: VPMADD52LUQ X3, X7, K1, X24 // 6262c509b4c3 VPMADD52LUQ X3, X7, K1, X24 // 6262c509b4c3
//TODO: VPMADD52LUQ 15(R8), X7, K1, X24 // 6242c509b4800f000000 VPMADD52LUQ 15(R8), X7, K1, X24 // 6242c509b4800f000000
//TODO: VPMADD52LUQ (BP), X7, K1, X24 // 6262c509b44500 VPMADD52LUQ (BP), X7, K1, X24 // 6262c509b44500
//TODO: VPMADD52LUQ X5, X14, K1, X24 // 62628d09b4c5 VPMADD52LUQ X5, X14, K1, X24 // 62628d09b4c5
//TODO: VPMADD52LUQ X31, X14, K1, X24 // 62028d09b4c7 VPMADD52LUQ X31, X14, K1, X24 // 62028d09b4c7
//TODO: VPMADD52LUQ X3, X14, K1, X24 // 62628d09b4c3 VPMADD52LUQ X3, X14, K1, X24 // 62628d09b4c3
//TODO: VPMADD52LUQ 15(R8), X14, K1, X24 // 62428d09b4800f000000 VPMADD52LUQ 15(R8), X14, K1, X24 // 62428d09b4800f000000
//TODO: VPMADD52LUQ (BP), X14, K1, X24 // 62628d09b44500 VPMADD52LUQ (BP), X14, K1, X24 // 62628d09b44500
//TODO: VPMADD52LUQ X5, X9, K1, X20 // 62e2b509b4e5 VPMADD52LUQ X5, X9, K1, X20 // 62e2b509b4e5
//TODO: VPMADD52LUQ X31, X9, K1, X20 // 6282b509b4e7 VPMADD52LUQ X31, X9, K1, X20 // 6282b509b4e7
//TODO: VPMADD52LUQ X3, X9, K1, X20 // 62e2b509b4e3 VPMADD52LUQ X3, X9, K1, X20 // 62e2b509b4e3
//TODO: VPMADD52LUQ 15(R8), X9, K1, X20 // 62c2b509b4a00f000000 VPMADD52LUQ 15(R8), X9, K1, X20 // 62c2b509b4a00f000000
//TODO: VPMADD52LUQ (BP), X9, K1, X20 // 62e2b509b46500 VPMADD52LUQ (BP), X9, K1, X20 // 62e2b509b46500
//TODO: VPMADD52LUQ X5, X7, K1, X20 // 62e2c509b4e5 VPMADD52LUQ X5, X7, K1, X20 // 62e2c509b4e5
//TODO: VPMADD52LUQ X31, X7, K1, X20 // 6282c509b4e7 VPMADD52LUQ X31, X7, K1, X20 // 6282c509b4e7
//TODO: VPMADD52LUQ X3, X7, K1, X20 // 62e2c509b4e3 VPMADD52LUQ X3, X7, K1, X20 // 62e2c509b4e3
//TODO: VPMADD52LUQ 15(R8), X7, K1, X20 // 62c2c509b4a00f000000 VPMADD52LUQ 15(R8), X7, K1, X20 // 62c2c509b4a00f000000
//TODO: VPMADD52LUQ (BP), X7, K1, X20 // 62e2c509b46500 VPMADD52LUQ (BP), X7, K1, X20 // 62e2c509b46500
//TODO: VPMADD52LUQ X5, X14, K1, X20 // 62e28d09b4e5 VPMADD52LUQ X5, X14, K1, X20 // 62e28d09b4e5
//TODO: VPMADD52LUQ X31, X14, K1, X20 // 62828d09b4e7 VPMADD52LUQ X31, X14, K1, X20 // 62828d09b4e7
//TODO: VPMADD52LUQ X3, X14, K1, X20 // 62e28d09b4e3 VPMADD52LUQ X3, X14, K1, X20 // 62e28d09b4e3
//TODO: VPMADD52LUQ 15(R8), X14, K1, X20 // 62c28d09b4a00f000000 VPMADD52LUQ 15(R8), X14, K1, X20 // 62c28d09b4a00f000000
//TODO: VPMADD52LUQ (BP), X14, K1, X20 // 62e28d09b46500 VPMADD52LUQ (BP), X14, K1, X20 // 62e28d09b46500
//TODO: VPMADD52LUQ X5, X9, K1, X7 // 62f2b509b4fd VPMADD52LUQ X5, X9, K1, X7 // 62f2b509b4fd
//TODO: VPMADD52LUQ X31, X9, K1, X7 // 6292b509b4ff VPMADD52LUQ X31, X9, K1, X7 // 6292b509b4ff
//TODO: VPMADD52LUQ X3, X9, K1, X7 // 62f2b509b4fb VPMADD52LUQ X3, X9, K1, X7 // 62f2b509b4fb
//TODO: VPMADD52LUQ 15(R8), X9, K1, X7 // 62d2b509b4b80f000000 VPMADD52LUQ 15(R8), X9, K1, X7 // 62d2b509b4b80f000000
//TODO: VPMADD52LUQ (BP), X9, K1, X7 // 62f2b509b47d00 VPMADD52LUQ (BP), X9, K1, X7 // 62f2b509b47d00
//TODO: VPMADD52LUQ X5, X7, K1, X7 // 62f2c509b4fd VPMADD52LUQ X5, X7, K1, X7 // 62f2c509b4fd
//TODO: VPMADD52LUQ X31, X7, K1, X7 // 6292c509b4ff VPMADD52LUQ X31, X7, K1, X7 // 6292c509b4ff
//TODO: VPMADD52LUQ X3, X7, K1, X7 // 62f2c509b4fb VPMADD52LUQ X3, X7, K1, X7 // 62f2c509b4fb
//TODO: VPMADD52LUQ 15(R8), X7, K1, X7 // 62d2c509b4b80f000000 VPMADD52LUQ 15(R8), X7, K1, X7 // 62d2c509b4b80f000000
//TODO: VPMADD52LUQ (BP), X7, K1, X7 // 62f2c509b47d00 VPMADD52LUQ (BP), X7, K1, X7 // 62f2c509b47d00
//TODO: VPMADD52LUQ X5, X14, K1, X7 // 62f28d09b4fd VPMADD52LUQ X5, X14, K1, X7 // 62f28d09b4fd
//TODO: VPMADD52LUQ X31, X14, K1, X7 // 62928d09b4ff VPMADD52LUQ X31, X14, K1, X7 // 62928d09b4ff
//TODO: VPMADD52LUQ X3, X14, K1, X7 // 62f28d09b4fb VPMADD52LUQ X3, X14, K1, X7 // 62f28d09b4fb
//TODO: VPMADD52LUQ 15(R8), X14, K1, X7 // 62d28d09b4b80f000000 VPMADD52LUQ 15(R8), X14, K1, X7 // 62d28d09b4b80f000000
//TODO: VPMADD52LUQ (BP), X14, K1, X7 // 62f28d09b47d00 VPMADD52LUQ (BP), X14, K1, X7 // 62f28d09b47d00
//TODO: VPMADD52LUQ Y3, Y9, K1, Y2 // 62f2b529b4d3 VPMADD52LUQ Y3, Y9, K1, Y2 // 62f2b529b4d3
//TODO: VPMADD52LUQ Y2, Y9, K1, Y2 // 62f2b529b4d2 VPMADD52LUQ Y2, Y9, K1, Y2 // 62f2b529b4d2
//TODO: VPMADD52LUQ Y9, Y9, K1, Y2 // 62d2b529b4d1 VPMADD52LUQ Y9, Y9, K1, Y2 // 62d2b529b4d1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y2 // 62f2b529b4942c11000000 VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y2 // 62f2b529b4942c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y2 // 62f2b529b494d1f9ffffff VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y2 // 62f2b529b494d1f9ffffff
//TODO: VPMADD52LUQ Y3, Y1, K1, Y2 // 62f2f529b4d3 VPMADD52LUQ Y3, Y1, K1, Y2 // 62f2f529b4d3
//TODO: VPMADD52LUQ Y2, Y1, K1, Y2 // 62f2f529b4d2 VPMADD52LUQ Y2, Y1, K1, Y2 // 62f2f529b4d2
//TODO: VPMADD52LUQ Y9, Y1, K1, Y2 // 62d2f529b4d1 VPMADD52LUQ Y9, Y1, K1, Y2 // 62d2f529b4d1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y2 // 62f2f529b4942c11000000 VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y2 // 62f2f529b4942c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y2 // 62f2f529b494d1f9ffffff VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y2 // 62f2f529b494d1f9ffffff
//TODO: VPMADD52LUQ Y3, Y9, K1, Y21 // 62e2b529b4eb VPMADD52LUQ Y3, Y9, K1, Y21 // 62e2b529b4eb
//TODO: VPMADD52LUQ Y2, Y9, K1, Y21 // 62e2b529b4ea VPMADD52LUQ Y2, Y9, K1, Y21 // 62e2b529b4ea
//TODO: VPMADD52LUQ Y9, Y9, K1, Y21 // 62c2b529b4e9 VPMADD52LUQ Y9, Y9, K1, Y21 // 62c2b529b4e9
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y21 // 62e2b529b4ac2c11000000 VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y21 // 62e2b529b4ac2c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y21 // 62e2b529b4acd1f9ffffff VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y21 // 62e2b529b4acd1f9ffffff
//TODO: VPMADD52LUQ Y3, Y1, K1, Y21 // 62e2f529b4eb VPMADD52LUQ Y3, Y1, K1, Y21 // 62e2f529b4eb
//TODO: VPMADD52LUQ Y2, Y1, K1, Y21 // 62e2f529b4ea VPMADD52LUQ Y2, Y1, K1, Y21 // 62e2f529b4ea
//TODO: VPMADD52LUQ Y9, Y1, K1, Y21 // 62c2f529b4e9 VPMADD52LUQ Y9, Y1, K1, Y21 // 62c2f529b4e9
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y21 // 62e2f529b4ac2c11000000 VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y21 // 62e2f529b4ac2c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y21 // 62e2f529b4acd1f9ffffff VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y21 // 62e2f529b4acd1f9ffffff
//TODO: VPMADD52LUQ Y3, Y9, K1, Y12 // 6272b529b4e3 VPMADD52LUQ Y3, Y9, K1, Y12 // 6272b529b4e3
//TODO: VPMADD52LUQ Y2, Y9, K1, Y12 // 6272b529b4e2 VPMADD52LUQ Y2, Y9, K1, Y12 // 6272b529b4e2
//TODO: VPMADD52LUQ Y9, Y9, K1, Y12 // 6252b529b4e1 VPMADD52LUQ Y9, Y9, K1, Y12 // 6252b529b4e1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y12 // 6272b529b4a42c11000000 VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y12 // 6272b529b4a42c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y12 // 6272b529b4a4d1f9ffffff VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y12 // 6272b529b4a4d1f9ffffff
//TODO: VPMADD52LUQ Y3, Y1, K1, Y12 // 6272f529b4e3 VPMADD52LUQ Y3, Y1, K1, Y12 // 6272f529b4e3
//TODO: VPMADD52LUQ Y2, Y1, K1, Y12 // 6272f529b4e2 VPMADD52LUQ Y2, Y1, K1, Y12 // 6272f529b4e2
//TODO: VPMADD52LUQ Y9, Y1, K1, Y12 // 6252f529b4e1 VPMADD52LUQ Y9, Y1, K1, Y12 // 6252f529b4e1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y12 // 6272f529b4a42c11000000 VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y12 // 6272f529b4a42c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y12 // 6272f529b4a4d1f9ffffff VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y12 // 6272f529b4a4d1f9ffffff
//TODO: VPMADD52LUQ Z16, Z21, K7, Z8 // 6232d547b4c0 VPMADD52LUQ Z16, Z21, K7, Z8 // 6232d547b4c0
//TODO: VPMADD52LUQ Z13, Z21, K7, Z8 // 6252d547b4c5 VPMADD52LUQ Z13, Z21, K7, Z8 // 6252d547b4c5
//TODO: VPMADD52LUQ 7(AX), Z21, K7, Z8 // 6272d547b48007000000 VPMADD52LUQ 7(AX), Z21, K7, Z8 // 6272d547b48007000000
//TODO: VPMADD52LUQ (DI), Z21, K7, Z8 // 6272d547b407 VPMADD52LUQ (DI), Z21, K7, Z8 // 6272d547b407
//TODO: VPMADD52LUQ Z16, Z5, K7, Z8 // 6232d54fb4c0 VPMADD52LUQ Z16, Z5, K7, Z8 // 6232d54fb4c0
//TODO: VPMADD52LUQ Z13, Z5, K7, Z8 // 6252d54fb4c5 VPMADD52LUQ Z13, Z5, K7, Z8 // 6252d54fb4c5
//TODO: VPMADD52LUQ 7(AX), Z5, K7, Z8 // 6272d54fb48007000000 VPMADD52LUQ 7(AX), Z5, K7, Z8 // 6272d54fb48007000000
//TODO: VPMADD52LUQ (DI), Z5, K7, Z8 // 6272d54fb407 VPMADD52LUQ (DI), Z5, K7, Z8 // 6272d54fb407
//TODO: VPMADD52LUQ Z16, Z21, K7, Z28 // 6222d547b4e0 VPMADD52LUQ Z16, Z21, K7, Z28 // 6222d547b4e0
//TODO: VPMADD52LUQ Z13, Z21, K7, Z28 // 6242d547b4e5 VPMADD52LUQ Z13, Z21, K7, Z28 // 6242d547b4e5
//TODO: VPMADD52LUQ 7(AX), Z21, K7, Z28 // 6262d547b4a007000000 VPMADD52LUQ 7(AX), Z21, K7, Z28 // 6262d547b4a007000000
//TODO: VPMADD52LUQ (DI), Z21, K7, Z28 // 6262d547b427 VPMADD52LUQ (DI), Z21, K7, Z28 // 6262d547b427
//TODO: VPMADD52LUQ Z16, Z5, K7, Z28 // 6222d54fb4e0 VPMADD52LUQ Z16, Z5, K7, Z28 // 6222d54fb4e0
//TODO: VPMADD52LUQ Z13, Z5, K7, Z28 // 6242d54fb4e5 VPMADD52LUQ Z13, Z5, K7, Z28 // 6242d54fb4e5
//TODO: VPMADD52LUQ 7(AX), Z5, K7, Z28 // 6262d54fb4a007000000 VPMADD52LUQ 7(AX), Z5, K7, Z28 // 6262d54fb4a007000000
//TODO: VPMADD52LUQ (DI), Z5, K7, Z28 // 6262d54fb427 VPMADD52LUQ (DI), Z5, K7, Z28 // 6262d54fb427
RET RET
...@@ -3,413 +3,413 @@ ...@@ -3,413 +3,413 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_vbmi(SB), NOSPLIT, $0 TEXT asmtest_avx512_vbmi(SB), NOSPLIT, $0
//TODO: VPERMB X26, X20, K1, X23 // 62825d018dfa VPERMB X26, X20, K1, X23 // 62825d018dfa
//TODO: VPERMB X19, X20, K1, X23 // 62a25d018dfb VPERMB X19, X20, K1, X23 // 62a25d018dfb
//TODO: VPERMB X0, X20, K1, X23 // 62e25d018df8 VPERMB X0, X20, K1, X23 // 62e25d018df8
//TODO: VPERMB 7(SI)(DI*4), X20, K1, X23 // 62e25d018dbcbe07000000 VPERMB 7(SI)(DI*4), X20, K1, X23 // 62e25d018dbcbe07000000
//TODO: VPERMB -7(DI)(R8*2), X20, K1, X23 // 62a25d018dbc47f9ffffff VPERMB -7(DI)(R8*2), X20, K1, X23 // 62a25d018dbc47f9ffffff
//TODO: VPERMB X26, X2, K1, X23 // 62826d098dfa VPERMB X26, X2, K1, X23 // 62826d098dfa
//TODO: VPERMB X19, X2, K1, X23 // 62a26d098dfb VPERMB X19, X2, K1, X23 // 62a26d098dfb
//TODO: VPERMB X0, X2, K1, X23 // 62e26d098df8 VPERMB X0, X2, K1, X23 // 62e26d098df8
//TODO: VPERMB 7(SI)(DI*4), X2, K1, X23 // 62e26d098dbcbe07000000 VPERMB 7(SI)(DI*4), X2, K1, X23 // 62e26d098dbcbe07000000
//TODO: VPERMB -7(DI)(R8*2), X2, K1, X23 // 62a26d098dbc47f9ffffff VPERMB -7(DI)(R8*2), X2, K1, X23 // 62a26d098dbc47f9ffffff
//TODO: VPERMB X26, X9, K1, X23 // 628235098dfa VPERMB X26, X9, K1, X23 // 628235098dfa
//TODO: VPERMB X19, X9, K1, X23 // 62a235098dfb VPERMB X19, X9, K1, X23 // 62a235098dfb
//TODO: VPERMB X0, X9, K1, X23 // 62e235098df8 VPERMB X0, X9, K1, X23 // 62e235098df8
//TODO: VPERMB 7(SI)(DI*4), X9, K1, X23 // 62e235098dbcbe07000000 VPERMB 7(SI)(DI*4), X9, K1, X23 // 62e235098dbcbe07000000
//TODO: VPERMB -7(DI)(R8*2), X9, K1, X23 // 62a235098dbc47f9ffffff VPERMB -7(DI)(R8*2), X9, K1, X23 // 62a235098dbc47f9ffffff
//TODO: VPERMB X26, X20, K1, X30 // 62025d018df2 VPERMB X26, X20, K1, X30 // 62025d018df2
//TODO: VPERMB X19, X20, K1, X30 // 62225d018df3 VPERMB X19, X20, K1, X30 // 62225d018df3
//TODO: VPERMB X0, X20, K1, X30 // 62625d018df0 VPERMB X0, X20, K1, X30 // 62625d018df0
//TODO: VPERMB 7(SI)(DI*4), X20, K1, X30 // 62625d018db4be07000000 VPERMB 7(SI)(DI*4), X20, K1, X30 // 62625d018db4be07000000
//TODO: VPERMB -7(DI)(R8*2), X20, K1, X30 // 62225d018db447f9ffffff VPERMB -7(DI)(R8*2), X20, K1, X30 // 62225d018db447f9ffffff
//TODO: VPERMB X26, X2, K1, X30 // 62026d098df2 VPERMB X26, X2, K1, X30 // 62026d098df2
//TODO: VPERMB X19, X2, K1, X30 // 62226d098df3 VPERMB X19, X2, K1, X30 // 62226d098df3
//TODO: VPERMB X0, X2, K1, X30 // 62626d098df0 VPERMB X0, X2, K1, X30 // 62626d098df0
//TODO: VPERMB 7(SI)(DI*4), X2, K1, X30 // 62626d098db4be07000000 VPERMB 7(SI)(DI*4), X2, K1, X30 // 62626d098db4be07000000
//TODO: VPERMB -7(DI)(R8*2), X2, K1, X30 // 62226d098db447f9ffffff VPERMB -7(DI)(R8*2), X2, K1, X30 // 62226d098db447f9ffffff
//TODO: VPERMB X26, X9, K1, X30 // 620235098df2 VPERMB X26, X9, K1, X30 // 620235098df2
//TODO: VPERMB X19, X9, K1, X30 // 622235098df3 VPERMB X19, X9, K1, X30 // 622235098df3
//TODO: VPERMB X0, X9, K1, X30 // 626235098df0 VPERMB X0, X9, K1, X30 // 626235098df0
//TODO: VPERMB 7(SI)(DI*4), X9, K1, X30 // 626235098db4be07000000 VPERMB 7(SI)(DI*4), X9, K1, X30 // 626235098db4be07000000
//TODO: VPERMB -7(DI)(R8*2), X9, K1, X30 // 622235098db447f9ffffff VPERMB -7(DI)(R8*2), X9, K1, X30 // 622235098db447f9ffffff
//TODO: VPERMB X26, X20, K1, X8 // 62125d018dc2 VPERMB X26, X20, K1, X8 // 62125d018dc2
//TODO: VPERMB X19, X20, K1, X8 // 62325d018dc3 VPERMB X19, X20, K1, X8 // 62325d018dc3
//TODO: VPERMB X0, X20, K1, X8 // 62725d018dc0 VPERMB X0, X20, K1, X8 // 62725d018dc0
//TODO: VPERMB 7(SI)(DI*4), X20, K1, X8 // 62725d018d84be07000000 VPERMB 7(SI)(DI*4), X20, K1, X8 // 62725d018d84be07000000
//TODO: VPERMB -7(DI)(R8*2), X20, K1, X8 // 62325d018d8447f9ffffff VPERMB -7(DI)(R8*2), X20, K1, X8 // 62325d018d8447f9ffffff
//TODO: VPERMB X26, X2, K1, X8 // 62126d098dc2 VPERMB X26, X2, K1, X8 // 62126d098dc2
//TODO: VPERMB X19, X2, K1, X8 // 62326d098dc3 VPERMB X19, X2, K1, X8 // 62326d098dc3
//TODO: VPERMB X0, X2, K1, X8 // 62726d098dc0 VPERMB X0, X2, K1, X8 // 62726d098dc0
//TODO: VPERMB 7(SI)(DI*4), X2, K1, X8 // 62726d098d84be07000000 VPERMB 7(SI)(DI*4), X2, K1, X8 // 62726d098d84be07000000
//TODO: VPERMB -7(DI)(R8*2), X2, K1, X8 // 62326d098d8447f9ffffff VPERMB -7(DI)(R8*2), X2, K1, X8 // 62326d098d8447f9ffffff
//TODO: VPERMB X26, X9, K1, X8 // 621235098dc2 VPERMB X26, X9, K1, X8 // 621235098dc2
//TODO: VPERMB X19, X9, K1, X8 // 623235098dc3 VPERMB X19, X9, K1, X8 // 623235098dc3
//TODO: VPERMB X0, X9, K1, X8 // 627235098dc0 VPERMB X0, X9, K1, X8 // 627235098dc0
//TODO: VPERMB 7(SI)(DI*4), X9, K1, X8 // 627235098d84be07000000 VPERMB 7(SI)(DI*4), X9, K1, X8 // 627235098d84be07000000
//TODO: VPERMB -7(DI)(R8*2), X9, K1, X8 // 623235098d8447f9ffffff VPERMB -7(DI)(R8*2), X9, K1, X8 // 623235098d8447f9ffffff
//TODO: VPERMB Y5, Y31, K7, Y22 // 62e205278df5 VPERMB Y5, Y31, K7, Y22 // 62e205278df5
//TODO: VPERMB Y19, Y31, K7, Y22 // 62a205278df3 VPERMB Y19, Y31, K7, Y22 // 62a205278df3
//TODO: VPERMB Y31, Y31, K7, Y22 // 628205278df7 VPERMB Y31, Y31, K7, Y22 // 628205278df7
//TODO: VPERMB 17(SP)(BP*1), Y31, K7, Y22 // 62e205278db42c11000000 VPERMB 17(SP)(BP*1), Y31, K7, Y22 // 62e205278db42c11000000
//TODO: VPERMB -7(CX)(DX*8), Y31, K7, Y22 // 62e205278db4d1f9ffffff VPERMB -7(CX)(DX*8), Y31, K7, Y22 // 62e205278db4d1f9ffffff
//TODO: VPERMB Y5, Y5, K7, Y22 // 62e2552f8df5 VPERMB Y5, Y5, K7, Y22 // 62e2552f8df5
//TODO: VPERMB Y19, Y5, K7, Y22 // 62a2552f8df3 VPERMB Y19, Y5, K7, Y22 // 62a2552f8df3
//TODO: VPERMB Y31, Y5, K7, Y22 // 6282552f8df7 VPERMB Y31, Y5, K7, Y22 // 6282552f8df7
//TODO: VPERMB 17(SP)(BP*1), Y5, K7, Y22 // 62e2552f8db42c11000000 VPERMB 17(SP)(BP*1), Y5, K7, Y22 // 62e2552f8db42c11000000
//TODO: VPERMB -7(CX)(DX*8), Y5, K7, Y22 // 62e2552f8db4d1f9ffffff VPERMB -7(CX)(DX*8), Y5, K7, Y22 // 62e2552f8db4d1f9ffffff
//TODO: VPERMB Y5, Y0, K7, Y22 // 62e27d2f8df5 VPERMB Y5, Y0, K7, Y22 // 62e27d2f8df5
//TODO: VPERMB Y19, Y0, K7, Y22 // 62a27d2f8df3 VPERMB Y19, Y0, K7, Y22 // 62a27d2f8df3
//TODO: VPERMB Y31, Y0, K7, Y22 // 62827d2f8df7 VPERMB Y31, Y0, K7, Y22 // 62827d2f8df7
//TODO: VPERMB 17(SP)(BP*1), Y0, K7, Y22 // 62e27d2f8db42c11000000 VPERMB 17(SP)(BP*1), Y0, K7, Y22 // 62e27d2f8db42c11000000
//TODO: VPERMB -7(CX)(DX*8), Y0, K7, Y22 // 62e27d2f8db4d1f9ffffff VPERMB -7(CX)(DX*8), Y0, K7, Y22 // 62e27d2f8db4d1f9ffffff
//TODO: VPERMB Y5, Y31, K7, Y9 // 627205278dcd VPERMB Y5, Y31, K7, Y9 // 627205278dcd
//TODO: VPERMB Y19, Y31, K7, Y9 // 623205278dcb VPERMB Y19, Y31, K7, Y9 // 623205278dcb
//TODO: VPERMB Y31, Y31, K7, Y9 // 621205278dcf VPERMB Y31, Y31, K7, Y9 // 621205278dcf
//TODO: VPERMB 17(SP)(BP*1), Y31, K7, Y9 // 627205278d8c2c11000000 VPERMB 17(SP)(BP*1), Y31, K7, Y9 // 627205278d8c2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y31, K7, Y9 // 627205278d8cd1f9ffffff VPERMB -7(CX)(DX*8), Y31, K7, Y9 // 627205278d8cd1f9ffffff
//TODO: VPERMB Y5, Y5, K7, Y9 // 6272552f8dcd VPERMB Y5, Y5, K7, Y9 // 6272552f8dcd
//TODO: VPERMB Y19, Y5, K7, Y9 // 6232552f8dcb VPERMB Y19, Y5, K7, Y9 // 6232552f8dcb
//TODO: VPERMB Y31, Y5, K7, Y9 // 6212552f8dcf VPERMB Y31, Y5, K7, Y9 // 6212552f8dcf
//TODO: VPERMB 17(SP)(BP*1), Y5, K7, Y9 // 6272552f8d8c2c11000000 VPERMB 17(SP)(BP*1), Y5, K7, Y9 // 6272552f8d8c2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y5, K7, Y9 // 6272552f8d8cd1f9ffffff VPERMB -7(CX)(DX*8), Y5, K7, Y9 // 6272552f8d8cd1f9ffffff
//TODO: VPERMB Y5, Y0, K7, Y9 // 62727d2f8dcd VPERMB Y5, Y0, K7, Y9 // 62727d2f8dcd
//TODO: VPERMB Y19, Y0, K7, Y9 // 62327d2f8dcb VPERMB Y19, Y0, K7, Y9 // 62327d2f8dcb
//TODO: VPERMB Y31, Y0, K7, Y9 // 62127d2f8dcf VPERMB Y31, Y0, K7, Y9 // 62127d2f8dcf
//TODO: VPERMB 17(SP)(BP*1), Y0, K7, Y9 // 62727d2f8d8c2c11000000 VPERMB 17(SP)(BP*1), Y0, K7, Y9 // 62727d2f8d8c2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y0, K7, Y9 // 62727d2f8d8cd1f9ffffff VPERMB -7(CX)(DX*8), Y0, K7, Y9 // 62727d2f8d8cd1f9ffffff
//TODO: VPERMB Y5, Y31, K7, Y23 // 62e205278dfd VPERMB Y5, Y31, K7, Y23 // 62e205278dfd
//TODO: VPERMB Y19, Y31, K7, Y23 // 62a205278dfb VPERMB Y19, Y31, K7, Y23 // 62a205278dfb
//TODO: VPERMB Y31, Y31, K7, Y23 // 628205278dff VPERMB Y31, Y31, K7, Y23 // 628205278dff
//TODO: VPERMB 17(SP)(BP*1), Y31, K7, Y23 // 62e205278dbc2c11000000 VPERMB 17(SP)(BP*1), Y31, K7, Y23 // 62e205278dbc2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y31, K7, Y23 // 62e205278dbcd1f9ffffff VPERMB -7(CX)(DX*8), Y31, K7, Y23 // 62e205278dbcd1f9ffffff
//TODO: VPERMB Y5, Y5, K7, Y23 // 62e2552f8dfd VPERMB Y5, Y5, K7, Y23 // 62e2552f8dfd
//TODO: VPERMB Y19, Y5, K7, Y23 // 62a2552f8dfb VPERMB Y19, Y5, K7, Y23 // 62a2552f8dfb
//TODO: VPERMB Y31, Y5, K7, Y23 // 6282552f8dff VPERMB Y31, Y5, K7, Y23 // 6282552f8dff
//TODO: VPERMB 17(SP)(BP*1), Y5, K7, Y23 // 62e2552f8dbc2c11000000 VPERMB 17(SP)(BP*1), Y5, K7, Y23 // 62e2552f8dbc2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y5, K7, Y23 // 62e2552f8dbcd1f9ffffff VPERMB -7(CX)(DX*8), Y5, K7, Y23 // 62e2552f8dbcd1f9ffffff
//TODO: VPERMB Y5, Y0, K7, Y23 // 62e27d2f8dfd VPERMB Y5, Y0, K7, Y23 // 62e27d2f8dfd
//TODO: VPERMB Y19, Y0, K7, Y23 // 62a27d2f8dfb VPERMB Y19, Y0, K7, Y23 // 62a27d2f8dfb
//TODO: VPERMB Y31, Y0, K7, Y23 // 62827d2f8dff VPERMB Y31, Y0, K7, Y23 // 62827d2f8dff
//TODO: VPERMB 17(SP)(BP*1), Y0, K7, Y23 // 62e27d2f8dbc2c11000000 VPERMB 17(SP)(BP*1), Y0, K7, Y23 // 62e27d2f8dbc2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y0, K7, Y23 // 62e27d2f8dbcd1f9ffffff VPERMB -7(CX)(DX*8), Y0, K7, Y23 // 62e27d2f8dbcd1f9ffffff
//TODO: VPERMB Z3, Z8, K1, Z3 // 62f23d498ddb VPERMB Z3, Z8, K1, Z3 // 62f23d498ddb
//TODO: VPERMB Z27, Z8, K1, Z3 // 62923d498ddb VPERMB Z27, Z8, K1, Z3 // 62923d498ddb
//TODO: VPERMB 7(AX), Z8, K1, Z3 // 62f23d498d9807000000 VPERMB 7(AX), Z8, K1, Z3 // 62f23d498d9807000000
//TODO: VPERMB (DI), Z8, K1, Z3 // 62f23d498d1f VPERMB (DI), Z8, K1, Z3 // 62f23d498d1f
//TODO: VPERMB Z3, Z2, K1, Z3 // 62f26d498ddb VPERMB Z3, Z2, K1, Z3 // 62f26d498ddb
//TODO: VPERMB Z27, Z2, K1, Z3 // 62926d498ddb VPERMB Z27, Z2, K1, Z3 // 62926d498ddb
//TODO: VPERMB 7(AX), Z2, K1, Z3 // 62f26d498d9807000000 VPERMB 7(AX), Z2, K1, Z3 // 62f26d498d9807000000
//TODO: VPERMB (DI), Z2, K1, Z3 // 62f26d498d1f VPERMB (DI), Z2, K1, Z3 // 62f26d498d1f
//TODO: VPERMB Z3, Z8, K1, Z21 // 62e23d498deb VPERMB Z3, Z8, K1, Z21 // 62e23d498deb
//TODO: VPERMB Z27, Z8, K1, Z21 // 62823d498deb VPERMB Z27, Z8, K1, Z21 // 62823d498deb
//TODO: VPERMB 7(AX), Z8, K1, Z21 // 62e23d498da807000000 VPERMB 7(AX), Z8, K1, Z21 // 62e23d498da807000000
//TODO: VPERMB (DI), Z8, K1, Z21 // 62e23d498d2f VPERMB (DI), Z8, K1, Z21 // 62e23d498d2f
//TODO: VPERMB Z3, Z2, K1, Z21 // 62e26d498deb VPERMB Z3, Z2, K1, Z21 // 62e26d498deb
//TODO: VPERMB Z27, Z2, K1, Z21 // 62826d498deb VPERMB Z27, Z2, K1, Z21 // 62826d498deb
//TODO: VPERMB 7(AX), Z2, K1, Z21 // 62e26d498da807000000 VPERMB 7(AX), Z2, K1, Z21 // 62e26d498da807000000
//TODO: VPERMB (DI), Z2, K1, Z21 // 62e26d498d2f VPERMB (DI), Z2, K1, Z21 // 62e26d498d2f
//TODO: VPERMI2B X15, X8, K7, X31 // 62423d0f75ff VPERMI2B X15, X8, K7, X31 // 62423d0f75ff
//TODO: VPERMI2B X0, X8, K7, X31 // 62623d0f75f8 VPERMI2B X0, X8, K7, X31 // 62623d0f75f8
//TODO: VPERMI2B X16, X8, K7, X31 // 62223d0f75f8 VPERMI2B X16, X8, K7, X31 // 62223d0f75f8
//TODO: VPERMI2B 17(SP), X8, K7, X31 // 62623d0f75bc2411000000 VPERMI2B 17(SP), X8, K7, X31 // 62623d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X8, K7, X31 // 62623d0f75bcb5efffffff VPERMI2B -17(BP)(SI*4), X8, K7, X31 // 62623d0f75bcb5efffffff
//TODO: VPERMI2B X15, X1, K7, X31 // 6242750f75ff VPERMI2B X15, X1, K7, X31 // 6242750f75ff
//TODO: VPERMI2B X0, X1, K7, X31 // 6262750f75f8 VPERMI2B X0, X1, K7, X31 // 6262750f75f8
//TODO: VPERMI2B X16, X1, K7, X31 // 6222750f75f8 VPERMI2B X16, X1, K7, X31 // 6222750f75f8
//TODO: VPERMI2B 17(SP), X1, K7, X31 // 6262750f75bc2411000000 VPERMI2B 17(SP), X1, K7, X31 // 6262750f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X1, K7, X31 // 6262750f75bcb5efffffff VPERMI2B -17(BP)(SI*4), X1, K7, X31 // 6262750f75bcb5efffffff
//TODO: VPERMI2B X15, X0, K7, X31 // 62427d0f75ff VPERMI2B X15, X0, K7, X31 // 62427d0f75ff
//TODO: VPERMI2B X0, X0, K7, X31 // 62627d0f75f8 VPERMI2B X0, X0, K7, X31 // 62627d0f75f8
//TODO: VPERMI2B X16, X0, K7, X31 // 62227d0f75f8 VPERMI2B X16, X0, K7, X31 // 62227d0f75f8
//TODO: VPERMI2B 17(SP), X0, K7, X31 // 62627d0f75bc2411000000 VPERMI2B 17(SP), X0, K7, X31 // 62627d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X0, K7, X31 // 62627d0f75bcb5efffffff VPERMI2B -17(BP)(SI*4), X0, K7, X31 // 62627d0f75bcb5efffffff
//TODO: VPERMI2B X15, X8, K7, X16 // 62c23d0f75c7 VPERMI2B X15, X8, K7, X16 // 62c23d0f75c7
//TODO: VPERMI2B X0, X8, K7, X16 // 62e23d0f75c0 VPERMI2B X0, X8, K7, X16 // 62e23d0f75c0
//TODO: VPERMI2B X16, X8, K7, X16 // 62a23d0f75c0 VPERMI2B X16, X8, K7, X16 // 62a23d0f75c0
//TODO: VPERMI2B 17(SP), X8, K7, X16 // 62e23d0f75842411000000 VPERMI2B 17(SP), X8, K7, X16 // 62e23d0f75842411000000
//TODO: VPERMI2B -17(BP)(SI*4), X8, K7, X16 // 62e23d0f7584b5efffffff VPERMI2B -17(BP)(SI*4), X8, K7, X16 // 62e23d0f7584b5efffffff
//TODO: VPERMI2B X15, X1, K7, X16 // 62c2750f75c7 VPERMI2B X15, X1, K7, X16 // 62c2750f75c7
//TODO: VPERMI2B X0, X1, K7, X16 // 62e2750f75c0 VPERMI2B X0, X1, K7, X16 // 62e2750f75c0
//TODO: VPERMI2B X16, X1, K7, X16 // 62a2750f75c0 VPERMI2B X16, X1, K7, X16 // 62a2750f75c0
//TODO: VPERMI2B 17(SP), X1, K7, X16 // 62e2750f75842411000000 VPERMI2B 17(SP), X1, K7, X16 // 62e2750f75842411000000
//TODO: VPERMI2B -17(BP)(SI*4), X1, K7, X16 // 62e2750f7584b5efffffff VPERMI2B -17(BP)(SI*4), X1, K7, X16 // 62e2750f7584b5efffffff
//TODO: VPERMI2B X15, X0, K7, X16 // 62c27d0f75c7 VPERMI2B X15, X0, K7, X16 // 62c27d0f75c7
//TODO: VPERMI2B X0, X0, K7, X16 // 62e27d0f75c0 VPERMI2B X0, X0, K7, X16 // 62e27d0f75c0
//TODO: VPERMI2B X16, X0, K7, X16 // 62a27d0f75c0 VPERMI2B X16, X0, K7, X16 // 62a27d0f75c0
//TODO: VPERMI2B 17(SP), X0, K7, X16 // 62e27d0f75842411000000 VPERMI2B 17(SP), X0, K7, X16 // 62e27d0f75842411000000
//TODO: VPERMI2B -17(BP)(SI*4), X0, K7, X16 // 62e27d0f7584b5efffffff VPERMI2B -17(BP)(SI*4), X0, K7, X16 // 62e27d0f7584b5efffffff
//TODO: VPERMI2B X15, X8, K7, X7 // 62d23d0f75ff VPERMI2B X15, X8, K7, X7 // 62d23d0f75ff
//TODO: VPERMI2B X0, X8, K7, X7 // 62f23d0f75f8 VPERMI2B X0, X8, K7, X7 // 62f23d0f75f8
//TODO: VPERMI2B X16, X8, K7, X7 // 62b23d0f75f8 VPERMI2B X16, X8, K7, X7 // 62b23d0f75f8
//TODO: VPERMI2B 17(SP), X8, K7, X7 // 62f23d0f75bc2411000000 VPERMI2B 17(SP), X8, K7, X7 // 62f23d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X8, K7, X7 // 62f23d0f75bcb5efffffff VPERMI2B -17(BP)(SI*4), X8, K7, X7 // 62f23d0f75bcb5efffffff
//TODO: VPERMI2B X15, X1, K7, X7 // 62d2750f75ff VPERMI2B X15, X1, K7, X7 // 62d2750f75ff
//TODO: VPERMI2B X0, X1, K7, X7 // 62f2750f75f8 VPERMI2B X0, X1, K7, X7 // 62f2750f75f8
//TODO: VPERMI2B X16, X1, K7, X7 // 62b2750f75f8 VPERMI2B X16, X1, K7, X7 // 62b2750f75f8
//TODO: VPERMI2B 17(SP), X1, K7, X7 // 62f2750f75bc2411000000 VPERMI2B 17(SP), X1, K7, X7 // 62f2750f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X1, K7, X7 // 62f2750f75bcb5efffffff VPERMI2B -17(BP)(SI*4), X1, K7, X7 // 62f2750f75bcb5efffffff
//TODO: VPERMI2B X15, X0, K7, X7 // 62d27d0f75ff VPERMI2B X15, X0, K7, X7 // 62d27d0f75ff
//TODO: VPERMI2B X0, X0, K7, X7 // 62f27d0f75f8 VPERMI2B X0, X0, K7, X7 // 62f27d0f75f8
//TODO: VPERMI2B X16, X0, K7, X7 // 62b27d0f75f8 VPERMI2B X16, X0, K7, X7 // 62b27d0f75f8
//TODO: VPERMI2B 17(SP), X0, K7, X7 // 62f27d0f75bc2411000000 VPERMI2B 17(SP), X0, K7, X7 // 62f27d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X0, K7, X7 // 62f27d0f75bcb5efffffff VPERMI2B -17(BP)(SI*4), X0, K7, X7 // 62f27d0f75bcb5efffffff
//TODO: VPERMI2B Y18, Y15, K2, Y2 // 62b2052a75d2 VPERMI2B Y18, Y15, K2, Y2 // 62b2052a75d2
//TODO: VPERMI2B Y24, Y15, K2, Y2 // 6292052a75d0 VPERMI2B Y24, Y15, K2, Y2 // 6292052a75d0
//TODO: VPERMI2B Y9, Y15, K2, Y2 // 62d2052a75d1 VPERMI2B Y9, Y15, K2, Y2 // 62d2052a75d1
//TODO: VPERMI2B 15(R8)(R14*1), Y15, K2, Y2 // 6292052a7594300f000000 VPERMI2B 15(R8)(R14*1), Y15, K2, Y2 // 6292052a7594300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y15, K2, Y2 // 6292052a7594700f000000 VPERMI2B 15(R8)(R14*2), Y15, K2, Y2 // 6292052a7594700f000000
//TODO: VPERMI2B Y18, Y22, K2, Y2 // 62b24d2275d2 VPERMI2B Y18, Y22, K2, Y2 // 62b24d2275d2
//TODO: VPERMI2B Y24, Y22, K2, Y2 // 62924d2275d0 VPERMI2B Y24, Y22, K2, Y2 // 62924d2275d0
//TODO: VPERMI2B Y9, Y22, K2, Y2 // 62d24d2275d1 VPERMI2B Y9, Y22, K2, Y2 // 62d24d2275d1
//TODO: VPERMI2B 15(R8)(R14*1), Y22, K2, Y2 // 62924d227594300f000000 VPERMI2B 15(R8)(R14*1), Y22, K2, Y2 // 62924d227594300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y22, K2, Y2 // 62924d227594700f000000 VPERMI2B 15(R8)(R14*2), Y22, K2, Y2 // 62924d227594700f000000
//TODO: VPERMI2B Y18, Y20, K2, Y2 // 62b25d2275d2 VPERMI2B Y18, Y20, K2, Y2 // 62b25d2275d2
//TODO: VPERMI2B Y24, Y20, K2, Y2 // 62925d2275d0 VPERMI2B Y24, Y20, K2, Y2 // 62925d2275d0
//TODO: VPERMI2B Y9, Y20, K2, Y2 // 62d25d2275d1 VPERMI2B Y9, Y20, K2, Y2 // 62d25d2275d1
//TODO: VPERMI2B 15(R8)(R14*1), Y20, K2, Y2 // 62925d227594300f000000 VPERMI2B 15(R8)(R14*1), Y20, K2, Y2 // 62925d227594300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y20, K2, Y2 // 62925d227594700f000000 VPERMI2B 15(R8)(R14*2), Y20, K2, Y2 // 62925d227594700f000000
//TODO: VPERMI2B Y18, Y15, K2, Y13 // 6232052a75ea VPERMI2B Y18, Y15, K2, Y13 // 6232052a75ea
//TODO: VPERMI2B Y24, Y15, K2, Y13 // 6212052a75e8 VPERMI2B Y24, Y15, K2, Y13 // 6212052a75e8
//TODO: VPERMI2B Y9, Y15, K2, Y13 // 6252052a75e9 VPERMI2B Y9, Y15, K2, Y13 // 6252052a75e9
//TODO: VPERMI2B 15(R8)(R14*1), Y15, K2, Y13 // 6212052a75ac300f000000 VPERMI2B 15(R8)(R14*1), Y15, K2, Y13 // 6212052a75ac300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y15, K2, Y13 // 6212052a75ac700f000000 VPERMI2B 15(R8)(R14*2), Y15, K2, Y13 // 6212052a75ac700f000000
//TODO: VPERMI2B Y18, Y22, K2, Y13 // 62324d2275ea VPERMI2B Y18, Y22, K2, Y13 // 62324d2275ea
//TODO: VPERMI2B Y24, Y22, K2, Y13 // 62124d2275e8 VPERMI2B Y24, Y22, K2, Y13 // 62124d2275e8
//TODO: VPERMI2B Y9, Y22, K2, Y13 // 62524d2275e9 VPERMI2B Y9, Y22, K2, Y13 // 62524d2275e9
//TODO: VPERMI2B 15(R8)(R14*1), Y22, K2, Y13 // 62124d2275ac300f000000 VPERMI2B 15(R8)(R14*1), Y22, K2, Y13 // 62124d2275ac300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y22, K2, Y13 // 62124d2275ac700f000000 VPERMI2B 15(R8)(R14*2), Y22, K2, Y13 // 62124d2275ac700f000000
//TODO: VPERMI2B Y18, Y20, K2, Y13 // 62325d2275ea VPERMI2B Y18, Y20, K2, Y13 // 62325d2275ea
//TODO: VPERMI2B Y24, Y20, K2, Y13 // 62125d2275e8 VPERMI2B Y24, Y20, K2, Y13 // 62125d2275e8
//TODO: VPERMI2B Y9, Y20, K2, Y13 // 62525d2275e9 VPERMI2B Y9, Y20, K2, Y13 // 62525d2275e9
//TODO: VPERMI2B 15(R8)(R14*1), Y20, K2, Y13 // 62125d2275ac300f000000 VPERMI2B 15(R8)(R14*1), Y20, K2, Y13 // 62125d2275ac300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y20, K2, Y13 // 62125d2275ac700f000000 VPERMI2B 15(R8)(R14*2), Y20, K2, Y13 // 62125d2275ac700f000000
//TODO: VPERMI2B Y18, Y15, K2, Y27 // 6222052a75da VPERMI2B Y18, Y15, K2, Y27 // 6222052a75da
//TODO: VPERMI2B Y24, Y15, K2, Y27 // 6202052a75d8 VPERMI2B Y24, Y15, K2, Y27 // 6202052a75d8
//TODO: VPERMI2B Y9, Y15, K2, Y27 // 6242052a75d9 VPERMI2B Y9, Y15, K2, Y27 // 6242052a75d9
//TODO: VPERMI2B 15(R8)(R14*1), Y15, K2, Y27 // 6202052a759c300f000000 VPERMI2B 15(R8)(R14*1), Y15, K2, Y27 // 6202052a759c300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y15, K2, Y27 // 6202052a759c700f000000 VPERMI2B 15(R8)(R14*2), Y15, K2, Y27 // 6202052a759c700f000000
//TODO: VPERMI2B Y18, Y22, K2, Y27 // 62224d2275da VPERMI2B Y18, Y22, K2, Y27 // 62224d2275da
//TODO: VPERMI2B Y24, Y22, K2, Y27 // 62024d2275d8 VPERMI2B Y24, Y22, K2, Y27 // 62024d2275d8
//TODO: VPERMI2B Y9, Y22, K2, Y27 // 62424d2275d9 VPERMI2B Y9, Y22, K2, Y27 // 62424d2275d9
//TODO: VPERMI2B 15(R8)(R14*1), Y22, K2, Y27 // 62024d22759c300f000000 VPERMI2B 15(R8)(R14*1), Y22, K2, Y27 // 62024d22759c300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y22, K2, Y27 // 62024d22759c700f000000 VPERMI2B 15(R8)(R14*2), Y22, K2, Y27 // 62024d22759c700f000000
//TODO: VPERMI2B Y18, Y20, K2, Y27 // 62225d2275da VPERMI2B Y18, Y20, K2, Y27 // 62225d2275da
//TODO: VPERMI2B Y24, Y20, K2, Y27 // 62025d2275d8 VPERMI2B Y24, Y20, K2, Y27 // 62025d2275d8
//TODO: VPERMI2B Y9, Y20, K2, Y27 // 62425d2275d9 VPERMI2B Y9, Y20, K2, Y27 // 62425d2275d9
//TODO: VPERMI2B 15(R8)(R14*1), Y20, K2, Y27 // 62025d22759c300f000000 VPERMI2B 15(R8)(R14*1), Y20, K2, Y27 // 62025d22759c300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y20, K2, Y27 // 62025d22759c700f000000 VPERMI2B 15(R8)(R14*2), Y20, K2, Y27 // 62025d22759c700f000000
//TODO: VPERMI2B Z12, Z9, K4, Z3 // 62d2354c75dc VPERMI2B Z12, Z9, K4, Z3 // 62d2354c75dc
//TODO: VPERMI2B Z22, Z9, K4, Z3 // 62b2354c75de VPERMI2B Z22, Z9, K4, Z3 // 62b2354c75de
//TODO: VPERMI2B -17(BP)(SI*8), Z9, K4, Z3 // 62f2354c759cf5efffffff VPERMI2B -17(BP)(SI*8), Z9, K4, Z3 // 62f2354c759cf5efffffff
//TODO: VPERMI2B (R15), Z9, K4, Z3 // 62d2354c751f VPERMI2B (R15), Z9, K4, Z3 // 62d2354c751f
//TODO: VPERMI2B Z12, Z19, K4, Z3 // 62d2654475dc VPERMI2B Z12, Z19, K4, Z3 // 62d2654475dc
//TODO: VPERMI2B Z22, Z19, K4, Z3 // 62b2654475de VPERMI2B Z22, Z19, K4, Z3 // 62b2654475de
//TODO: VPERMI2B -17(BP)(SI*8), Z19, K4, Z3 // 62f26544759cf5efffffff VPERMI2B -17(BP)(SI*8), Z19, K4, Z3 // 62f26544759cf5efffffff
//TODO: VPERMI2B (R15), Z19, K4, Z3 // 62d26544751f VPERMI2B (R15), Z19, K4, Z3 // 62d26544751f
//TODO: VPERMI2B Z12, Z9, K4, Z30 // 6242354c75f4 VPERMI2B Z12, Z9, K4, Z30 // 6242354c75f4
//TODO: VPERMI2B Z22, Z9, K4, Z30 // 6222354c75f6 VPERMI2B Z22, Z9, K4, Z30 // 6222354c75f6
//TODO: VPERMI2B -17(BP)(SI*8), Z9, K4, Z30 // 6262354c75b4f5efffffff VPERMI2B -17(BP)(SI*8), Z9, K4, Z30 // 6262354c75b4f5efffffff
//TODO: VPERMI2B (R15), Z9, K4, Z30 // 6242354c7537 VPERMI2B (R15), Z9, K4, Z30 // 6242354c7537
//TODO: VPERMI2B Z12, Z19, K4, Z30 // 6242654475f4 VPERMI2B Z12, Z19, K4, Z30 // 6242654475f4
//TODO: VPERMI2B Z22, Z19, K4, Z30 // 6222654475f6 VPERMI2B Z22, Z19, K4, Z30 // 6222654475f6
//TODO: VPERMI2B -17(BP)(SI*8), Z19, K4, Z30 // 6262654475b4f5efffffff VPERMI2B -17(BP)(SI*8), Z19, K4, Z30 // 6262654475b4f5efffffff
//TODO: VPERMI2B (R15), Z19, K4, Z30 // 624265447537 VPERMI2B (R15), Z19, K4, Z30 // 624265447537
//TODO: VPERMT2B X2, X0, K7, X20 // 62e27d0f7de2 VPERMT2B X2, X0, K7, X20 // 62e27d0f7de2
//TODO: VPERMT2B X8, X0, K7, X20 // 62c27d0f7de0 VPERMT2B X8, X0, K7, X20 // 62c27d0f7de0
//TODO: VPERMT2B X9, X0, K7, X20 // 62c27d0f7de1 VPERMT2B X9, X0, K7, X20 // 62c27d0f7de1
//TODO: VPERMT2B (BX), X0, K7, X20 // 62e27d0f7d23 VPERMT2B (BX), X0, K7, X20 // 62e27d0f7d23
//TODO: VPERMT2B -17(BP)(SI*1), X0, K7, X20 // 62e27d0f7da435efffffff VPERMT2B -17(BP)(SI*1), X0, K7, X20 // 62e27d0f7da435efffffff
//TODO: VPERMT2B X2, X9, K7, X20 // 62e2350f7de2 VPERMT2B X2, X9, K7, X20 // 62e2350f7de2
//TODO: VPERMT2B X8, X9, K7, X20 // 62c2350f7de0 VPERMT2B X8, X9, K7, X20 // 62c2350f7de0
//TODO: VPERMT2B X9, X9, K7, X20 // 62c2350f7de1 VPERMT2B X9, X9, K7, X20 // 62c2350f7de1
//TODO: VPERMT2B (BX), X9, K7, X20 // 62e2350f7d23 VPERMT2B (BX), X9, K7, X20 // 62e2350f7d23
//TODO: VPERMT2B -17(BP)(SI*1), X9, K7, X20 // 62e2350f7da435efffffff VPERMT2B -17(BP)(SI*1), X9, K7, X20 // 62e2350f7da435efffffff
//TODO: VPERMT2B X2, X13, K7, X20 // 62e2150f7de2 VPERMT2B X2, X13, K7, X20 // 62e2150f7de2
//TODO: VPERMT2B X8, X13, K7, X20 // 62c2150f7de0 VPERMT2B X8, X13, K7, X20 // 62c2150f7de0
//TODO: VPERMT2B X9, X13, K7, X20 // 62c2150f7de1 VPERMT2B X9, X13, K7, X20 // 62c2150f7de1
//TODO: VPERMT2B (BX), X13, K7, X20 // 62e2150f7d23 VPERMT2B (BX), X13, K7, X20 // 62e2150f7d23
//TODO: VPERMT2B -17(BP)(SI*1), X13, K7, X20 // 62e2150f7da435efffffff VPERMT2B -17(BP)(SI*1), X13, K7, X20 // 62e2150f7da435efffffff
//TODO: VPERMT2B X2, X0, K7, X5 // 62f27d0f7dea VPERMT2B X2, X0, K7, X5 // 62f27d0f7dea
//TODO: VPERMT2B X8, X0, K7, X5 // 62d27d0f7de8 VPERMT2B X8, X0, K7, X5 // 62d27d0f7de8
//TODO: VPERMT2B X9, X0, K7, X5 // 62d27d0f7de9 VPERMT2B X9, X0, K7, X5 // 62d27d0f7de9
//TODO: VPERMT2B (BX), X0, K7, X5 // 62f27d0f7d2b VPERMT2B (BX), X0, K7, X5 // 62f27d0f7d2b
//TODO: VPERMT2B -17(BP)(SI*1), X0, K7, X5 // 62f27d0f7dac35efffffff VPERMT2B -17(BP)(SI*1), X0, K7, X5 // 62f27d0f7dac35efffffff
//TODO: VPERMT2B X2, X9, K7, X5 // 62f2350f7dea VPERMT2B X2, X9, K7, X5 // 62f2350f7dea
//TODO: VPERMT2B X8, X9, K7, X5 // 62d2350f7de8 VPERMT2B X8, X9, K7, X5 // 62d2350f7de8
//TODO: VPERMT2B X9, X9, K7, X5 // 62d2350f7de9 VPERMT2B X9, X9, K7, X5 // 62d2350f7de9
//TODO: VPERMT2B (BX), X9, K7, X5 // 62f2350f7d2b VPERMT2B (BX), X9, K7, X5 // 62f2350f7d2b
//TODO: VPERMT2B -17(BP)(SI*1), X9, K7, X5 // 62f2350f7dac35efffffff VPERMT2B -17(BP)(SI*1), X9, K7, X5 // 62f2350f7dac35efffffff
//TODO: VPERMT2B X2, X13, K7, X5 // 62f2150f7dea VPERMT2B X2, X13, K7, X5 // 62f2150f7dea
//TODO: VPERMT2B X8, X13, K7, X5 // 62d2150f7de8 VPERMT2B X8, X13, K7, X5 // 62d2150f7de8
//TODO: VPERMT2B X9, X13, K7, X5 // 62d2150f7de9 VPERMT2B X9, X13, K7, X5 // 62d2150f7de9
//TODO: VPERMT2B (BX), X13, K7, X5 // 62f2150f7d2b VPERMT2B (BX), X13, K7, X5 // 62f2150f7d2b
//TODO: VPERMT2B -17(BP)(SI*1), X13, K7, X5 // 62f2150f7dac35efffffff VPERMT2B -17(BP)(SI*1), X13, K7, X5 // 62f2150f7dac35efffffff
//TODO: VPERMT2B X2, X0, K7, X25 // 62627d0f7dca VPERMT2B X2, X0, K7, X25 // 62627d0f7dca
//TODO: VPERMT2B X8, X0, K7, X25 // 62427d0f7dc8 VPERMT2B X8, X0, K7, X25 // 62427d0f7dc8
//TODO: VPERMT2B X9, X0, K7, X25 // 62427d0f7dc9 VPERMT2B X9, X0, K7, X25 // 62427d0f7dc9
//TODO: VPERMT2B (BX), X0, K7, X25 // 62627d0f7d0b VPERMT2B (BX), X0, K7, X25 // 62627d0f7d0b
//TODO: VPERMT2B -17(BP)(SI*1), X0, K7, X25 // 62627d0f7d8c35efffffff VPERMT2B -17(BP)(SI*1), X0, K7, X25 // 62627d0f7d8c35efffffff
//TODO: VPERMT2B X2, X9, K7, X25 // 6262350f7dca VPERMT2B X2, X9, K7, X25 // 6262350f7dca
//TODO: VPERMT2B X8, X9, K7, X25 // 6242350f7dc8 VPERMT2B X8, X9, K7, X25 // 6242350f7dc8
//TODO: VPERMT2B X9, X9, K7, X25 // 6242350f7dc9 VPERMT2B X9, X9, K7, X25 // 6242350f7dc9
//TODO: VPERMT2B (BX), X9, K7, X25 // 6262350f7d0b VPERMT2B (BX), X9, K7, X25 // 6262350f7d0b
//TODO: VPERMT2B -17(BP)(SI*1), X9, K7, X25 // 6262350f7d8c35efffffff VPERMT2B -17(BP)(SI*1), X9, K7, X25 // 6262350f7d8c35efffffff
//TODO: VPERMT2B X2, X13, K7, X25 // 6262150f7dca VPERMT2B X2, X13, K7, X25 // 6262150f7dca
//TODO: VPERMT2B X8, X13, K7, X25 // 6242150f7dc8 VPERMT2B X8, X13, K7, X25 // 6242150f7dc8
//TODO: VPERMT2B X9, X13, K7, X25 // 6242150f7dc9 VPERMT2B X9, X13, K7, X25 // 6242150f7dc9
//TODO: VPERMT2B (BX), X13, K7, X25 // 6262150f7d0b VPERMT2B (BX), X13, K7, X25 // 6262150f7d0b
//TODO: VPERMT2B -17(BP)(SI*1), X13, K7, X25 // 6262150f7d8c35efffffff VPERMT2B -17(BP)(SI*1), X13, K7, X25 // 6262150f7d8c35efffffff
//TODO: VPERMT2B Y14, Y2, K6, Y18 // 62c26d2e7dd6 VPERMT2B Y14, Y2, K6, Y18 // 62c26d2e7dd6
//TODO: VPERMT2B Y8, Y2, K6, Y18 // 62c26d2e7dd0 VPERMT2B Y8, Y2, K6, Y18 // 62c26d2e7dd0
//TODO: VPERMT2B Y20, Y2, K6, Y18 // 62a26d2e7dd4 VPERMT2B Y20, Y2, K6, Y18 // 62a26d2e7dd4
//TODO: VPERMT2B 7(SI)(DI*4), Y2, K6, Y18 // 62e26d2e7d94be07000000 VPERMT2B 7(SI)(DI*4), Y2, K6, Y18 // 62e26d2e7d94be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y2, K6, Y18 // 62a26d2e7d9447f9ffffff VPERMT2B -7(DI)(R8*2), Y2, K6, Y18 // 62a26d2e7d9447f9ffffff
//TODO: VPERMT2B Y14, Y7, K6, Y18 // 62c2452e7dd6 VPERMT2B Y14, Y7, K6, Y18 // 62c2452e7dd6
//TODO: VPERMT2B Y8, Y7, K6, Y18 // 62c2452e7dd0 VPERMT2B Y8, Y7, K6, Y18 // 62c2452e7dd0
//TODO: VPERMT2B Y20, Y7, K6, Y18 // 62a2452e7dd4 VPERMT2B Y20, Y7, K6, Y18 // 62a2452e7dd4
//TODO: VPERMT2B 7(SI)(DI*4), Y7, K6, Y18 // 62e2452e7d94be07000000 VPERMT2B 7(SI)(DI*4), Y7, K6, Y18 // 62e2452e7d94be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y7, K6, Y18 // 62a2452e7d9447f9ffffff VPERMT2B -7(DI)(R8*2), Y7, K6, Y18 // 62a2452e7d9447f9ffffff
//TODO: VPERMT2B Y14, Y21, K6, Y18 // 62c255267dd6 VPERMT2B Y14, Y21, K6, Y18 // 62c255267dd6
//TODO: VPERMT2B Y8, Y21, K6, Y18 // 62c255267dd0 VPERMT2B Y8, Y21, K6, Y18 // 62c255267dd0
//TODO: VPERMT2B Y20, Y21, K6, Y18 // 62a255267dd4 VPERMT2B Y20, Y21, K6, Y18 // 62a255267dd4
//TODO: VPERMT2B 7(SI)(DI*4), Y21, K6, Y18 // 62e255267d94be07000000 VPERMT2B 7(SI)(DI*4), Y21, K6, Y18 // 62e255267d94be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y21, K6, Y18 // 62a255267d9447f9ffffff VPERMT2B -7(DI)(R8*2), Y21, K6, Y18 // 62a255267d9447f9ffffff
//TODO: VPERMT2B Y14, Y2, K6, Y3 // 62d26d2e7dde VPERMT2B Y14, Y2, K6, Y3 // 62d26d2e7dde
//TODO: VPERMT2B Y8, Y2, K6, Y3 // 62d26d2e7dd8 VPERMT2B Y8, Y2, K6, Y3 // 62d26d2e7dd8
//TODO: VPERMT2B Y20, Y2, K6, Y3 // 62b26d2e7ddc VPERMT2B Y20, Y2, K6, Y3 // 62b26d2e7ddc
//TODO: VPERMT2B 7(SI)(DI*4), Y2, K6, Y3 // 62f26d2e7d9cbe07000000 VPERMT2B 7(SI)(DI*4), Y2, K6, Y3 // 62f26d2e7d9cbe07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y2, K6, Y3 // 62b26d2e7d9c47f9ffffff VPERMT2B -7(DI)(R8*2), Y2, K6, Y3 // 62b26d2e7d9c47f9ffffff
//TODO: VPERMT2B Y14, Y7, K6, Y3 // 62d2452e7dde VPERMT2B Y14, Y7, K6, Y3 // 62d2452e7dde
//TODO: VPERMT2B Y8, Y7, K6, Y3 // 62d2452e7dd8 VPERMT2B Y8, Y7, K6, Y3 // 62d2452e7dd8
//TODO: VPERMT2B Y20, Y7, K6, Y3 // 62b2452e7ddc VPERMT2B Y20, Y7, K6, Y3 // 62b2452e7ddc
//TODO: VPERMT2B 7(SI)(DI*4), Y7, K6, Y3 // 62f2452e7d9cbe07000000 VPERMT2B 7(SI)(DI*4), Y7, K6, Y3 // 62f2452e7d9cbe07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y7, K6, Y3 // 62b2452e7d9c47f9ffffff VPERMT2B -7(DI)(R8*2), Y7, K6, Y3 // 62b2452e7d9c47f9ffffff
//TODO: VPERMT2B Y14, Y21, K6, Y3 // 62d255267dde VPERMT2B Y14, Y21, K6, Y3 // 62d255267dde
//TODO: VPERMT2B Y8, Y21, K6, Y3 // 62d255267dd8 VPERMT2B Y8, Y21, K6, Y3 // 62d255267dd8
//TODO: VPERMT2B Y20, Y21, K6, Y3 // 62b255267ddc VPERMT2B Y20, Y21, K6, Y3 // 62b255267ddc
//TODO: VPERMT2B 7(SI)(DI*4), Y21, K6, Y3 // 62f255267d9cbe07000000 VPERMT2B 7(SI)(DI*4), Y21, K6, Y3 // 62f255267d9cbe07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y21, K6, Y3 // 62b255267d9c47f9ffffff VPERMT2B -7(DI)(R8*2), Y21, K6, Y3 // 62b255267d9c47f9ffffff
//TODO: VPERMT2B Y14, Y2, K6, Y24 // 62426d2e7dc6 VPERMT2B Y14, Y2, K6, Y24 // 62426d2e7dc6
//TODO: VPERMT2B Y8, Y2, K6, Y24 // 62426d2e7dc0 VPERMT2B Y8, Y2, K6, Y24 // 62426d2e7dc0
//TODO: VPERMT2B Y20, Y2, K6, Y24 // 62226d2e7dc4 VPERMT2B Y20, Y2, K6, Y24 // 62226d2e7dc4
//TODO: VPERMT2B 7(SI)(DI*4), Y2, K6, Y24 // 62626d2e7d84be07000000 VPERMT2B 7(SI)(DI*4), Y2, K6, Y24 // 62626d2e7d84be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y2, K6, Y24 // 62226d2e7d8447f9ffffff VPERMT2B -7(DI)(R8*2), Y2, K6, Y24 // 62226d2e7d8447f9ffffff
//TODO: VPERMT2B Y14, Y7, K6, Y24 // 6242452e7dc6 VPERMT2B Y14, Y7, K6, Y24 // 6242452e7dc6
//TODO: VPERMT2B Y8, Y7, K6, Y24 // 6242452e7dc0 VPERMT2B Y8, Y7, K6, Y24 // 6242452e7dc0
//TODO: VPERMT2B Y20, Y7, K6, Y24 // 6222452e7dc4 VPERMT2B Y20, Y7, K6, Y24 // 6222452e7dc4
//TODO: VPERMT2B 7(SI)(DI*4), Y7, K6, Y24 // 6262452e7d84be07000000 VPERMT2B 7(SI)(DI*4), Y7, K6, Y24 // 6262452e7d84be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y7, K6, Y24 // 6222452e7d8447f9ffffff VPERMT2B -7(DI)(R8*2), Y7, K6, Y24 // 6222452e7d8447f9ffffff
//TODO: VPERMT2B Y14, Y21, K6, Y24 // 624255267dc6 VPERMT2B Y14, Y21, K6, Y24 // 624255267dc6
//TODO: VPERMT2B Y8, Y21, K6, Y24 // 624255267dc0 VPERMT2B Y8, Y21, K6, Y24 // 624255267dc0
//TODO: VPERMT2B Y20, Y21, K6, Y24 // 622255267dc4 VPERMT2B Y20, Y21, K6, Y24 // 622255267dc4
//TODO: VPERMT2B 7(SI)(DI*4), Y21, K6, Y24 // 626255267d84be07000000 VPERMT2B 7(SI)(DI*4), Y21, K6, Y24 // 626255267d84be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y21, K6, Y24 // 622255267d8447f9ffffff VPERMT2B -7(DI)(R8*2), Y21, K6, Y24 // 622255267d8447f9ffffff
//TODO: VPERMT2B Z20, Z1, K3, Z6 // 62b2754b7df4 VPERMT2B Z20, Z1, K3, Z6 // 62b2754b7df4
//TODO: VPERMT2B Z9, Z1, K3, Z6 // 62d2754b7df1 VPERMT2B Z9, Z1, K3, Z6 // 62d2754b7df1
//TODO: VPERMT2B (CX), Z1, K3, Z6 // 62f2754b7d31 VPERMT2B (CX), Z1, K3, Z6 // 62f2754b7d31
//TODO: VPERMT2B 99(R15), Z1, K3, Z6 // 62d2754b7db763000000 VPERMT2B 99(R15), Z1, K3, Z6 // 62d2754b7db763000000
//TODO: VPERMT2B Z20, Z9, K3, Z6 // 62b2354b7df4 VPERMT2B Z20, Z9, K3, Z6 // 62b2354b7df4
//TODO: VPERMT2B Z9, Z9, K3, Z6 // 62d2354b7df1 VPERMT2B Z9, Z9, K3, Z6 // 62d2354b7df1
//TODO: VPERMT2B (CX), Z9, K3, Z6 // 62f2354b7d31 VPERMT2B (CX), Z9, K3, Z6 // 62f2354b7d31
//TODO: VPERMT2B 99(R15), Z9, K3, Z6 // 62d2354b7db763000000 VPERMT2B 99(R15), Z9, K3, Z6 // 62d2354b7db763000000
//TODO: VPERMT2B Z20, Z1, K3, Z9 // 6232754b7dcc VPERMT2B Z20, Z1, K3, Z9 // 6232754b7dcc
//TODO: VPERMT2B Z9, Z1, K3, Z9 // 6252754b7dc9 VPERMT2B Z9, Z1, K3, Z9 // 6252754b7dc9
//TODO: VPERMT2B (CX), Z1, K3, Z9 // 6272754b7d09 VPERMT2B (CX), Z1, K3, Z9 // 6272754b7d09
//TODO: VPERMT2B 99(R15), Z1, K3, Z9 // 6252754b7d8f63000000 VPERMT2B 99(R15), Z1, K3, Z9 // 6252754b7d8f63000000
//TODO: VPERMT2B Z20, Z9, K3, Z9 // 6232354b7dcc VPERMT2B Z20, Z9, K3, Z9 // 6232354b7dcc
//TODO: VPERMT2B Z9, Z9, K3, Z9 // 6252354b7dc9 VPERMT2B Z9, Z9, K3, Z9 // 6252354b7dc9
//TODO: VPERMT2B (CX), Z9, K3, Z9 // 6272354b7d09 VPERMT2B (CX), Z9, K3, Z9 // 6272354b7d09
//TODO: VPERMT2B 99(R15), Z9, K3, Z9 // 6252354b7d8f63000000 VPERMT2B 99(R15), Z9, K3, Z9 // 6252354b7d8f63000000
//TODO: VPMULTISHIFTQB X9, X24, K5, X7 // 62d2bd0583f9 VPMULTISHIFTQB X9, X24, K5, X7 // 62d2bd0583f9
//TODO: VPMULTISHIFTQB X7, X24, K5, X7 // 62f2bd0583ff VPMULTISHIFTQB X7, X24, K5, X7 // 62f2bd0583ff
//TODO: VPMULTISHIFTQB X14, X24, K5, X7 // 62d2bd0583fe VPMULTISHIFTQB X14, X24, K5, X7 // 62d2bd0583fe
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X7 // 62f2bd0583bc2c11000000 VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X7 // 62f2bd0583bc2c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X7 // 62f2bd0583bcd1f9ffffff VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X7 // 62f2bd0583bcd1f9ffffff
//TODO: VPMULTISHIFTQB X9, X20, K5, X7 // 62d2dd0583f9 VPMULTISHIFTQB X9, X20, K5, X7 // 62d2dd0583f9
//TODO: VPMULTISHIFTQB X7, X20, K5, X7 // 62f2dd0583ff VPMULTISHIFTQB X7, X20, K5, X7 // 62f2dd0583ff
//TODO: VPMULTISHIFTQB X14, X20, K5, X7 // 62d2dd0583fe VPMULTISHIFTQB X14, X20, K5, X7 // 62d2dd0583fe
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X7 // 62f2dd0583bc2c11000000 VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X7 // 62f2dd0583bc2c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X7 // 62f2dd0583bcd1f9ffffff VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X7 // 62f2dd0583bcd1f9ffffff
//TODO: VPMULTISHIFTQB X9, X7, K5, X7 // 62d2c50d83f9 VPMULTISHIFTQB X9, X7, K5, X7 // 62d2c50d83f9
//TODO: VPMULTISHIFTQB X7, X7, K5, X7 // 62f2c50d83ff VPMULTISHIFTQB X7, X7, K5, X7 // 62f2c50d83ff
//TODO: VPMULTISHIFTQB X14, X7, K5, X7 // 62d2c50d83fe VPMULTISHIFTQB X14, X7, K5, X7 // 62d2c50d83fe
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X7 // 62f2c50d83bc2c11000000 VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X7 // 62f2c50d83bc2c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X7 // 62f2c50d83bcd1f9ffffff VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X7 // 62f2c50d83bcd1f9ffffff
//TODO: VPMULTISHIFTQB X9, X24, K5, X0 // 62d2bd0583c1 VPMULTISHIFTQB X9, X24, K5, X0 // 62d2bd0583c1
//TODO: VPMULTISHIFTQB X7, X24, K5, X0 // 62f2bd0583c7 VPMULTISHIFTQB X7, X24, K5, X0 // 62f2bd0583c7
//TODO: VPMULTISHIFTQB X14, X24, K5, X0 // 62d2bd0583c6 VPMULTISHIFTQB X14, X24, K5, X0 // 62d2bd0583c6
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X0 // 62f2bd0583842c11000000 VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X0 // 62f2bd0583842c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X0 // 62f2bd058384d1f9ffffff VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X0 // 62f2bd058384d1f9ffffff
//TODO: VPMULTISHIFTQB X9, X20, K5, X0 // 62d2dd0583c1 VPMULTISHIFTQB X9, X20, K5, X0 // 62d2dd0583c1
//TODO: VPMULTISHIFTQB X7, X20, K5, X0 // 62f2dd0583c7 VPMULTISHIFTQB X7, X20, K5, X0 // 62f2dd0583c7
//TODO: VPMULTISHIFTQB X14, X20, K5, X0 // 62d2dd0583c6 VPMULTISHIFTQB X14, X20, K5, X0 // 62d2dd0583c6
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X0 // 62f2dd0583842c11000000 VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X0 // 62f2dd0583842c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X0 // 62f2dd058384d1f9ffffff VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X0 // 62f2dd058384d1f9ffffff
//TODO: VPMULTISHIFTQB X9, X7, K5, X0 // 62d2c50d83c1 VPMULTISHIFTQB X9, X7, K5, X0 // 62d2c50d83c1
//TODO: VPMULTISHIFTQB X7, X7, K5, X0 // 62f2c50d83c7 VPMULTISHIFTQB X7, X7, K5, X0 // 62f2c50d83c7
//TODO: VPMULTISHIFTQB X14, X7, K5, X0 // 62d2c50d83c6 VPMULTISHIFTQB X14, X7, K5, X0 // 62d2c50d83c6
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X0 // 62f2c50d83842c11000000 VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X0 // 62f2c50d83842c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X0 // 62f2c50d8384d1f9ffffff VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X0 // 62f2c50d8384d1f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y30, K7, Y12 // 62328d2783e0 VPMULTISHIFTQB Y16, Y30, K7, Y12 // 62328d2783e0
//TODO: VPMULTISHIFTQB Y1, Y30, K7, Y12 // 62728d2783e1 VPMULTISHIFTQB Y1, Y30, K7, Y12 // 62728d2783e1
//TODO: VPMULTISHIFTQB Y30, Y30, K7, Y12 // 62128d2783e6 VPMULTISHIFTQB Y30, Y30, K7, Y12 // 62128d2783e6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y12 // 62728d2783a46c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y12 // 62728d2783a46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y12 // 62328d2783a487f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y12 // 62328d2783a487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y26, K7, Y12 // 6232ad2783e0 VPMULTISHIFTQB Y16, Y26, K7, Y12 // 6232ad2783e0
//TODO: VPMULTISHIFTQB Y1, Y26, K7, Y12 // 6272ad2783e1 VPMULTISHIFTQB Y1, Y26, K7, Y12 // 6272ad2783e1
//TODO: VPMULTISHIFTQB Y30, Y26, K7, Y12 // 6212ad2783e6 VPMULTISHIFTQB Y30, Y26, K7, Y12 // 6212ad2783e6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y12 // 6272ad2783a46c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y12 // 6272ad2783a46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y12 // 6232ad2783a487f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y12 // 6232ad2783a487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y7, K7, Y12 // 6232c52f83e0 VPMULTISHIFTQB Y16, Y7, K7, Y12 // 6232c52f83e0
//TODO: VPMULTISHIFTQB Y1, Y7, K7, Y12 // 6272c52f83e1 VPMULTISHIFTQB Y1, Y7, K7, Y12 // 6272c52f83e1
//TODO: VPMULTISHIFTQB Y30, Y7, K7, Y12 // 6212c52f83e6 VPMULTISHIFTQB Y30, Y7, K7, Y12 // 6212c52f83e6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y12 // 6272c52f83a46c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y12 // 6272c52f83a46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y12 // 6232c52f83a487f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y12 // 6232c52f83a487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y30, K7, Y21 // 62a28d2783e8 VPMULTISHIFTQB Y16, Y30, K7, Y21 // 62a28d2783e8
//TODO: VPMULTISHIFTQB Y1, Y30, K7, Y21 // 62e28d2783e9 VPMULTISHIFTQB Y1, Y30, K7, Y21 // 62e28d2783e9
//TODO: VPMULTISHIFTQB Y30, Y30, K7, Y21 // 62828d2783ee VPMULTISHIFTQB Y30, Y30, K7, Y21 // 62828d2783ee
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y21 // 62e28d2783ac6c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y21 // 62e28d2783ac6c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y21 // 62a28d2783ac87f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y21 // 62a28d2783ac87f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y26, K7, Y21 // 62a2ad2783e8 VPMULTISHIFTQB Y16, Y26, K7, Y21 // 62a2ad2783e8
//TODO: VPMULTISHIFTQB Y1, Y26, K7, Y21 // 62e2ad2783e9 VPMULTISHIFTQB Y1, Y26, K7, Y21 // 62e2ad2783e9
//TODO: VPMULTISHIFTQB Y30, Y26, K7, Y21 // 6282ad2783ee VPMULTISHIFTQB Y30, Y26, K7, Y21 // 6282ad2783ee
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y21 // 62e2ad2783ac6c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y21 // 62e2ad2783ac6c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y21 // 62a2ad2783ac87f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y21 // 62a2ad2783ac87f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y7, K7, Y21 // 62a2c52f83e8 VPMULTISHIFTQB Y16, Y7, K7, Y21 // 62a2c52f83e8
//TODO: VPMULTISHIFTQB Y1, Y7, K7, Y21 // 62e2c52f83e9 VPMULTISHIFTQB Y1, Y7, K7, Y21 // 62e2c52f83e9
//TODO: VPMULTISHIFTQB Y30, Y7, K7, Y21 // 6282c52f83ee VPMULTISHIFTQB Y30, Y7, K7, Y21 // 6282c52f83ee
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y21 // 62e2c52f83ac6c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y21 // 62e2c52f83ac6c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y21 // 62a2c52f83ac87f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y21 // 62a2c52f83ac87f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y30, K7, Y14 // 62328d2783f0 VPMULTISHIFTQB Y16, Y30, K7, Y14 // 62328d2783f0
//TODO: VPMULTISHIFTQB Y1, Y30, K7, Y14 // 62728d2783f1 VPMULTISHIFTQB Y1, Y30, K7, Y14 // 62728d2783f1
//TODO: VPMULTISHIFTQB Y30, Y30, K7, Y14 // 62128d2783f6 VPMULTISHIFTQB Y30, Y30, K7, Y14 // 62128d2783f6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y14 // 62728d2783b46c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y14 // 62728d2783b46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y14 // 62328d2783b487f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y14 // 62328d2783b487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y26, K7, Y14 // 6232ad2783f0 VPMULTISHIFTQB Y16, Y26, K7, Y14 // 6232ad2783f0
//TODO: VPMULTISHIFTQB Y1, Y26, K7, Y14 // 6272ad2783f1 VPMULTISHIFTQB Y1, Y26, K7, Y14 // 6272ad2783f1
//TODO: VPMULTISHIFTQB Y30, Y26, K7, Y14 // 6212ad2783f6 VPMULTISHIFTQB Y30, Y26, K7, Y14 // 6212ad2783f6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y14 // 6272ad2783b46c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y14 // 6272ad2783b46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y14 // 6232ad2783b487f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y14 // 6232ad2783b487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y7, K7, Y14 // 6232c52f83f0 VPMULTISHIFTQB Y16, Y7, K7, Y14 // 6232c52f83f0
//TODO: VPMULTISHIFTQB Y1, Y7, K7, Y14 // 6272c52f83f1 VPMULTISHIFTQB Y1, Y7, K7, Y14 // 6272c52f83f1
//TODO: VPMULTISHIFTQB Y30, Y7, K7, Y14 // 6212c52f83f6 VPMULTISHIFTQB Y30, Y7, K7, Y14 // 6212c52f83f6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y14 // 6272c52f83b46c11000000 VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y14 // 6272c52f83b46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y14 // 6232c52f83b487f9ffffff VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y14 // 6232c52f83b487f9ffffff
//TODO: VPMULTISHIFTQB Z7, Z2, K7, Z18 // 62e2ed4f83d7 VPMULTISHIFTQB Z7, Z2, K7, Z18 // 62e2ed4f83d7
//TODO: VPMULTISHIFTQB Z13, Z2, K7, Z18 // 62c2ed4f83d5 VPMULTISHIFTQB Z13, Z2, K7, Z18 // 62c2ed4f83d5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z18 // 62e2ed4f83948807000000 VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z18 // 62e2ed4f83948807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z18 // 62e2ed4f83940807000000 VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z18 // 62e2ed4f83940807000000
//TODO: VPMULTISHIFTQB Z7, Z21, K7, Z18 // 62e2d54783d7 VPMULTISHIFTQB Z7, Z21, K7, Z18 // 62e2d54783d7
//TODO: VPMULTISHIFTQB Z13, Z21, K7, Z18 // 62c2d54783d5 VPMULTISHIFTQB Z13, Z21, K7, Z18 // 62c2d54783d5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z18 // 62e2d54783948807000000 VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z18 // 62e2d54783948807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z18 // 62e2d54783940807000000 VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z18 // 62e2d54783940807000000
//TODO: VPMULTISHIFTQB Z7, Z2, K7, Z24 // 6262ed4f83c7 VPMULTISHIFTQB Z7, Z2, K7, Z24 // 6262ed4f83c7
//TODO: VPMULTISHIFTQB Z13, Z2, K7, Z24 // 6242ed4f83c5 VPMULTISHIFTQB Z13, Z2, K7, Z24 // 6242ed4f83c5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z24 // 6262ed4f83848807000000 VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z24 // 6262ed4f83848807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z24 // 6262ed4f83840807000000 VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z24 // 6262ed4f83840807000000
//TODO: VPMULTISHIFTQB Z7, Z21, K7, Z24 // 6262d54783c7 VPMULTISHIFTQB Z7, Z21, K7, Z24 // 6262d54783c7
//TODO: VPMULTISHIFTQB Z13, Z21, K7, Z24 // 6242d54783c5 VPMULTISHIFTQB Z13, Z21, K7, Z24 // 6242d54783c5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z24 // 6262d54783848807000000 VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z24 // 6262d54783848807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z24 // 6262d54783840807000000 VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z24 // 6262d54783840807000000
RET RET
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,398 +3,398 @@ ...@@ -3,398 +3,398 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_vnni(SB), NOSPLIT, $0 TEXT asmtest_avx512_vnni(SB), NOSPLIT, $0
//TODO: VPDPBUSD X15, X16, K2, X6 // 62d27d0250f7 VPDPBUSD X15, X16, K2, X6 // 62d27d0250f7
//TODO: VPDPBUSD X11, X16, K2, X6 // 62d27d0250f3 VPDPBUSD X11, X16, K2, X6 // 62d27d0250f3
//TODO: VPDPBUSD X1, X16, K2, X6 // 62f27d0250f1 VPDPBUSD X1, X16, K2, X6 // 62f27d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X16, K2, X6 // 62927d0250b43ef1ffffff VPDPBUSD -15(R14)(R15*1), X16, K2, X6 // 62927d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X16, K2, X6 // 62f27d0250b3f1ffffff VPDPBUSD -15(BX), X16, K2, X6 // 62f27d0250b3f1ffffff
//TODO: VPDPBUSD X15, X28, K2, X6 // 62d21d0250f7 VPDPBUSD X15, X28, K2, X6 // 62d21d0250f7
//TODO: VPDPBUSD X11, X28, K2, X6 // 62d21d0250f3 VPDPBUSD X11, X28, K2, X6 // 62d21d0250f3
//TODO: VPDPBUSD X1, X28, K2, X6 // 62f21d0250f1 VPDPBUSD X1, X28, K2, X6 // 62f21d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X28, K2, X6 // 62921d0250b43ef1ffffff VPDPBUSD -15(R14)(R15*1), X28, K2, X6 // 62921d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X28, K2, X6 // 62f21d0250b3f1ffffff VPDPBUSD -15(BX), X28, K2, X6 // 62f21d0250b3f1ffffff
//TODO: VPDPBUSD X15, X8, K2, X6 // 62d23d0a50f7 VPDPBUSD X15, X8, K2, X6 // 62d23d0a50f7
//TODO: VPDPBUSD X11, X8, K2, X6 // 62d23d0a50f3 VPDPBUSD X11, X8, K2, X6 // 62d23d0a50f3
//TODO: VPDPBUSD X1, X8, K2, X6 // 62f23d0a50f1 VPDPBUSD X1, X8, K2, X6 // 62f23d0a50f1
//TODO: VPDPBUSD -15(R14)(R15*1), X8, K2, X6 // 62923d0a50b43ef1ffffff VPDPBUSD -15(R14)(R15*1), X8, K2, X6 // 62923d0a50b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X8, K2, X6 // 62f23d0a50b3f1ffffff VPDPBUSD -15(BX), X8, K2, X6 // 62f23d0a50b3f1ffffff
//TODO: VPDPBUSD X15, X16, K2, X22 // 62c27d0250f7 VPDPBUSD X15, X16, K2, X22 // 62c27d0250f7
//TODO: VPDPBUSD X11, X16, K2, X22 // 62c27d0250f3 VPDPBUSD X11, X16, K2, X22 // 62c27d0250f3
//TODO: VPDPBUSD X1, X16, K2, X22 // 62e27d0250f1 VPDPBUSD X1, X16, K2, X22 // 62e27d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X16, K2, X22 // 62827d0250b43ef1ffffff VPDPBUSD -15(R14)(R15*1), X16, K2, X22 // 62827d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X16, K2, X22 // 62e27d0250b3f1ffffff VPDPBUSD -15(BX), X16, K2, X22 // 62e27d0250b3f1ffffff
//TODO: VPDPBUSD X15, X28, K2, X22 // 62c21d0250f7 VPDPBUSD X15, X28, K2, X22 // 62c21d0250f7
//TODO: VPDPBUSD X11, X28, K2, X22 // 62c21d0250f3 VPDPBUSD X11, X28, K2, X22 // 62c21d0250f3
//TODO: VPDPBUSD X1, X28, K2, X22 // 62e21d0250f1 VPDPBUSD X1, X28, K2, X22 // 62e21d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X28, K2, X22 // 62821d0250b43ef1ffffff VPDPBUSD -15(R14)(R15*1), X28, K2, X22 // 62821d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X28, K2, X22 // 62e21d0250b3f1ffffff VPDPBUSD -15(BX), X28, K2, X22 // 62e21d0250b3f1ffffff
//TODO: VPDPBUSD X15, X8, K2, X22 // 62c23d0a50f7 VPDPBUSD X15, X8, K2, X22 // 62c23d0a50f7
//TODO: VPDPBUSD X11, X8, K2, X22 // 62c23d0a50f3 VPDPBUSD X11, X8, K2, X22 // 62c23d0a50f3
//TODO: VPDPBUSD X1, X8, K2, X22 // 62e23d0a50f1 VPDPBUSD X1, X8, K2, X22 // 62e23d0a50f1
//TODO: VPDPBUSD -15(R14)(R15*1), X8, K2, X22 // 62823d0a50b43ef1ffffff VPDPBUSD -15(R14)(R15*1), X8, K2, X22 // 62823d0a50b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X8, K2, X22 // 62e23d0a50b3f1ffffff VPDPBUSD -15(BX), X8, K2, X22 // 62e23d0a50b3f1ffffff
//TODO: VPDPBUSD X15, X16, K2, X12 // 62527d0250e7 VPDPBUSD X15, X16, K2, X12 // 62527d0250e7
//TODO: VPDPBUSD X11, X16, K2, X12 // 62527d0250e3 VPDPBUSD X11, X16, K2, X12 // 62527d0250e3
//TODO: VPDPBUSD X1, X16, K2, X12 // 62727d0250e1 VPDPBUSD X1, X16, K2, X12 // 62727d0250e1
//TODO: VPDPBUSD -15(R14)(R15*1), X16, K2, X12 // 62127d0250a43ef1ffffff VPDPBUSD -15(R14)(R15*1), X16, K2, X12 // 62127d0250a43ef1ffffff
//TODO: VPDPBUSD -15(BX), X16, K2, X12 // 62727d0250a3f1ffffff VPDPBUSD -15(BX), X16, K2, X12 // 62727d0250a3f1ffffff
//TODO: VPDPBUSD X15, X28, K2, X12 // 62521d0250e7 VPDPBUSD X15, X28, K2, X12 // 62521d0250e7
//TODO: VPDPBUSD X11, X28, K2, X12 // 62521d0250e3 VPDPBUSD X11, X28, K2, X12 // 62521d0250e3
//TODO: VPDPBUSD X1, X28, K2, X12 // 62721d0250e1 VPDPBUSD X1, X28, K2, X12 // 62721d0250e1
//TODO: VPDPBUSD -15(R14)(R15*1), X28, K2, X12 // 62121d0250a43ef1ffffff VPDPBUSD -15(R14)(R15*1), X28, K2, X12 // 62121d0250a43ef1ffffff
//TODO: VPDPBUSD -15(BX), X28, K2, X12 // 62721d0250a3f1ffffff VPDPBUSD -15(BX), X28, K2, X12 // 62721d0250a3f1ffffff
//TODO: VPDPBUSD X15, X8, K2, X12 // 62523d0a50e7 VPDPBUSD X15, X8, K2, X12 // 62523d0a50e7
//TODO: VPDPBUSD X11, X8, K2, X12 // 62523d0a50e3 VPDPBUSD X11, X8, K2, X12 // 62523d0a50e3
//TODO: VPDPBUSD X1, X8, K2, X12 // 62723d0a50e1 VPDPBUSD X1, X8, K2, X12 // 62723d0a50e1
//TODO: VPDPBUSD -15(R14)(R15*1), X8, K2, X12 // 62123d0a50a43ef1ffffff VPDPBUSD -15(R14)(R15*1), X8, K2, X12 // 62123d0a50a43ef1ffffff
//TODO: VPDPBUSD -15(BX), X8, K2, X12 // 62723d0a50a3f1ffffff VPDPBUSD -15(BX), X8, K2, X12 // 62723d0a50a3f1ffffff
//TODO: VPDPBUSD Y11, Y28, K5, Y20 // 62c21d2550e3 VPDPBUSD Y11, Y28, K5, Y20 // 62c21d2550e3
//TODO: VPDPBUSD Y27, Y28, K5, Y20 // 62821d2550e3 VPDPBUSD Y27, Y28, K5, Y20 // 62821d2550e3
//TODO: VPDPBUSD Y17, Y28, K5, Y20 // 62a21d2550e1 VPDPBUSD Y17, Y28, K5, Y20 // 62a21d2550e1
//TODO: VPDPBUSD (AX), Y28, K5, Y20 // 62e21d255020 VPDPBUSD (AX), Y28, K5, Y20 // 62e21d255020
//TODO: VPDPBUSD 7(SI), Y28, K5, Y20 // 62e21d2550a607000000 VPDPBUSD 7(SI), Y28, K5, Y20 // 62e21d2550a607000000
//TODO: VPDPBUSD Y11, Y1, K5, Y20 // 62c2752d50e3 VPDPBUSD Y11, Y1, K5, Y20 // 62c2752d50e3
//TODO: VPDPBUSD Y27, Y1, K5, Y20 // 6282752d50e3 VPDPBUSD Y27, Y1, K5, Y20 // 6282752d50e3
//TODO: VPDPBUSD Y17, Y1, K5, Y20 // 62a2752d50e1 VPDPBUSD Y17, Y1, K5, Y20 // 62a2752d50e1
//TODO: VPDPBUSD (AX), Y1, K5, Y20 // 62e2752d5020 VPDPBUSD (AX), Y1, K5, Y20 // 62e2752d5020
//TODO: VPDPBUSD 7(SI), Y1, K5, Y20 // 62e2752d50a607000000 VPDPBUSD 7(SI), Y1, K5, Y20 // 62e2752d50a607000000
//TODO: VPDPBUSD Y11, Y8, K5, Y20 // 62c23d2d50e3 VPDPBUSD Y11, Y8, K5, Y20 // 62c23d2d50e3
//TODO: VPDPBUSD Y27, Y8, K5, Y20 // 62823d2d50e3 VPDPBUSD Y27, Y8, K5, Y20 // 62823d2d50e3
//TODO: VPDPBUSD Y17, Y8, K5, Y20 // 62a23d2d50e1 VPDPBUSD Y17, Y8, K5, Y20 // 62a23d2d50e1
//TODO: VPDPBUSD (AX), Y8, K5, Y20 // 62e23d2d5020 VPDPBUSD (AX), Y8, K5, Y20 // 62e23d2d5020
//TODO: VPDPBUSD 7(SI), Y8, K5, Y20 // 62e23d2d50a607000000 VPDPBUSD 7(SI), Y8, K5, Y20 // 62e23d2d50a607000000
//TODO: VPDPBUSD Y11, Y28, K5, Y9 // 62521d2550cb VPDPBUSD Y11, Y28, K5, Y9 // 62521d2550cb
//TODO: VPDPBUSD Y27, Y28, K5, Y9 // 62121d2550cb VPDPBUSD Y27, Y28, K5, Y9 // 62121d2550cb
//TODO: VPDPBUSD Y17, Y28, K5, Y9 // 62321d2550c9 VPDPBUSD Y17, Y28, K5, Y9 // 62321d2550c9
//TODO: VPDPBUSD (AX), Y28, K5, Y9 // 62721d255008 VPDPBUSD (AX), Y28, K5, Y9 // 62721d255008
//TODO: VPDPBUSD 7(SI), Y28, K5, Y9 // 62721d25508e07000000 VPDPBUSD 7(SI), Y28, K5, Y9 // 62721d25508e07000000
//TODO: VPDPBUSD Y11, Y1, K5, Y9 // 6252752d50cb VPDPBUSD Y11, Y1, K5, Y9 // 6252752d50cb
//TODO: VPDPBUSD Y27, Y1, K5, Y9 // 6212752d50cb VPDPBUSD Y27, Y1, K5, Y9 // 6212752d50cb
//TODO: VPDPBUSD Y17, Y1, K5, Y9 // 6232752d50c9 VPDPBUSD Y17, Y1, K5, Y9 // 6232752d50c9
//TODO: VPDPBUSD (AX), Y1, K5, Y9 // 6272752d5008 VPDPBUSD (AX), Y1, K5, Y9 // 6272752d5008
//TODO: VPDPBUSD 7(SI), Y1, K5, Y9 // 6272752d508e07000000 VPDPBUSD 7(SI), Y1, K5, Y9 // 6272752d508e07000000
//TODO: VPDPBUSD Y11, Y8, K5, Y9 // 62523d2d50cb VPDPBUSD Y11, Y8, K5, Y9 // 62523d2d50cb
//TODO: VPDPBUSD Y27, Y8, K5, Y9 // 62123d2d50cb VPDPBUSD Y27, Y8, K5, Y9 // 62123d2d50cb
//TODO: VPDPBUSD Y17, Y8, K5, Y9 // 62323d2d50c9 VPDPBUSD Y17, Y8, K5, Y9 // 62323d2d50c9
//TODO: VPDPBUSD (AX), Y8, K5, Y9 // 62723d2d5008 VPDPBUSD (AX), Y8, K5, Y9 // 62723d2d5008
//TODO: VPDPBUSD 7(SI), Y8, K5, Y9 // 62723d2d508e07000000 VPDPBUSD 7(SI), Y8, K5, Y9 // 62723d2d508e07000000
//TODO: VPDPBUSD Y11, Y28, K5, Y28 // 62421d2550e3 VPDPBUSD Y11, Y28, K5, Y28 // 62421d2550e3
//TODO: VPDPBUSD Y27, Y28, K5, Y28 // 62021d2550e3 VPDPBUSD Y27, Y28, K5, Y28 // 62021d2550e3
//TODO: VPDPBUSD Y17, Y28, K5, Y28 // 62221d2550e1 VPDPBUSD Y17, Y28, K5, Y28 // 62221d2550e1
//TODO: VPDPBUSD (AX), Y28, K5, Y28 // 62621d255020 VPDPBUSD (AX), Y28, K5, Y28 // 62621d255020
//TODO: VPDPBUSD 7(SI), Y28, K5, Y28 // 62621d2550a607000000 VPDPBUSD 7(SI), Y28, K5, Y28 // 62621d2550a607000000
//TODO: VPDPBUSD Y11, Y1, K5, Y28 // 6242752d50e3 VPDPBUSD Y11, Y1, K5, Y28 // 6242752d50e3
//TODO: VPDPBUSD Y27, Y1, K5, Y28 // 6202752d50e3 VPDPBUSD Y27, Y1, K5, Y28 // 6202752d50e3
//TODO: VPDPBUSD Y17, Y1, K5, Y28 // 6222752d50e1 VPDPBUSD Y17, Y1, K5, Y28 // 6222752d50e1
//TODO: VPDPBUSD (AX), Y1, K5, Y28 // 6262752d5020 VPDPBUSD (AX), Y1, K5, Y28 // 6262752d5020
//TODO: VPDPBUSD 7(SI), Y1, K5, Y28 // 6262752d50a607000000 VPDPBUSD 7(SI), Y1, K5, Y28 // 6262752d50a607000000
//TODO: VPDPBUSD Y11, Y8, K5, Y28 // 62423d2d50e3 VPDPBUSD Y11, Y8, K5, Y28 // 62423d2d50e3
//TODO: VPDPBUSD Y27, Y8, K5, Y28 // 62023d2d50e3 VPDPBUSD Y27, Y8, K5, Y28 // 62023d2d50e3
//TODO: VPDPBUSD Y17, Y8, K5, Y28 // 62223d2d50e1 VPDPBUSD Y17, Y8, K5, Y28 // 62223d2d50e1
//TODO: VPDPBUSD (AX), Y8, K5, Y28 // 62623d2d5020 VPDPBUSD (AX), Y8, K5, Y28 // 62623d2d5020
//TODO: VPDPBUSD 7(SI), Y8, K5, Y28 // 62623d2d50a607000000 VPDPBUSD 7(SI), Y8, K5, Y28 // 62623d2d50a607000000
//TODO: VPDPBUSD Z8, Z23, K3, Z23 // 62c2454350f8 VPDPBUSD Z8, Z23, K3, Z23 // 62c2454350f8
//TODO: VPDPBUSD Z28, Z23, K3, Z23 // 6282454350fc VPDPBUSD Z28, Z23, K3, Z23 // 6282454350fc
//TODO: VPDPBUSD (SI), Z23, K3, Z23 // 62e24543503e VPDPBUSD (SI), Z23, K3, Z23 // 62e24543503e
//TODO: VPDPBUSD 7(SI)(DI*2), Z23, K3, Z23 // 62e2454350bc7e07000000 VPDPBUSD 7(SI)(DI*2), Z23, K3, Z23 // 62e2454350bc7e07000000
//TODO: VPDPBUSD Z8, Z6, K3, Z23 // 62c24d4b50f8 VPDPBUSD Z8, Z6, K3, Z23 // 62c24d4b50f8
//TODO: VPDPBUSD Z28, Z6, K3, Z23 // 62824d4b50fc VPDPBUSD Z28, Z6, K3, Z23 // 62824d4b50fc
//TODO: VPDPBUSD (SI), Z6, K3, Z23 // 62e24d4b503e VPDPBUSD (SI), Z6, K3, Z23 // 62e24d4b503e
//TODO: VPDPBUSD 7(SI)(DI*2), Z6, K3, Z23 // 62e24d4b50bc7e07000000 VPDPBUSD 7(SI)(DI*2), Z6, K3, Z23 // 62e24d4b50bc7e07000000
//TODO: VPDPBUSD Z8, Z23, K3, Z5 // 62d2454350e8 VPDPBUSD Z8, Z23, K3, Z5 // 62d2454350e8
//TODO: VPDPBUSD Z28, Z23, K3, Z5 // 6292454350ec VPDPBUSD Z28, Z23, K3, Z5 // 6292454350ec
//TODO: VPDPBUSD (SI), Z23, K3, Z5 // 62f24543502e VPDPBUSD (SI), Z23, K3, Z5 // 62f24543502e
//TODO: VPDPBUSD 7(SI)(DI*2), Z23, K3, Z5 // 62f2454350ac7e07000000 VPDPBUSD 7(SI)(DI*2), Z23, K3, Z5 // 62f2454350ac7e07000000
//TODO: VPDPBUSD Z8, Z6, K3, Z5 // 62d24d4b50e8 VPDPBUSD Z8, Z6, K3, Z5 // 62d24d4b50e8
//TODO: VPDPBUSD Z28, Z6, K3, Z5 // 62924d4b50ec VPDPBUSD Z28, Z6, K3, Z5 // 62924d4b50ec
//TODO: VPDPBUSD (SI), Z6, K3, Z5 // 62f24d4b502e VPDPBUSD (SI), Z6, K3, Z5 // 62f24d4b502e
//TODO: VPDPBUSD 7(SI)(DI*2), Z6, K3, Z5 // 62f24d4b50ac7e07000000 VPDPBUSD 7(SI)(DI*2), Z6, K3, Z5 // 62f24d4b50ac7e07000000
//TODO: VPDPBUSDS X25, X14, K4, X19 // 62820d0c51d9 VPDPBUSDS X25, X14, K4, X19 // 62820d0c51d9
//TODO: VPDPBUSDS X11, X14, K4, X19 // 62c20d0c51db VPDPBUSDS X11, X14, K4, X19 // 62c20d0c51db
//TODO: VPDPBUSDS X17, X14, K4, X19 // 62a20d0c51d9 VPDPBUSDS X17, X14, K4, X19 // 62a20d0c51d9
//TODO: VPDPBUSDS 7(AX)(CX*4), X14, K4, X19 // 62e20d0c519c8807000000 VPDPBUSDS 7(AX)(CX*4), X14, K4, X19 // 62e20d0c519c8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X14, K4, X19 // 62e20d0c519c0807000000 VPDPBUSDS 7(AX)(CX*1), X14, K4, X19 // 62e20d0c519c0807000000
//TODO: VPDPBUSDS X25, X0, K4, X19 // 62827d0c51d9 VPDPBUSDS X25, X0, K4, X19 // 62827d0c51d9
//TODO: VPDPBUSDS X11, X0, K4, X19 // 62c27d0c51db VPDPBUSDS X11, X0, K4, X19 // 62c27d0c51db
//TODO: VPDPBUSDS X17, X0, K4, X19 // 62a27d0c51d9 VPDPBUSDS X17, X0, K4, X19 // 62a27d0c51d9
//TODO: VPDPBUSDS 7(AX)(CX*4), X0, K4, X19 // 62e27d0c519c8807000000 VPDPBUSDS 7(AX)(CX*4), X0, K4, X19 // 62e27d0c519c8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X0, K4, X19 // 62e27d0c519c0807000000 VPDPBUSDS 7(AX)(CX*1), X0, K4, X19 // 62e27d0c519c0807000000
//TODO: VPDPBUSDS X25, X14, K4, X13 // 62120d0c51e9 VPDPBUSDS X25, X14, K4, X13 // 62120d0c51e9
//TODO: VPDPBUSDS X11, X14, K4, X13 // 62520d0c51eb VPDPBUSDS X11, X14, K4, X13 // 62520d0c51eb
//TODO: VPDPBUSDS X17, X14, K4, X13 // 62320d0c51e9 VPDPBUSDS X17, X14, K4, X13 // 62320d0c51e9
//TODO: VPDPBUSDS 7(AX)(CX*4), X14, K4, X13 // 62720d0c51ac8807000000 VPDPBUSDS 7(AX)(CX*4), X14, K4, X13 // 62720d0c51ac8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X14, K4, X13 // 62720d0c51ac0807000000 VPDPBUSDS 7(AX)(CX*1), X14, K4, X13 // 62720d0c51ac0807000000
//TODO: VPDPBUSDS X25, X0, K4, X13 // 62127d0c51e9 VPDPBUSDS X25, X0, K4, X13 // 62127d0c51e9
//TODO: VPDPBUSDS X11, X0, K4, X13 // 62527d0c51eb VPDPBUSDS X11, X0, K4, X13 // 62527d0c51eb
//TODO: VPDPBUSDS X17, X0, K4, X13 // 62327d0c51e9 VPDPBUSDS X17, X0, K4, X13 // 62327d0c51e9
//TODO: VPDPBUSDS 7(AX)(CX*4), X0, K4, X13 // 62727d0c51ac8807000000 VPDPBUSDS 7(AX)(CX*4), X0, K4, X13 // 62727d0c51ac8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X0, K4, X13 // 62727d0c51ac0807000000 VPDPBUSDS 7(AX)(CX*1), X0, K4, X13 // 62727d0c51ac0807000000
//TODO: VPDPBUSDS X25, X14, K4, X2 // 62920d0c51d1 VPDPBUSDS X25, X14, K4, X2 // 62920d0c51d1
//TODO: VPDPBUSDS X11, X14, K4, X2 // 62d20d0c51d3 VPDPBUSDS X11, X14, K4, X2 // 62d20d0c51d3
//TODO: VPDPBUSDS X17, X14, K4, X2 // 62b20d0c51d1 VPDPBUSDS X17, X14, K4, X2 // 62b20d0c51d1
//TODO: VPDPBUSDS 7(AX)(CX*4), X14, K4, X2 // 62f20d0c51948807000000 VPDPBUSDS 7(AX)(CX*4), X14, K4, X2 // 62f20d0c51948807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X14, K4, X2 // 62f20d0c51940807000000 VPDPBUSDS 7(AX)(CX*1), X14, K4, X2 // 62f20d0c51940807000000
//TODO: VPDPBUSDS X25, X0, K4, X2 // 62927d0c51d1 VPDPBUSDS X25, X0, K4, X2 // 62927d0c51d1
//TODO: VPDPBUSDS X11, X0, K4, X2 // 62d27d0c51d3 VPDPBUSDS X11, X0, K4, X2 // 62d27d0c51d3
//TODO: VPDPBUSDS X17, X0, K4, X2 // 62b27d0c51d1 VPDPBUSDS X17, X0, K4, X2 // 62b27d0c51d1
//TODO: VPDPBUSDS 7(AX)(CX*4), X0, K4, X2 // 62f27d0c51948807000000 VPDPBUSDS 7(AX)(CX*4), X0, K4, X2 // 62f27d0c51948807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X0, K4, X2 // 62f27d0c51940807000000 VPDPBUSDS 7(AX)(CX*1), X0, K4, X2 // 62f27d0c51940807000000
//TODO: VPDPBUSDS Y28, Y26, K2, Y16 // 62822d2251c4 VPDPBUSDS Y28, Y26, K2, Y16 // 62822d2251c4
//TODO: VPDPBUSDS Y1, Y26, K2, Y16 // 62e22d2251c1 VPDPBUSDS Y1, Y26, K2, Y16 // 62e22d2251c1
//TODO: VPDPBUSDS Y23, Y26, K2, Y16 // 62a22d2251c7 VPDPBUSDS Y23, Y26, K2, Y16 // 62a22d2251c7
//TODO: VPDPBUSDS (BX), Y26, K2, Y16 // 62e22d225103 VPDPBUSDS (BX), Y26, K2, Y16 // 62e22d225103
//TODO: VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y16 // 62e22d22518435efffffff VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y16 // 62e22d22518435efffffff
//TODO: VPDPBUSDS Y28, Y3, K2, Y16 // 6282652a51c4 VPDPBUSDS Y28, Y3, K2, Y16 // 6282652a51c4
//TODO: VPDPBUSDS Y1, Y3, K2, Y16 // 62e2652a51c1 VPDPBUSDS Y1, Y3, K2, Y16 // 62e2652a51c1
//TODO: VPDPBUSDS Y23, Y3, K2, Y16 // 62a2652a51c7 VPDPBUSDS Y23, Y3, K2, Y16 // 62a2652a51c7
//TODO: VPDPBUSDS (BX), Y3, K2, Y16 // 62e2652a5103 VPDPBUSDS (BX), Y3, K2, Y16 // 62e2652a5103
//TODO: VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y16 // 62e2652a518435efffffff VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y16 // 62e2652a518435efffffff
//TODO: VPDPBUSDS Y28, Y8, K2, Y16 // 62823d2a51c4 VPDPBUSDS Y28, Y8, K2, Y16 // 62823d2a51c4
//TODO: VPDPBUSDS Y1, Y8, K2, Y16 // 62e23d2a51c1 VPDPBUSDS Y1, Y8, K2, Y16 // 62e23d2a51c1
//TODO: VPDPBUSDS Y23, Y8, K2, Y16 // 62a23d2a51c7 VPDPBUSDS Y23, Y8, K2, Y16 // 62a23d2a51c7
//TODO: VPDPBUSDS (BX), Y8, K2, Y16 // 62e23d2a5103 VPDPBUSDS (BX), Y8, K2, Y16 // 62e23d2a5103
//TODO: VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y16 // 62e23d2a518435efffffff VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y16 // 62e23d2a518435efffffff
//TODO: VPDPBUSDS Y28, Y26, K2, Y12 // 62122d2251e4 VPDPBUSDS Y28, Y26, K2, Y12 // 62122d2251e4
//TODO: VPDPBUSDS Y1, Y26, K2, Y12 // 62722d2251e1 VPDPBUSDS Y1, Y26, K2, Y12 // 62722d2251e1
//TODO: VPDPBUSDS Y23, Y26, K2, Y12 // 62322d2251e7 VPDPBUSDS Y23, Y26, K2, Y12 // 62322d2251e7
//TODO: VPDPBUSDS (BX), Y26, K2, Y12 // 62722d225123 VPDPBUSDS (BX), Y26, K2, Y12 // 62722d225123
//TODO: VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y12 // 62722d2251a435efffffff VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y12 // 62722d2251a435efffffff
//TODO: VPDPBUSDS Y28, Y3, K2, Y12 // 6212652a51e4 VPDPBUSDS Y28, Y3, K2, Y12 // 6212652a51e4
//TODO: VPDPBUSDS Y1, Y3, K2, Y12 // 6272652a51e1 VPDPBUSDS Y1, Y3, K2, Y12 // 6272652a51e1
//TODO: VPDPBUSDS Y23, Y3, K2, Y12 // 6232652a51e7 VPDPBUSDS Y23, Y3, K2, Y12 // 6232652a51e7
//TODO: VPDPBUSDS (BX), Y3, K2, Y12 // 6272652a5123 VPDPBUSDS (BX), Y3, K2, Y12 // 6272652a5123
//TODO: VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y12 // 6272652a51a435efffffff VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y12 // 6272652a51a435efffffff
//TODO: VPDPBUSDS Y28, Y8, K2, Y12 // 62123d2a51e4 VPDPBUSDS Y28, Y8, K2, Y12 // 62123d2a51e4
//TODO: VPDPBUSDS Y1, Y8, K2, Y12 // 62723d2a51e1 VPDPBUSDS Y1, Y8, K2, Y12 // 62723d2a51e1
//TODO: VPDPBUSDS Y23, Y8, K2, Y12 // 62323d2a51e7 VPDPBUSDS Y23, Y8, K2, Y12 // 62323d2a51e7
//TODO: VPDPBUSDS (BX), Y8, K2, Y12 // 62723d2a5123 VPDPBUSDS (BX), Y8, K2, Y12 // 62723d2a5123
//TODO: VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y12 // 62723d2a51a435efffffff VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y12 // 62723d2a51a435efffffff
//TODO: VPDPBUSDS Y28, Y26, K2, Y6 // 62922d2251f4 VPDPBUSDS Y28, Y26, K2, Y6 // 62922d2251f4
//TODO: VPDPBUSDS Y1, Y26, K2, Y6 // 62f22d2251f1 VPDPBUSDS Y1, Y26, K2, Y6 // 62f22d2251f1
//TODO: VPDPBUSDS Y23, Y26, K2, Y6 // 62b22d2251f7 VPDPBUSDS Y23, Y26, K2, Y6 // 62b22d2251f7
//TODO: VPDPBUSDS (BX), Y26, K2, Y6 // 62f22d225133 VPDPBUSDS (BX), Y26, K2, Y6 // 62f22d225133
//TODO: VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y6 // 62f22d2251b435efffffff VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y6 // 62f22d2251b435efffffff
//TODO: VPDPBUSDS Y28, Y3, K2, Y6 // 6292652a51f4 VPDPBUSDS Y28, Y3, K2, Y6 // 6292652a51f4
//TODO: VPDPBUSDS Y1, Y3, K2, Y6 // 62f2652a51f1 VPDPBUSDS Y1, Y3, K2, Y6 // 62f2652a51f1
//TODO: VPDPBUSDS Y23, Y3, K2, Y6 // 62b2652a51f7 VPDPBUSDS Y23, Y3, K2, Y6 // 62b2652a51f7
//TODO: VPDPBUSDS (BX), Y3, K2, Y6 // 62f2652a5133 VPDPBUSDS (BX), Y3, K2, Y6 // 62f2652a5133
//TODO: VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y6 // 62f2652a51b435efffffff VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y6 // 62f2652a51b435efffffff
//TODO: VPDPBUSDS Y28, Y8, K2, Y6 // 62923d2a51f4 VPDPBUSDS Y28, Y8, K2, Y6 // 62923d2a51f4
//TODO: VPDPBUSDS Y1, Y8, K2, Y6 // 62f23d2a51f1 VPDPBUSDS Y1, Y8, K2, Y6 // 62f23d2a51f1
//TODO: VPDPBUSDS Y23, Y8, K2, Y6 // 62b23d2a51f7 VPDPBUSDS Y23, Y8, K2, Y6 // 62b23d2a51f7
//TODO: VPDPBUSDS (BX), Y8, K2, Y6 // 62f23d2a5133 VPDPBUSDS (BX), Y8, K2, Y6 // 62f23d2a5133
//TODO: VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y6 // 62f23d2a51b435efffffff VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y6 // 62f23d2a51b435efffffff
//TODO: VPDPBUSDS Z12, Z16, K2, Z21 // 62c27d4251ec VPDPBUSDS Z12, Z16, K2, Z21 // 62c27d4251ec
//TODO: VPDPBUSDS Z27, Z16, K2, Z21 // 62827d4251eb VPDPBUSDS Z27, Z16, K2, Z21 // 62827d4251eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z21 // 62e27d4251acec11000000 VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z21 // 62e27d4251acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z21 // 62e27d4251acac11000000 VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z21 // 62e27d4251acac11000000
//TODO: VPDPBUSDS Z12, Z13, K2, Z21 // 62c2154a51ec VPDPBUSDS Z12, Z13, K2, Z21 // 62c2154a51ec
//TODO: VPDPBUSDS Z27, Z13, K2, Z21 // 6282154a51eb VPDPBUSDS Z27, Z13, K2, Z21 // 6282154a51eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z21 // 62e2154a51acec11000000 VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z21 // 62e2154a51acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z21 // 62e2154a51acac11000000 VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z21 // 62e2154a51acac11000000
//TODO: VPDPBUSDS Z12, Z16, K2, Z5 // 62d27d4251ec VPDPBUSDS Z12, Z16, K2, Z5 // 62d27d4251ec
//TODO: VPDPBUSDS Z27, Z16, K2, Z5 // 62927d4251eb VPDPBUSDS Z27, Z16, K2, Z5 // 62927d4251eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z5 // 62f27d4251acec11000000 VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z5 // 62f27d4251acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z5 // 62f27d4251acac11000000 VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z5 // 62f27d4251acac11000000
//TODO: VPDPBUSDS Z12, Z13, K2, Z5 // 62d2154a51ec VPDPBUSDS Z12, Z13, K2, Z5 // 62d2154a51ec
//TODO: VPDPBUSDS Z27, Z13, K2, Z5 // 6292154a51eb VPDPBUSDS Z27, Z13, K2, Z5 // 6292154a51eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z5 // 62f2154a51acec11000000 VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z5 // 62f2154a51acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z5 // 62f2154a51acac11000000 VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z5 // 62f2154a51acac11000000
//TODO: VPDPWSSD X2, X2, K3, X18 // 62e26d0b52d2 VPDPWSSD X2, X2, K3, X18 // 62e26d0b52d2
//TODO: VPDPWSSD X27, X2, K3, X18 // 62826d0b52d3 VPDPWSSD X27, X2, K3, X18 // 62826d0b52d3
//TODO: VPDPWSSD X26, X2, K3, X18 // 62826d0b52d2 VPDPWSSD X26, X2, K3, X18 // 62826d0b52d2
//TODO: VPDPWSSD (SI), X2, K3, X18 // 62e26d0b5216 VPDPWSSD (SI), X2, K3, X18 // 62e26d0b5216
//TODO: VPDPWSSD 7(SI)(DI*2), X2, K3, X18 // 62e26d0b52947e07000000 VPDPWSSD 7(SI)(DI*2), X2, K3, X18 // 62e26d0b52947e07000000
//TODO: VPDPWSSD X2, X24, K3, X18 // 62e23d0352d2 VPDPWSSD X2, X24, K3, X18 // 62e23d0352d2
//TODO: VPDPWSSD X27, X24, K3, X18 // 62823d0352d3 VPDPWSSD X27, X24, K3, X18 // 62823d0352d3
//TODO: VPDPWSSD X26, X24, K3, X18 // 62823d0352d2 VPDPWSSD X26, X24, K3, X18 // 62823d0352d2
//TODO: VPDPWSSD (SI), X24, K3, X18 // 62e23d035216 VPDPWSSD (SI), X24, K3, X18 // 62e23d035216
//TODO: VPDPWSSD 7(SI)(DI*2), X24, K3, X18 // 62e23d0352947e07000000 VPDPWSSD 7(SI)(DI*2), X24, K3, X18 // 62e23d0352947e07000000
//TODO: VPDPWSSD X2, X2, K3, X11 // 62726d0b52da VPDPWSSD X2, X2, K3, X11 // 62726d0b52da
//TODO: VPDPWSSD X27, X2, K3, X11 // 62126d0b52db VPDPWSSD X27, X2, K3, X11 // 62126d0b52db
//TODO: VPDPWSSD X26, X2, K3, X11 // 62126d0b52da VPDPWSSD X26, X2, K3, X11 // 62126d0b52da
//TODO: VPDPWSSD (SI), X2, K3, X11 // 62726d0b521e VPDPWSSD (SI), X2, K3, X11 // 62726d0b521e
//TODO: VPDPWSSD 7(SI)(DI*2), X2, K3, X11 // 62726d0b529c7e07000000 VPDPWSSD 7(SI)(DI*2), X2, K3, X11 // 62726d0b529c7e07000000
//TODO: VPDPWSSD X2, X24, K3, X11 // 62723d0352da VPDPWSSD X2, X24, K3, X11 // 62723d0352da
//TODO: VPDPWSSD X27, X24, K3, X11 // 62123d0352db VPDPWSSD X27, X24, K3, X11 // 62123d0352db
//TODO: VPDPWSSD X26, X24, K3, X11 // 62123d0352da VPDPWSSD X26, X24, K3, X11 // 62123d0352da
//TODO: VPDPWSSD (SI), X24, K3, X11 // 62723d03521e VPDPWSSD (SI), X24, K3, X11 // 62723d03521e
//TODO: VPDPWSSD 7(SI)(DI*2), X24, K3, X11 // 62723d03529c7e07000000 VPDPWSSD 7(SI)(DI*2), X24, K3, X11 // 62723d03529c7e07000000
//TODO: VPDPWSSD X2, X2, K3, X9 // 62726d0b52ca VPDPWSSD X2, X2, K3, X9 // 62726d0b52ca
//TODO: VPDPWSSD X27, X2, K3, X9 // 62126d0b52cb VPDPWSSD X27, X2, K3, X9 // 62126d0b52cb
//TODO: VPDPWSSD X26, X2, K3, X9 // 62126d0b52ca VPDPWSSD X26, X2, K3, X9 // 62126d0b52ca
//TODO: VPDPWSSD (SI), X2, K3, X9 // 62726d0b520e VPDPWSSD (SI), X2, K3, X9 // 62726d0b520e
//TODO: VPDPWSSD 7(SI)(DI*2), X2, K3, X9 // 62726d0b528c7e07000000 VPDPWSSD 7(SI)(DI*2), X2, K3, X9 // 62726d0b528c7e07000000
//TODO: VPDPWSSD X2, X24, K3, X9 // 62723d0352ca VPDPWSSD X2, X24, K3, X9 // 62723d0352ca
//TODO: VPDPWSSD X27, X24, K3, X9 // 62123d0352cb VPDPWSSD X27, X24, K3, X9 // 62123d0352cb
//TODO: VPDPWSSD X26, X24, K3, X9 // 62123d0352ca VPDPWSSD X26, X24, K3, X9 // 62123d0352ca
//TODO: VPDPWSSD (SI), X24, K3, X9 // 62723d03520e VPDPWSSD (SI), X24, K3, X9 // 62723d03520e
//TODO: VPDPWSSD 7(SI)(DI*2), X24, K3, X9 // 62723d03528c7e07000000 VPDPWSSD 7(SI)(DI*2), X24, K3, X9 // 62723d03528c7e07000000
//TODO: VPDPWSSD Y8, Y2, K3, Y14 // 62526d2b52f0 VPDPWSSD Y8, Y2, K3, Y14 // 62526d2b52f0
//TODO: VPDPWSSD Y9, Y2, K3, Y14 // 62526d2b52f1 VPDPWSSD Y9, Y2, K3, Y14 // 62526d2b52f1
//TODO: VPDPWSSD Y22, Y2, K3, Y14 // 62326d2b52f6 VPDPWSSD Y22, Y2, K3, Y14 // 62326d2b52f6
//TODO: VPDPWSSD 15(R8)(R14*4), Y2, K3, Y14 // 62126d2b52b4b00f000000 VPDPWSSD 15(R8)(R14*4), Y2, K3, Y14 // 62126d2b52b4b00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y2, K3, Y14 // 62726d2b52b491f9ffffff VPDPWSSD -7(CX)(DX*4), Y2, K3, Y14 // 62726d2b52b491f9ffffff
//TODO: VPDPWSSD Y8, Y22, K3, Y14 // 62524d2352f0 VPDPWSSD Y8, Y22, K3, Y14 // 62524d2352f0
//TODO: VPDPWSSD Y9, Y22, K3, Y14 // 62524d2352f1 VPDPWSSD Y9, Y22, K3, Y14 // 62524d2352f1
//TODO: VPDPWSSD Y22, Y22, K3, Y14 // 62324d2352f6 VPDPWSSD Y22, Y22, K3, Y14 // 62324d2352f6
//TODO: VPDPWSSD 15(R8)(R14*4), Y22, K3, Y14 // 62124d2352b4b00f000000 VPDPWSSD 15(R8)(R14*4), Y22, K3, Y14 // 62124d2352b4b00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y22, K3, Y14 // 62724d2352b491f9ffffff VPDPWSSD -7(CX)(DX*4), Y22, K3, Y14 // 62724d2352b491f9ffffff
//TODO: VPDPWSSD Y8, Y27, K3, Y14 // 6252252352f0 VPDPWSSD Y8, Y27, K3, Y14 // 6252252352f0
//TODO: VPDPWSSD Y9, Y27, K3, Y14 // 6252252352f1 VPDPWSSD Y9, Y27, K3, Y14 // 6252252352f1
//TODO: VPDPWSSD Y22, Y27, K3, Y14 // 6232252352f6 VPDPWSSD Y22, Y27, K3, Y14 // 6232252352f6
//TODO: VPDPWSSD 15(R8)(R14*4), Y27, K3, Y14 // 6212252352b4b00f000000 VPDPWSSD 15(R8)(R14*4), Y27, K3, Y14 // 6212252352b4b00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y27, K3, Y14 // 6272252352b491f9ffffff VPDPWSSD -7(CX)(DX*4), Y27, K3, Y14 // 6272252352b491f9ffffff
//TODO: VPDPWSSD Y8, Y2, K3, Y31 // 62426d2b52f8 VPDPWSSD Y8, Y2, K3, Y31 // 62426d2b52f8
//TODO: VPDPWSSD Y9, Y2, K3, Y31 // 62426d2b52f9 VPDPWSSD Y9, Y2, K3, Y31 // 62426d2b52f9
//TODO: VPDPWSSD Y22, Y2, K3, Y31 // 62226d2b52fe VPDPWSSD Y22, Y2, K3, Y31 // 62226d2b52fe
//TODO: VPDPWSSD 15(R8)(R14*4), Y2, K3, Y31 // 62026d2b52bcb00f000000 VPDPWSSD 15(R8)(R14*4), Y2, K3, Y31 // 62026d2b52bcb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y2, K3, Y31 // 62626d2b52bc91f9ffffff VPDPWSSD -7(CX)(DX*4), Y2, K3, Y31 // 62626d2b52bc91f9ffffff
//TODO: VPDPWSSD Y8, Y22, K3, Y31 // 62424d2352f8 VPDPWSSD Y8, Y22, K3, Y31 // 62424d2352f8
//TODO: VPDPWSSD Y9, Y22, K3, Y31 // 62424d2352f9 VPDPWSSD Y9, Y22, K3, Y31 // 62424d2352f9
//TODO: VPDPWSSD Y22, Y22, K3, Y31 // 62224d2352fe VPDPWSSD Y22, Y22, K3, Y31 // 62224d2352fe
//TODO: VPDPWSSD 15(R8)(R14*4), Y22, K3, Y31 // 62024d2352bcb00f000000 VPDPWSSD 15(R8)(R14*4), Y22, K3, Y31 // 62024d2352bcb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y22, K3, Y31 // 62624d2352bc91f9ffffff VPDPWSSD -7(CX)(DX*4), Y22, K3, Y31 // 62624d2352bc91f9ffffff
//TODO: VPDPWSSD Y8, Y27, K3, Y31 // 6242252352f8 VPDPWSSD Y8, Y27, K3, Y31 // 6242252352f8
//TODO: VPDPWSSD Y9, Y27, K3, Y31 // 6242252352f9 VPDPWSSD Y9, Y27, K3, Y31 // 6242252352f9
//TODO: VPDPWSSD Y22, Y27, K3, Y31 // 6222252352fe VPDPWSSD Y22, Y27, K3, Y31 // 6222252352fe
//TODO: VPDPWSSD 15(R8)(R14*4), Y27, K3, Y31 // 6202252352bcb00f000000 VPDPWSSD 15(R8)(R14*4), Y27, K3, Y31 // 6202252352bcb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y27, K3, Y31 // 6262252352bc91f9ffffff VPDPWSSD -7(CX)(DX*4), Y27, K3, Y31 // 6262252352bc91f9ffffff
//TODO: VPDPWSSD Y8, Y2, K3, Y25 // 62426d2b52c8 VPDPWSSD Y8, Y2, K3, Y25 // 62426d2b52c8
//TODO: VPDPWSSD Y9, Y2, K3, Y25 // 62426d2b52c9 VPDPWSSD Y9, Y2, K3, Y25 // 62426d2b52c9
//TODO: VPDPWSSD Y22, Y2, K3, Y25 // 62226d2b52ce VPDPWSSD Y22, Y2, K3, Y25 // 62226d2b52ce
//TODO: VPDPWSSD 15(R8)(R14*4), Y2, K3, Y25 // 62026d2b528cb00f000000 VPDPWSSD 15(R8)(R14*4), Y2, K3, Y25 // 62026d2b528cb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y2, K3, Y25 // 62626d2b528c91f9ffffff VPDPWSSD -7(CX)(DX*4), Y2, K3, Y25 // 62626d2b528c91f9ffffff
//TODO: VPDPWSSD Y8, Y22, K3, Y25 // 62424d2352c8 VPDPWSSD Y8, Y22, K3, Y25 // 62424d2352c8
//TODO: VPDPWSSD Y9, Y22, K3, Y25 // 62424d2352c9 VPDPWSSD Y9, Y22, K3, Y25 // 62424d2352c9
//TODO: VPDPWSSD Y22, Y22, K3, Y25 // 62224d2352ce VPDPWSSD Y22, Y22, K3, Y25 // 62224d2352ce
//TODO: VPDPWSSD 15(R8)(R14*4), Y22, K3, Y25 // 62024d23528cb00f000000 VPDPWSSD 15(R8)(R14*4), Y22, K3, Y25 // 62024d23528cb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y22, K3, Y25 // 62624d23528c91f9ffffff VPDPWSSD -7(CX)(DX*4), Y22, K3, Y25 // 62624d23528c91f9ffffff
//TODO: VPDPWSSD Y8, Y27, K3, Y25 // 6242252352c8 VPDPWSSD Y8, Y27, K3, Y25 // 6242252352c8
//TODO: VPDPWSSD Y9, Y27, K3, Y25 // 6242252352c9 VPDPWSSD Y9, Y27, K3, Y25 // 6242252352c9
//TODO: VPDPWSSD Y22, Y27, K3, Y25 // 6222252352ce VPDPWSSD Y22, Y27, K3, Y25 // 6222252352ce
//TODO: VPDPWSSD 15(R8)(R14*4), Y27, K3, Y25 // 62022523528cb00f000000 VPDPWSSD 15(R8)(R14*4), Y27, K3, Y25 // 62022523528cb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y27, K3, Y25 // 62622523528c91f9ffffff VPDPWSSD -7(CX)(DX*4), Y27, K3, Y25 // 62622523528c91f9ffffff
//TODO: VPDPWSSD Z25, Z6, K3, Z22 // 62824d4b52f1 VPDPWSSD Z25, Z6, K3, Z22 // 62824d4b52f1
//TODO: VPDPWSSD Z12, Z6, K3, Z22 // 62c24d4b52f4 VPDPWSSD Z12, Z6, K3, Z22 // 62c24d4b52f4
//TODO: VPDPWSSD 7(SI)(DI*4), Z6, K3, Z22 // 62e24d4b52b4be07000000 VPDPWSSD 7(SI)(DI*4), Z6, K3, Z22 // 62e24d4b52b4be07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z6, K3, Z22 // 62a24d4b52b447f9ffffff VPDPWSSD -7(DI)(R8*2), Z6, K3, Z22 // 62a24d4b52b447f9ffffff
//TODO: VPDPWSSD Z25, Z8, K3, Z22 // 62823d4b52f1 VPDPWSSD Z25, Z8, K3, Z22 // 62823d4b52f1
//TODO: VPDPWSSD Z12, Z8, K3, Z22 // 62c23d4b52f4 VPDPWSSD Z12, Z8, K3, Z22 // 62c23d4b52f4
//TODO: VPDPWSSD 7(SI)(DI*4), Z8, K3, Z22 // 62e23d4b52b4be07000000 VPDPWSSD 7(SI)(DI*4), Z8, K3, Z22 // 62e23d4b52b4be07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z8, K3, Z22 // 62a23d4b52b447f9ffffff VPDPWSSD -7(DI)(R8*2), Z8, K3, Z22 // 62a23d4b52b447f9ffffff
//TODO: VPDPWSSD Z25, Z6, K3, Z11 // 62124d4b52d9 VPDPWSSD Z25, Z6, K3, Z11 // 62124d4b52d9
//TODO: VPDPWSSD Z12, Z6, K3, Z11 // 62524d4b52dc VPDPWSSD Z12, Z6, K3, Z11 // 62524d4b52dc
//TODO: VPDPWSSD 7(SI)(DI*4), Z6, K3, Z11 // 62724d4b529cbe07000000 VPDPWSSD 7(SI)(DI*4), Z6, K3, Z11 // 62724d4b529cbe07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z6, K3, Z11 // 62324d4b529c47f9ffffff VPDPWSSD -7(DI)(R8*2), Z6, K3, Z11 // 62324d4b529c47f9ffffff
//TODO: VPDPWSSD Z25, Z8, K3, Z11 // 62123d4b52d9 VPDPWSSD Z25, Z8, K3, Z11 // 62123d4b52d9
//TODO: VPDPWSSD Z12, Z8, K3, Z11 // 62523d4b52dc VPDPWSSD Z12, Z8, K3, Z11 // 62523d4b52dc
//TODO: VPDPWSSD 7(SI)(DI*4), Z8, K3, Z11 // 62723d4b529cbe07000000 VPDPWSSD 7(SI)(DI*4), Z8, K3, Z11 // 62723d4b529cbe07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z8, K3, Z11 // 62323d4b529c47f9ffffff VPDPWSSD -7(DI)(R8*2), Z8, K3, Z11 // 62323d4b529c47f9ffffff
//TODO: VPDPWSSDS X13, X11, K2, X22 // 62c2250a53f5 VPDPWSSDS X13, X11, K2, X22 // 62c2250a53f5
//TODO: VPDPWSSDS X6, X11, K2, X22 // 62e2250a53f6 VPDPWSSDS X6, X11, K2, X22 // 62e2250a53f6
//TODO: VPDPWSSDS X12, X11, K2, X22 // 62c2250a53f4 VPDPWSSDS X12, X11, K2, X22 // 62c2250a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X11, K2, X22 // 62e2250a53b4ec11000000 VPDPWSSDS 17(SP)(BP*8), X11, K2, X22 // 62e2250a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X11, K2, X22 // 62e2250a53b4ac11000000 VPDPWSSDS 17(SP)(BP*4), X11, K2, X22 // 62e2250a53b4ac11000000
//TODO: VPDPWSSDS X13, X15, K2, X22 // 62c2050a53f5 VPDPWSSDS X13, X15, K2, X22 // 62c2050a53f5
//TODO: VPDPWSSDS X6, X15, K2, X22 // 62e2050a53f6 VPDPWSSDS X6, X15, K2, X22 // 62e2050a53f6
//TODO: VPDPWSSDS X12, X15, K2, X22 // 62c2050a53f4 VPDPWSSDS X12, X15, K2, X22 // 62c2050a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X15, K2, X22 // 62e2050a53b4ec11000000 VPDPWSSDS 17(SP)(BP*8), X15, K2, X22 // 62e2050a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X15, K2, X22 // 62e2050a53b4ac11000000 VPDPWSSDS 17(SP)(BP*4), X15, K2, X22 // 62e2050a53b4ac11000000
//TODO: VPDPWSSDS X13, X30, K2, X22 // 62c20d0253f5 VPDPWSSDS X13, X30, K2, X22 // 62c20d0253f5
//TODO: VPDPWSSDS X6, X30, K2, X22 // 62e20d0253f6 VPDPWSSDS X6, X30, K2, X22 // 62e20d0253f6
//TODO: VPDPWSSDS X12, X30, K2, X22 // 62c20d0253f4 VPDPWSSDS X12, X30, K2, X22 // 62c20d0253f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X30, K2, X22 // 62e20d0253b4ec11000000 VPDPWSSDS 17(SP)(BP*8), X30, K2, X22 // 62e20d0253b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X30, K2, X22 // 62e20d0253b4ac11000000 VPDPWSSDS 17(SP)(BP*4), X30, K2, X22 // 62e20d0253b4ac11000000
//TODO: VPDPWSSDS X13, X11, K2, X30 // 6242250a53f5 VPDPWSSDS X13, X11, K2, X30 // 6242250a53f5
//TODO: VPDPWSSDS X6, X11, K2, X30 // 6262250a53f6 VPDPWSSDS X6, X11, K2, X30 // 6262250a53f6
//TODO: VPDPWSSDS X12, X11, K2, X30 // 6242250a53f4 VPDPWSSDS X12, X11, K2, X30 // 6242250a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X11, K2, X30 // 6262250a53b4ec11000000 VPDPWSSDS 17(SP)(BP*8), X11, K2, X30 // 6262250a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X11, K2, X30 // 6262250a53b4ac11000000 VPDPWSSDS 17(SP)(BP*4), X11, K2, X30 // 6262250a53b4ac11000000
//TODO: VPDPWSSDS X13, X15, K2, X30 // 6242050a53f5 VPDPWSSDS X13, X15, K2, X30 // 6242050a53f5
//TODO: VPDPWSSDS X6, X15, K2, X30 // 6262050a53f6 VPDPWSSDS X6, X15, K2, X30 // 6262050a53f6
//TODO: VPDPWSSDS X12, X15, K2, X30 // 6242050a53f4 VPDPWSSDS X12, X15, K2, X30 // 6242050a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X15, K2, X30 // 6262050a53b4ec11000000 VPDPWSSDS 17(SP)(BP*8), X15, K2, X30 // 6262050a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X15, K2, X30 // 6262050a53b4ac11000000 VPDPWSSDS 17(SP)(BP*4), X15, K2, X30 // 6262050a53b4ac11000000
//TODO: VPDPWSSDS X13, X30, K2, X30 // 62420d0253f5 VPDPWSSDS X13, X30, K2, X30 // 62420d0253f5
//TODO: VPDPWSSDS X6, X30, K2, X30 // 62620d0253f6 VPDPWSSDS X6, X30, K2, X30 // 62620d0253f6
//TODO: VPDPWSSDS X12, X30, K2, X30 // 62420d0253f4 VPDPWSSDS X12, X30, K2, X30 // 62420d0253f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X30, K2, X30 // 62620d0253b4ec11000000 VPDPWSSDS 17(SP)(BP*8), X30, K2, X30 // 62620d0253b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X30, K2, X30 // 62620d0253b4ac11000000 VPDPWSSDS 17(SP)(BP*4), X30, K2, X30 // 62620d0253b4ac11000000
//TODO: VPDPWSSDS X13, X11, K2, X3 // 62d2250a53dd VPDPWSSDS X13, X11, K2, X3 // 62d2250a53dd
//TODO: VPDPWSSDS X6, X11, K2, X3 // 62f2250a53de VPDPWSSDS X6, X11, K2, X3 // 62f2250a53de
//TODO: VPDPWSSDS X12, X11, K2, X3 // 62d2250a53dc VPDPWSSDS X12, X11, K2, X3 // 62d2250a53dc
//TODO: VPDPWSSDS 17(SP)(BP*8), X11, K2, X3 // 62f2250a539cec11000000 VPDPWSSDS 17(SP)(BP*8), X11, K2, X3 // 62f2250a539cec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X11, K2, X3 // 62f2250a539cac11000000 VPDPWSSDS 17(SP)(BP*4), X11, K2, X3 // 62f2250a539cac11000000
//TODO: VPDPWSSDS X13, X15, K2, X3 // 62d2050a53dd VPDPWSSDS X13, X15, K2, X3 // 62d2050a53dd
//TODO: VPDPWSSDS X6, X15, K2, X3 // 62f2050a53de VPDPWSSDS X6, X15, K2, X3 // 62f2050a53de
//TODO: VPDPWSSDS X12, X15, K2, X3 // 62d2050a53dc VPDPWSSDS X12, X15, K2, X3 // 62d2050a53dc
//TODO: VPDPWSSDS 17(SP)(BP*8), X15, K2, X3 // 62f2050a539cec11000000 VPDPWSSDS 17(SP)(BP*8), X15, K2, X3 // 62f2050a539cec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X15, K2, X3 // 62f2050a539cac11000000 VPDPWSSDS 17(SP)(BP*4), X15, K2, X3 // 62f2050a539cac11000000
//TODO: VPDPWSSDS X13, X30, K2, X3 // 62d20d0253dd VPDPWSSDS X13, X30, K2, X3 // 62d20d0253dd
//TODO: VPDPWSSDS X6, X30, K2, X3 // 62f20d0253de VPDPWSSDS X6, X30, K2, X3 // 62f20d0253de
//TODO: VPDPWSSDS X12, X30, K2, X3 // 62d20d0253dc VPDPWSSDS X12, X30, K2, X3 // 62d20d0253dc
//TODO: VPDPWSSDS 17(SP)(BP*8), X30, K2, X3 // 62f20d02539cec11000000 VPDPWSSDS 17(SP)(BP*8), X30, K2, X3 // 62f20d02539cec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X30, K2, X3 // 62f20d02539cac11000000 VPDPWSSDS 17(SP)(BP*4), X30, K2, X3 // 62f20d02539cac11000000
//TODO: VPDPWSSDS Y0, Y6, K1, Y9 // 62724d2953c8 VPDPWSSDS Y0, Y6, K1, Y9 // 62724d2953c8
//TODO: VPDPWSSDS Y19, Y6, K1, Y9 // 62324d2953cb VPDPWSSDS Y19, Y6, K1, Y9 // 62324d2953cb
//TODO: VPDPWSSDS Y31, Y6, K1, Y9 // 62124d2953cf VPDPWSSDS Y31, Y6, K1, Y9 // 62124d2953cf
//TODO: VPDPWSSDS (R8), Y6, K1, Y9 // 62524d295308 VPDPWSSDS (R8), Y6, K1, Y9 // 62524d295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y9 // 62724d29538c5a0f000000 VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y9 // 62724d29538c5a0f000000
//TODO: VPDPWSSDS Y0, Y1, K1, Y9 // 6272752953c8 VPDPWSSDS Y0, Y1, K1, Y9 // 6272752953c8
//TODO: VPDPWSSDS Y19, Y1, K1, Y9 // 6232752953cb VPDPWSSDS Y19, Y1, K1, Y9 // 6232752953cb
//TODO: VPDPWSSDS Y31, Y1, K1, Y9 // 6212752953cf VPDPWSSDS Y31, Y1, K1, Y9 // 6212752953cf
//TODO: VPDPWSSDS (R8), Y1, K1, Y9 // 625275295308 VPDPWSSDS (R8), Y1, K1, Y9 // 625275295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y9 // 62727529538c5a0f000000 VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y9 // 62727529538c5a0f000000
//TODO: VPDPWSSDS Y0, Y9, K1, Y9 // 6272352953c8 VPDPWSSDS Y0, Y9, K1, Y9 // 6272352953c8
//TODO: VPDPWSSDS Y19, Y9, K1, Y9 // 6232352953cb VPDPWSSDS Y19, Y9, K1, Y9 // 6232352953cb
//TODO: VPDPWSSDS Y31, Y9, K1, Y9 // 6212352953cf VPDPWSSDS Y31, Y9, K1, Y9 // 6212352953cf
//TODO: VPDPWSSDS (R8), Y9, K1, Y9 // 625235295308 VPDPWSSDS (R8), Y9, K1, Y9 // 625235295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y9 // 62723529538c5a0f000000 VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y9 // 62723529538c5a0f000000
//TODO: VPDPWSSDS Y0, Y6, K1, Y14 // 62724d2953f0 VPDPWSSDS Y0, Y6, K1, Y14 // 62724d2953f0
//TODO: VPDPWSSDS Y19, Y6, K1, Y14 // 62324d2953f3 VPDPWSSDS Y19, Y6, K1, Y14 // 62324d2953f3
//TODO: VPDPWSSDS Y31, Y6, K1, Y14 // 62124d2953f7 VPDPWSSDS Y31, Y6, K1, Y14 // 62124d2953f7
//TODO: VPDPWSSDS (R8), Y6, K1, Y14 // 62524d295330 VPDPWSSDS (R8), Y6, K1, Y14 // 62524d295330
//TODO: VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y14 // 62724d2953b45a0f000000 VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y14 // 62724d2953b45a0f000000
//TODO: VPDPWSSDS Y0, Y1, K1, Y14 // 6272752953f0 VPDPWSSDS Y0, Y1, K1, Y14 // 6272752953f0
//TODO: VPDPWSSDS Y19, Y1, K1, Y14 // 6232752953f3 VPDPWSSDS Y19, Y1, K1, Y14 // 6232752953f3
//TODO: VPDPWSSDS Y31, Y1, K1, Y14 // 6212752953f7 VPDPWSSDS Y31, Y1, K1, Y14 // 6212752953f7
//TODO: VPDPWSSDS (R8), Y1, K1, Y14 // 625275295330 VPDPWSSDS (R8), Y1, K1, Y14 // 625275295330
//TODO: VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y14 // 6272752953b45a0f000000 VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y14 // 6272752953b45a0f000000
//TODO: VPDPWSSDS Y0, Y9, K1, Y14 // 6272352953f0 VPDPWSSDS Y0, Y9, K1, Y14 // 6272352953f0
//TODO: VPDPWSSDS Y19, Y9, K1, Y14 // 6232352953f3 VPDPWSSDS Y19, Y9, K1, Y14 // 6232352953f3
//TODO: VPDPWSSDS Y31, Y9, K1, Y14 // 6212352953f7 VPDPWSSDS Y31, Y9, K1, Y14 // 6212352953f7
//TODO: VPDPWSSDS (R8), Y9, K1, Y14 // 625235295330 VPDPWSSDS (R8), Y9, K1, Y14 // 625235295330
//TODO: VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y14 // 6272352953b45a0f000000 VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y14 // 6272352953b45a0f000000
//TODO: VPDPWSSDS Y0, Y6, K1, Y1 // 62f24d2953c8 VPDPWSSDS Y0, Y6, K1, Y1 // 62f24d2953c8
//TODO: VPDPWSSDS Y19, Y6, K1, Y1 // 62b24d2953cb VPDPWSSDS Y19, Y6, K1, Y1 // 62b24d2953cb
//TODO: VPDPWSSDS Y31, Y6, K1, Y1 // 62924d2953cf VPDPWSSDS Y31, Y6, K1, Y1 // 62924d2953cf
//TODO: VPDPWSSDS (R8), Y6, K1, Y1 // 62d24d295308 VPDPWSSDS (R8), Y6, K1, Y1 // 62d24d295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y1 // 62f24d29538c5a0f000000 VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y1 // 62f24d29538c5a0f000000
//TODO: VPDPWSSDS Y0, Y1, K1, Y1 // 62f2752953c8 VPDPWSSDS Y0, Y1, K1, Y1 // 62f2752953c8
//TODO: VPDPWSSDS Y19, Y1, K1, Y1 // 62b2752953cb VPDPWSSDS Y19, Y1, K1, Y1 // 62b2752953cb
//TODO: VPDPWSSDS Y31, Y1, K1, Y1 // 6292752953cf VPDPWSSDS Y31, Y1, K1, Y1 // 6292752953cf
//TODO: VPDPWSSDS (R8), Y1, K1, Y1 // 62d275295308 VPDPWSSDS (R8), Y1, K1, Y1 // 62d275295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y1 // 62f27529538c5a0f000000 VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y1 // 62f27529538c5a0f000000
//TODO: VPDPWSSDS Y0, Y9, K1, Y1 // 62f2352953c8 VPDPWSSDS Y0, Y9, K1, Y1 // 62f2352953c8
//TODO: VPDPWSSDS Y19, Y9, K1, Y1 // 62b2352953cb VPDPWSSDS Y19, Y9, K1, Y1 // 62b2352953cb
//TODO: VPDPWSSDS Y31, Y9, K1, Y1 // 6292352953cf VPDPWSSDS Y31, Y9, K1, Y1 // 6292352953cf
//TODO: VPDPWSSDS (R8), Y9, K1, Y1 // 62d235295308 VPDPWSSDS (R8), Y9, K1, Y1 // 62d235295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y1 // 62f23529538c5a0f000000 VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y1 // 62f23529538c5a0f000000
//TODO: VPDPWSSDS Z6, Z9, K2, Z12 // 6272354a53e6 VPDPWSSDS Z6, Z9, K2, Z12 // 6272354a53e6
//TODO: VPDPWSSDS Z25, Z9, K2, Z12 // 6212354a53e1 VPDPWSSDS Z25, Z9, K2, Z12 // 6212354a53e1
//TODO: VPDPWSSDS 17(SP), Z9, K2, Z12 // 6272354a53a42411000000 VPDPWSSDS 17(SP), Z9, K2, Z12 // 6272354a53a42411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z12 // 6272354a53a4b5efffffff VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z12 // 6272354a53a4b5efffffff
//TODO: VPDPWSSDS Z6, Z12, K2, Z12 // 62721d4a53e6 VPDPWSSDS Z6, Z12, K2, Z12 // 62721d4a53e6
//TODO: VPDPWSSDS Z25, Z12, K2, Z12 // 62121d4a53e1 VPDPWSSDS Z25, Z12, K2, Z12 // 62121d4a53e1
//TODO: VPDPWSSDS 17(SP), Z12, K2, Z12 // 62721d4a53a42411000000 VPDPWSSDS 17(SP), Z12, K2, Z12 // 62721d4a53a42411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z12 // 62721d4a53a4b5efffffff VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z12 // 62721d4a53a4b5efffffff
//TODO: VPDPWSSDS Z6, Z9, K2, Z17 // 62e2354a53ce VPDPWSSDS Z6, Z9, K2, Z17 // 62e2354a53ce
//TODO: VPDPWSSDS Z25, Z9, K2, Z17 // 6282354a53c9 VPDPWSSDS Z25, Z9, K2, Z17 // 6282354a53c9
//TODO: VPDPWSSDS 17(SP), Z9, K2, Z17 // 62e2354a538c2411000000 VPDPWSSDS 17(SP), Z9, K2, Z17 // 62e2354a538c2411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z17 // 62e2354a538cb5efffffff VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z17 // 62e2354a538cb5efffffff
//TODO: VPDPWSSDS Z6, Z12, K2, Z17 // 62e21d4a53ce VPDPWSSDS Z6, Z12, K2, Z17 // 62e21d4a53ce
//TODO: VPDPWSSDS Z25, Z12, K2, Z17 // 62821d4a53c9 VPDPWSSDS Z25, Z12, K2, Z17 // 62821d4a53c9
//TODO: VPDPWSSDS 17(SP), Z12, K2, Z17 // 62e21d4a538c2411000000 VPDPWSSDS 17(SP), Z12, K2, Z17 // 62e21d4a538c2411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z17 // 62e21d4a538cb5efffffff VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z17 // 62e21d4a538cb5efffffff
RET RET
...@@ -3,80 +3,80 @@ ...@@ -3,80 +3,80 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_vpopcntdq(SB), NOSPLIT, $0 TEXT asmtest_avx512_vpopcntdq(SB), NOSPLIT, $0
//TODO: VPOPCNTD X12, K2, X8 // 62527d0a55c4 VPOPCNTD X12, K2, X8 // 62527d0a55c4
//TODO: VPOPCNTD X16, K2, X8 // 62327d0a55c0 VPOPCNTD X16, K2, X8 // 62327d0a55c0
//TODO: VPOPCNTD X23, K2, X8 // 62327d0a55c7 VPOPCNTD X23, K2, X8 // 62327d0a55c7
//TODO: VPOPCNTD (R14), K2, X8 // 62527d0a5506 VPOPCNTD (R14), K2, X8 // 62527d0a5506
//TODO: VPOPCNTD -7(DI)(R8*8), K2, X8 // 62327d0a5584c7f9ffffff VPOPCNTD -7(DI)(R8*8), K2, X8 // 62327d0a5584c7f9ffffff
//TODO: VPOPCNTD X12, K2, X26 // 62427d0a55d4 VPOPCNTD X12, K2, X26 // 62427d0a55d4
//TODO: VPOPCNTD X16, K2, X26 // 62227d0a55d0 VPOPCNTD X16, K2, X26 // 62227d0a55d0
//TODO: VPOPCNTD X23, K2, X26 // 62227d0a55d7 VPOPCNTD X23, K2, X26 // 62227d0a55d7
//TODO: VPOPCNTD (R14), K2, X26 // 62427d0a5516 VPOPCNTD (R14), K2, X26 // 62427d0a5516
//TODO: VPOPCNTD -7(DI)(R8*8), K2, X26 // 62227d0a5594c7f9ffffff VPOPCNTD -7(DI)(R8*8), K2, X26 // 62227d0a5594c7f9ffffff
//TODO: VPOPCNTD X12, K2, X23 // 62c27d0a55fc VPOPCNTD X12, K2, X23 // 62c27d0a55fc
//TODO: VPOPCNTD X16, K2, X23 // 62a27d0a55f8 VPOPCNTD X16, K2, X23 // 62a27d0a55f8
//TODO: VPOPCNTD X23, K2, X23 // 62a27d0a55ff VPOPCNTD X23, K2, X23 // 62a27d0a55ff
//TODO: VPOPCNTD (R14), K2, X23 // 62c27d0a553e VPOPCNTD (R14), K2, X23 // 62c27d0a553e
//TODO: VPOPCNTD -7(DI)(R8*8), K2, X23 // 62a27d0a55bcc7f9ffffff VPOPCNTD -7(DI)(R8*8), K2, X23 // 62a27d0a55bcc7f9ffffff
//TODO: VPOPCNTD Y22, K5, Y26 // 62227d2d55d6 VPOPCNTD Y22, K5, Y26 // 62227d2d55d6
//TODO: VPOPCNTD Y3, K5, Y26 // 62627d2d55d3 VPOPCNTD Y3, K5, Y26 // 62627d2d55d3
//TODO: VPOPCNTD Y15, K5, Y26 // 62427d2d55d7 VPOPCNTD Y15, K5, Y26 // 62427d2d55d7
//TODO: VPOPCNTD -15(R14)(R15*1), K5, Y26 // 62027d2d55943ef1ffffff VPOPCNTD -15(R14)(R15*1), K5, Y26 // 62027d2d55943ef1ffffff
//TODO: VPOPCNTD -15(BX), K5, Y26 // 62627d2d5593f1ffffff VPOPCNTD -15(BX), K5, Y26 // 62627d2d5593f1ffffff
//TODO: VPOPCNTD Y22, K5, Y30 // 62227d2d55f6 VPOPCNTD Y22, K5, Y30 // 62227d2d55f6
//TODO: VPOPCNTD Y3, K5, Y30 // 62627d2d55f3 VPOPCNTD Y3, K5, Y30 // 62627d2d55f3
//TODO: VPOPCNTD Y15, K5, Y30 // 62427d2d55f7 VPOPCNTD Y15, K5, Y30 // 62427d2d55f7
//TODO: VPOPCNTD -15(R14)(R15*1), K5, Y30 // 62027d2d55b43ef1ffffff VPOPCNTD -15(R14)(R15*1), K5, Y30 // 62027d2d55b43ef1ffffff
//TODO: VPOPCNTD -15(BX), K5, Y30 // 62627d2d55b3f1ffffff VPOPCNTD -15(BX), K5, Y30 // 62627d2d55b3f1ffffff
//TODO: VPOPCNTD Y22, K5, Y12 // 62327d2d55e6 VPOPCNTD Y22, K5, Y12 // 62327d2d55e6
//TODO: VPOPCNTD Y3, K5, Y12 // 62727d2d55e3 VPOPCNTD Y3, K5, Y12 // 62727d2d55e3
//TODO: VPOPCNTD Y15, K5, Y12 // 62527d2d55e7 VPOPCNTD Y15, K5, Y12 // 62527d2d55e7
//TODO: VPOPCNTD -15(R14)(R15*1), K5, Y12 // 62127d2d55a43ef1ffffff VPOPCNTD -15(R14)(R15*1), K5, Y12 // 62127d2d55a43ef1ffffff
//TODO: VPOPCNTD -15(BX), K5, Y12 // 62727d2d55a3f1ffffff VPOPCNTD -15(BX), K5, Y12 // 62727d2d55a3f1ffffff
//TODO: VPOPCNTD Z2, K3, Z22 // 62e27d4b55f2 VPOPCNTD Z2, K3, Z22 // 62e27d4b55f2
//TODO: VPOPCNTD Z31, K3, Z22 // 62827d4b55f7 VPOPCNTD Z31, K3, Z22 // 62827d4b55f7
//TODO: VPOPCNTD 7(SI)(DI*4), K3, Z22 // 62e27d4b55b4be07000000 VPOPCNTD 7(SI)(DI*4), K3, Z22 // 62e27d4b55b4be07000000
//TODO: VPOPCNTD -7(DI)(R8*2), K3, Z22 // 62a27d4b55b447f9ffffff VPOPCNTD -7(DI)(R8*2), K3, Z22 // 62a27d4b55b447f9ffffff
//TODO: VPOPCNTD Z2, K3, Z7 // 62f27d4b55fa VPOPCNTD Z2, K3, Z7 // 62f27d4b55fa
//TODO: VPOPCNTD Z31, K3, Z7 // 62927d4b55ff VPOPCNTD Z31, K3, Z7 // 62927d4b55ff
//TODO: VPOPCNTD 7(SI)(DI*4), K3, Z7 // 62f27d4b55bcbe07000000 VPOPCNTD 7(SI)(DI*4), K3, Z7 // 62f27d4b55bcbe07000000
//TODO: VPOPCNTD -7(DI)(R8*2), K3, Z7 // 62b27d4b55bc47f9ffffff VPOPCNTD -7(DI)(R8*2), K3, Z7 // 62b27d4b55bc47f9ffffff
//TODO: VPOPCNTQ X24, K4, X23 // 6282fd0c55f8 VPOPCNTQ X24, K4, X23 // 6282fd0c55f8
//TODO: VPOPCNTQ X14, K4, X23 // 62c2fd0c55fe VPOPCNTQ X14, K4, X23 // 62c2fd0c55fe
//TODO: VPOPCNTQ X0, K4, X23 // 62e2fd0c55f8 VPOPCNTQ X0, K4, X23 // 62e2fd0c55f8
//TODO: VPOPCNTQ 99(R15)(R15*4), K4, X23 // 6282fd0c55bcbf63000000 VPOPCNTQ 99(R15)(R15*4), K4, X23 // 6282fd0c55bcbf63000000
//TODO: VPOPCNTQ 15(DX), K4, X23 // 62e2fd0c55ba0f000000 VPOPCNTQ 15(DX), K4, X23 // 62e2fd0c55ba0f000000
//TODO: VPOPCNTQ X24, K4, X11 // 6212fd0c55d8 VPOPCNTQ X24, K4, X11 // 6212fd0c55d8
//TODO: VPOPCNTQ X14, K4, X11 // 6252fd0c55de VPOPCNTQ X14, K4, X11 // 6252fd0c55de
//TODO: VPOPCNTQ X0, K4, X11 // 6272fd0c55d8 VPOPCNTQ X0, K4, X11 // 6272fd0c55d8
//TODO: VPOPCNTQ 99(R15)(R15*4), K4, X11 // 6212fd0c559cbf63000000 VPOPCNTQ 99(R15)(R15*4), K4, X11 // 6212fd0c559cbf63000000
//TODO: VPOPCNTQ 15(DX), K4, X11 // 6272fd0c559a0f000000 VPOPCNTQ 15(DX), K4, X11 // 6272fd0c559a0f000000
//TODO: VPOPCNTQ X24, K4, X31 // 6202fd0c55f8 VPOPCNTQ X24, K4, X31 // 6202fd0c55f8
//TODO: VPOPCNTQ X14, K4, X31 // 6242fd0c55fe VPOPCNTQ X14, K4, X31 // 6242fd0c55fe
//TODO: VPOPCNTQ X0, K4, X31 // 6262fd0c55f8 VPOPCNTQ X0, K4, X31 // 6262fd0c55f8
//TODO: VPOPCNTQ 99(R15)(R15*4), K4, X31 // 6202fd0c55bcbf63000000 VPOPCNTQ 99(R15)(R15*4), K4, X31 // 6202fd0c55bcbf63000000
//TODO: VPOPCNTQ 15(DX), K4, X31 // 6262fd0c55ba0f000000 VPOPCNTQ 15(DX), K4, X31 // 6262fd0c55ba0f000000
//TODO: VPOPCNTQ Y5, K2, Y1 // 62f2fd2a55cd VPOPCNTQ Y5, K2, Y1 // 62f2fd2a55cd
//TODO: VPOPCNTQ Y17, K2, Y1 // 62b2fd2a55c9 VPOPCNTQ Y17, K2, Y1 // 62b2fd2a55c9
//TODO: VPOPCNTQ Y13, K2, Y1 // 62d2fd2a55cd VPOPCNTQ Y13, K2, Y1 // 62d2fd2a55cd
//TODO: VPOPCNTQ 7(AX)(CX*4), K2, Y1 // 62f2fd2a558c8807000000 VPOPCNTQ 7(AX)(CX*4), K2, Y1 // 62f2fd2a558c8807000000
//TODO: VPOPCNTQ 7(AX)(CX*1), K2, Y1 // 62f2fd2a558c0807000000 VPOPCNTQ 7(AX)(CX*1), K2, Y1 // 62f2fd2a558c0807000000
//TODO: VPOPCNTQ Y5, K2, Y27 // 6262fd2a55dd VPOPCNTQ Y5, K2, Y27 // 6262fd2a55dd
//TODO: VPOPCNTQ Y17, K2, Y27 // 6222fd2a55d9 VPOPCNTQ Y17, K2, Y27 // 6222fd2a55d9
//TODO: VPOPCNTQ Y13, K2, Y27 // 6242fd2a55dd VPOPCNTQ Y13, K2, Y27 // 6242fd2a55dd
//TODO: VPOPCNTQ 7(AX)(CX*4), K2, Y27 // 6262fd2a559c8807000000 VPOPCNTQ 7(AX)(CX*4), K2, Y27 // 6262fd2a559c8807000000
//TODO: VPOPCNTQ 7(AX)(CX*1), K2, Y27 // 6262fd2a559c0807000000 VPOPCNTQ 7(AX)(CX*1), K2, Y27 // 6262fd2a559c0807000000
//TODO: VPOPCNTQ Y5, K2, Y19 // 62e2fd2a55dd VPOPCNTQ Y5, K2, Y19 // 62e2fd2a55dd
//TODO: VPOPCNTQ Y17, K2, Y19 // 62a2fd2a55d9 VPOPCNTQ Y17, K2, Y19 // 62a2fd2a55d9
//TODO: VPOPCNTQ Y13, K2, Y19 // 62c2fd2a55dd VPOPCNTQ Y13, K2, Y19 // 62c2fd2a55dd
//TODO: VPOPCNTQ 7(AX)(CX*4), K2, Y19 // 62e2fd2a559c8807000000 VPOPCNTQ 7(AX)(CX*4), K2, Y19 // 62e2fd2a559c8807000000
//TODO: VPOPCNTQ 7(AX)(CX*1), K2, Y19 // 62e2fd2a559c0807000000 VPOPCNTQ 7(AX)(CX*1), K2, Y19 // 62e2fd2a559c0807000000
//TODO: VPOPCNTQ Z1, K2, Z20 // 62e2fd4a55e1 VPOPCNTQ Z1, K2, Z20 // 62e2fd4a55e1
//TODO: VPOPCNTQ Z3, K2, Z20 // 62e2fd4a55e3 VPOPCNTQ Z3, K2, Z20 // 62e2fd4a55e3
//TODO: VPOPCNTQ 17(SP), K2, Z20 // 62e2fd4a55a42411000000 VPOPCNTQ 17(SP), K2, Z20 // 62e2fd4a55a42411000000
//TODO: VPOPCNTQ -17(BP)(SI*4), K2, Z20 // 62e2fd4a55a4b5efffffff VPOPCNTQ -17(BP)(SI*4), K2, Z20 // 62e2fd4a55a4b5efffffff
//TODO: VPOPCNTQ Z1, K2, Z9 // 6272fd4a55c9 VPOPCNTQ Z1, K2, Z9 // 6272fd4a55c9
//TODO: VPOPCNTQ Z3, K2, Z9 // 6272fd4a55cb VPOPCNTQ Z3, K2, Z9 // 6272fd4a55cb
//TODO: VPOPCNTQ 17(SP), K2, Z9 // 6272fd4a558c2411000000 VPOPCNTQ 17(SP), K2, Z9 // 6272fd4a558c2411000000
//TODO: VPOPCNTQ -17(BP)(SI*4), K2, Z9 // 6272fd4a558cb5efffffff VPOPCNTQ -17(BP)(SI*4), K2, Z9 // 6272fd4a558cb5efffffff
RET RET
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,188 +3,188 @@ ...@@ -3,188 +3,188 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512cd(SB), NOSPLIT, $0 TEXT asmtest_avx512cd(SB), NOSPLIT, $0
//TODO: VPBROADCASTMB2Q K1, X25 // 6262fe082ac9 VPBROADCASTMB2Q K1, X25 // 6262fe082ac9
//TODO: VPBROADCASTMB2Q K5, X25 // 6262fe082acd VPBROADCASTMB2Q K5, X25 // 6262fe082acd
//TODO: VPBROADCASTMB2Q K1, X11 // 6272fe082ad9 VPBROADCASTMB2Q K1, X11 // 6272fe082ad9
//TODO: VPBROADCASTMB2Q K5, X11 // 6272fe082add VPBROADCASTMB2Q K5, X11 // 6272fe082add
//TODO: VPBROADCASTMB2Q K1, X17 // 62e2fe082ac9 VPBROADCASTMB2Q K1, X17 // 62e2fe082ac9
//TODO: VPBROADCASTMB2Q K5, X17 // 62e2fe082acd VPBROADCASTMB2Q K5, X17 // 62e2fe082acd
//TODO: VPBROADCASTMB2Q K3, Y0 // 62f2fe282ac3 VPBROADCASTMB2Q K3, Y0 // 62f2fe282ac3
//TODO: VPBROADCASTMB2Q K1, Y0 // 62f2fe282ac1 VPBROADCASTMB2Q K1, Y0 // 62f2fe282ac1
//TODO: VPBROADCASTMB2Q K3, Y19 // 62e2fe282adb VPBROADCASTMB2Q K3, Y19 // 62e2fe282adb
//TODO: VPBROADCASTMB2Q K1, Y19 // 62e2fe282ad9 VPBROADCASTMB2Q K1, Y19 // 62e2fe282ad9
//TODO: VPBROADCASTMB2Q K3, Y31 // 6262fe282afb VPBROADCASTMB2Q K3, Y31 // 6262fe282afb
//TODO: VPBROADCASTMB2Q K1, Y31 // 6262fe282af9 VPBROADCASTMB2Q K1, Y31 // 6262fe282af9
//TODO: VPBROADCASTMB2Q K5, Z21 // 62e2fe482aed VPBROADCASTMB2Q K5, Z21 // 62e2fe482aed
//TODO: VPBROADCASTMB2Q K4, Z21 // 62e2fe482aec VPBROADCASTMB2Q K4, Z21 // 62e2fe482aec
//TODO: VPBROADCASTMB2Q K5, Z8 // 6272fe482ac5 VPBROADCASTMB2Q K5, Z8 // 6272fe482ac5
//TODO: VPBROADCASTMB2Q K4, Z8 // 6272fe482ac4 VPBROADCASTMB2Q K4, Z8 // 6272fe482ac4
//TODO: VPBROADCASTMW2D K7, X18 // 62e27e083ad7 VPBROADCASTMW2D K7, X18 // 62e27e083ad7
//TODO: VPBROADCASTMW2D K6, X18 // 62e27e083ad6 VPBROADCASTMW2D K6, X18 // 62e27e083ad6
//TODO: VPBROADCASTMW2D K7, X11 // 62727e083adf VPBROADCASTMW2D K7, X11 // 62727e083adf
//TODO: VPBROADCASTMW2D K6, X11 // 62727e083ade VPBROADCASTMW2D K6, X11 // 62727e083ade
//TODO: VPBROADCASTMW2D K7, X9 // 62727e083acf VPBROADCASTMW2D K7, X9 // 62727e083acf
//TODO: VPBROADCASTMW2D K6, X9 // 62727e083ace VPBROADCASTMW2D K6, X9 // 62727e083ace
//TODO: VPBROADCASTMW2D K4, Y22 // 62e27e283af4 VPBROADCASTMW2D K4, Y22 // 62e27e283af4
//TODO: VPBROADCASTMW2D K6, Y22 // 62e27e283af6 VPBROADCASTMW2D K6, Y22 // 62e27e283af6
//TODO: VPBROADCASTMW2D K4, Y9 // 62727e283acc VPBROADCASTMW2D K4, Y9 // 62727e283acc
//TODO: VPBROADCASTMW2D K6, Y9 // 62727e283ace VPBROADCASTMW2D K6, Y9 // 62727e283ace
//TODO: VPBROADCASTMW2D K4, Y23 // 62e27e283afc VPBROADCASTMW2D K4, Y23 // 62e27e283afc
//TODO: VPBROADCASTMW2D K6, Y23 // 62e27e283afe VPBROADCASTMW2D K6, Y23 // 62e27e283afe
//TODO: VPBROADCASTMW2D K0, Z16 // 62e27e483ac0 VPBROADCASTMW2D K0, Z16 // 62e27e483ac0
//TODO: VPBROADCASTMW2D K7, Z16 // 62e27e483ac7 VPBROADCASTMW2D K7, Z16 // 62e27e483ac7
//TODO: VPBROADCASTMW2D K0, Z9 // 62727e483ac8 VPBROADCASTMW2D K0, Z9 // 62727e483ac8
//TODO: VPBROADCASTMW2D K7, Z9 // 62727e483acf VPBROADCASTMW2D K7, Z9 // 62727e483acf
//TODO: VPCONFLICTD X6, K6, X6 // 62f27d0ec4f6 VPCONFLICTD X6, K6, X6 // 62f27d0ec4f6
//TODO: VPCONFLICTD X1, K6, X6 // 62f27d0ec4f1 VPCONFLICTD X1, K6, X6 // 62f27d0ec4f1
//TODO: VPCONFLICTD X8, K6, X6 // 62d27d0ec4f0 VPCONFLICTD X8, K6, X6 // 62d27d0ec4f0
//TODO: VPCONFLICTD 15(R8), K6, X6 // 62d27d0ec4b00f000000 VPCONFLICTD 15(R8), K6, X6 // 62d27d0ec4b00f000000
//TODO: VPCONFLICTD (BP), K6, X6 // 62f27d0ec47500 VPCONFLICTD (BP), K6, X6 // 62f27d0ec47500
//TODO: VPCONFLICTD X6, K6, X17 // 62e27d0ec4ce VPCONFLICTD X6, K6, X17 // 62e27d0ec4ce
//TODO: VPCONFLICTD X1, K6, X17 // 62e27d0ec4c9 VPCONFLICTD X1, K6, X17 // 62e27d0ec4c9
//TODO: VPCONFLICTD X8, K6, X17 // 62c27d0ec4c8 VPCONFLICTD X8, K6, X17 // 62c27d0ec4c8
//TODO: VPCONFLICTD 15(R8), K6, X17 // 62c27d0ec4880f000000 VPCONFLICTD 15(R8), K6, X17 // 62c27d0ec4880f000000
//TODO: VPCONFLICTD (BP), K6, X17 // 62e27d0ec44d00 VPCONFLICTD (BP), K6, X17 // 62e27d0ec44d00
//TODO: VPCONFLICTD X6, K6, X28 // 62627d0ec4e6 VPCONFLICTD X6, K6, X28 // 62627d0ec4e6
//TODO: VPCONFLICTD X1, K6, X28 // 62627d0ec4e1 VPCONFLICTD X1, K6, X28 // 62627d0ec4e1
//TODO: VPCONFLICTD X8, K6, X28 // 62427d0ec4e0 VPCONFLICTD X8, K6, X28 // 62427d0ec4e0
//TODO: VPCONFLICTD 15(R8), K6, X28 // 62427d0ec4a00f000000 VPCONFLICTD 15(R8), K6, X28 // 62427d0ec4a00f000000
//TODO: VPCONFLICTD (BP), K6, X28 // 62627d0ec46500 VPCONFLICTD (BP), K6, X28 // 62627d0ec46500
//TODO: VPCONFLICTD Y14, K3, Y2 // 62d27d2bc4d6 VPCONFLICTD Y14, K3, Y2 // 62d27d2bc4d6
//TODO: VPCONFLICTD Y8, K3, Y2 // 62d27d2bc4d0 VPCONFLICTD Y8, K3, Y2 // 62d27d2bc4d0
//TODO: VPCONFLICTD Y20, K3, Y2 // 62b27d2bc4d4 VPCONFLICTD Y20, K3, Y2 // 62b27d2bc4d4
//TODO: VPCONFLICTD -7(CX), K3, Y2 // 62f27d2bc491f9ffffff VPCONFLICTD -7(CX), K3, Y2 // 62f27d2bc491f9ffffff
//TODO: VPCONFLICTD 15(DX)(BX*4), K3, Y2 // 62f27d2bc4949a0f000000 VPCONFLICTD 15(DX)(BX*4), K3, Y2 // 62f27d2bc4949a0f000000
//TODO: VPCONFLICTD Y14, K3, Y7 // 62d27d2bc4fe VPCONFLICTD Y14, K3, Y7 // 62d27d2bc4fe
//TODO: VPCONFLICTD Y8, K3, Y7 // 62d27d2bc4f8 VPCONFLICTD Y8, K3, Y7 // 62d27d2bc4f8
//TODO: VPCONFLICTD Y20, K3, Y7 // 62b27d2bc4fc VPCONFLICTD Y20, K3, Y7 // 62b27d2bc4fc
//TODO: VPCONFLICTD -7(CX), K3, Y7 // 62f27d2bc4b9f9ffffff VPCONFLICTD -7(CX), K3, Y7 // 62f27d2bc4b9f9ffffff
//TODO: VPCONFLICTD 15(DX)(BX*4), K3, Y7 // 62f27d2bc4bc9a0f000000 VPCONFLICTD 15(DX)(BX*4), K3, Y7 // 62f27d2bc4bc9a0f000000
//TODO: VPCONFLICTD Y14, K3, Y21 // 62c27d2bc4ee VPCONFLICTD Y14, K3, Y21 // 62c27d2bc4ee
//TODO: VPCONFLICTD Y8, K3, Y21 // 62c27d2bc4e8 VPCONFLICTD Y8, K3, Y21 // 62c27d2bc4e8
//TODO: VPCONFLICTD Y20, K3, Y21 // 62a27d2bc4ec VPCONFLICTD Y20, K3, Y21 // 62a27d2bc4ec
//TODO: VPCONFLICTD -7(CX), K3, Y21 // 62e27d2bc4a9f9ffffff VPCONFLICTD -7(CX), K3, Y21 // 62e27d2bc4a9f9ffffff
//TODO: VPCONFLICTD 15(DX)(BX*4), K3, Y21 // 62e27d2bc4ac9a0f000000 VPCONFLICTD 15(DX)(BX*4), K3, Y21 // 62e27d2bc4ac9a0f000000
//TODO: VPCONFLICTD Z11, K7, Z21 // 62c27d4fc4eb VPCONFLICTD Z11, K7, Z21 // 62c27d4fc4eb
//TODO: VPCONFLICTD Z25, K7, Z21 // 62827d4fc4e9 VPCONFLICTD Z25, K7, Z21 // 62827d4fc4e9
//TODO: VPCONFLICTD -15(R14)(R15*1), K7, Z21 // 62827d4fc4ac3ef1ffffff VPCONFLICTD -15(R14)(R15*1), K7, Z21 // 62827d4fc4ac3ef1ffffff
//TODO: VPCONFLICTD -15(BX), K7, Z21 // 62e27d4fc4abf1ffffff VPCONFLICTD -15(BX), K7, Z21 // 62e27d4fc4abf1ffffff
//TODO: VPCONFLICTD Z11, K7, Z13 // 62527d4fc4eb VPCONFLICTD Z11, K7, Z13 // 62527d4fc4eb
//TODO: VPCONFLICTD Z25, K7, Z13 // 62127d4fc4e9 VPCONFLICTD Z25, K7, Z13 // 62127d4fc4e9
//TODO: VPCONFLICTD -15(R14)(R15*1), K7, Z13 // 62127d4fc4ac3ef1ffffff VPCONFLICTD -15(R14)(R15*1), K7, Z13 // 62127d4fc4ac3ef1ffffff
//TODO: VPCONFLICTD -15(BX), K7, Z13 // 62727d4fc4abf1ffffff VPCONFLICTD -15(BX), K7, Z13 // 62727d4fc4abf1ffffff
//TODO: VPCONFLICTQ X11, K4, X8 // 6252fd0cc4c3 VPCONFLICTQ X11, K4, X8 // 6252fd0cc4c3
//TODO: VPCONFLICTQ X16, K4, X8 // 6232fd0cc4c0 VPCONFLICTQ X16, K4, X8 // 6232fd0cc4c0
//TODO: VPCONFLICTQ X6, K4, X8 // 6272fd0cc4c6 VPCONFLICTQ X6, K4, X8 // 6272fd0cc4c6
//TODO: VPCONFLICTQ 15(R8)(R14*8), K4, X8 // 6212fd0cc484f00f000000 VPCONFLICTQ 15(R8)(R14*8), K4, X8 // 6212fd0cc484f00f000000
//TODO: VPCONFLICTQ -15(R14)(R15*2), K4, X8 // 6212fd0cc4847ef1ffffff VPCONFLICTQ -15(R14)(R15*2), K4, X8 // 6212fd0cc4847ef1ffffff
//TODO: VPCONFLICTQ X11, K4, X6 // 62d2fd0cc4f3 VPCONFLICTQ X11, K4, X6 // 62d2fd0cc4f3
//TODO: VPCONFLICTQ X16, K4, X6 // 62b2fd0cc4f0 VPCONFLICTQ X16, K4, X6 // 62b2fd0cc4f0
//TODO: VPCONFLICTQ X6, K4, X6 // 62f2fd0cc4f6 VPCONFLICTQ X6, K4, X6 // 62f2fd0cc4f6
//TODO: VPCONFLICTQ 15(R8)(R14*8), K4, X6 // 6292fd0cc4b4f00f000000 VPCONFLICTQ 15(R8)(R14*8), K4, X6 // 6292fd0cc4b4f00f000000
//TODO: VPCONFLICTQ -15(R14)(R15*2), K4, X6 // 6292fd0cc4b47ef1ffffff VPCONFLICTQ -15(R14)(R15*2), K4, X6 // 6292fd0cc4b47ef1ffffff
//TODO: VPCONFLICTQ X11, K4, X0 // 62d2fd0cc4c3 VPCONFLICTQ X11, K4, X0 // 62d2fd0cc4c3
//TODO: VPCONFLICTQ X16, K4, X0 // 62b2fd0cc4c0 VPCONFLICTQ X16, K4, X0 // 62b2fd0cc4c0
//TODO: VPCONFLICTQ X6, K4, X0 // 62f2fd0cc4c6 VPCONFLICTQ X6, K4, X0 // 62f2fd0cc4c6
//TODO: VPCONFLICTQ 15(R8)(R14*8), K4, X0 // 6292fd0cc484f00f000000 VPCONFLICTQ 15(R8)(R14*8), K4, X0 // 6292fd0cc484f00f000000
//TODO: VPCONFLICTQ -15(R14)(R15*2), K4, X0 // 6292fd0cc4847ef1ffffff VPCONFLICTQ -15(R14)(R15*2), K4, X0 // 6292fd0cc4847ef1ffffff
//TODO: VPCONFLICTQ Y5, K4, Y11 // 6272fd2cc4dd VPCONFLICTQ Y5, K4, Y11 // 6272fd2cc4dd
//TODO: VPCONFLICTQ Y18, K4, Y11 // 6232fd2cc4da VPCONFLICTQ Y18, K4, Y11 // 6232fd2cc4da
//TODO: VPCONFLICTQ Y20, K4, Y11 // 6232fd2cc4dc VPCONFLICTQ Y20, K4, Y11 // 6232fd2cc4dc
//TODO: VPCONFLICTQ 99(R15)(R15*8), K4, Y11 // 6212fd2cc49cff63000000 VPCONFLICTQ 99(R15)(R15*8), K4, Y11 // 6212fd2cc49cff63000000
//TODO: VPCONFLICTQ 7(AX)(CX*8), K4, Y11 // 6272fd2cc49cc807000000 VPCONFLICTQ 7(AX)(CX*8), K4, Y11 // 6272fd2cc49cc807000000
//TODO: VPCONFLICTQ Y5, K4, Y24 // 6262fd2cc4c5 VPCONFLICTQ Y5, K4, Y24 // 6262fd2cc4c5
//TODO: VPCONFLICTQ Y18, K4, Y24 // 6222fd2cc4c2 VPCONFLICTQ Y18, K4, Y24 // 6222fd2cc4c2
//TODO: VPCONFLICTQ Y20, K4, Y24 // 6222fd2cc4c4 VPCONFLICTQ Y20, K4, Y24 // 6222fd2cc4c4
//TODO: VPCONFLICTQ 99(R15)(R15*8), K4, Y24 // 6202fd2cc484ff63000000 VPCONFLICTQ 99(R15)(R15*8), K4, Y24 // 6202fd2cc484ff63000000
//TODO: VPCONFLICTQ 7(AX)(CX*8), K4, Y24 // 6262fd2cc484c807000000 VPCONFLICTQ 7(AX)(CX*8), K4, Y24 // 6262fd2cc484c807000000
//TODO: VPCONFLICTQ Y5, K4, Y1 // 62f2fd2cc4cd VPCONFLICTQ Y5, K4, Y1 // 62f2fd2cc4cd
//TODO: VPCONFLICTQ Y18, K4, Y1 // 62b2fd2cc4ca VPCONFLICTQ Y18, K4, Y1 // 62b2fd2cc4ca
//TODO: VPCONFLICTQ Y20, K4, Y1 // 62b2fd2cc4cc VPCONFLICTQ Y20, K4, Y1 // 62b2fd2cc4cc
//TODO: VPCONFLICTQ 99(R15)(R15*8), K4, Y1 // 6292fd2cc48cff63000000 VPCONFLICTQ 99(R15)(R15*8), K4, Y1 // 6292fd2cc48cff63000000
//TODO: VPCONFLICTQ 7(AX)(CX*8), K4, Y1 // 62f2fd2cc48cc807000000 VPCONFLICTQ 7(AX)(CX*8), K4, Y1 // 62f2fd2cc48cc807000000
//TODO: VPCONFLICTQ Z27, K7, Z3 // 6292fd4fc4db VPCONFLICTQ Z27, K7, Z3 // 6292fd4fc4db
//TODO: VPCONFLICTQ Z15, K7, Z3 // 62d2fd4fc4df VPCONFLICTQ Z15, K7, Z3 // 62d2fd4fc4df
//TODO: VPCONFLICTQ 7(AX)(CX*4), K7, Z3 // 62f2fd4fc49c8807000000 VPCONFLICTQ 7(AX)(CX*4), K7, Z3 // 62f2fd4fc49c8807000000
//TODO: VPCONFLICTQ 7(AX)(CX*1), K7, Z3 // 62f2fd4fc49c0807000000 VPCONFLICTQ 7(AX)(CX*1), K7, Z3 // 62f2fd4fc49c0807000000
//TODO: VPCONFLICTQ Z27, K7, Z12 // 6212fd4fc4e3 VPCONFLICTQ Z27, K7, Z12 // 6212fd4fc4e3
//TODO: VPCONFLICTQ Z15, K7, Z12 // 6252fd4fc4e7 VPCONFLICTQ Z15, K7, Z12 // 6252fd4fc4e7
//TODO: VPCONFLICTQ 7(AX)(CX*4), K7, Z12 // 6272fd4fc4a48807000000 VPCONFLICTQ 7(AX)(CX*4), K7, Z12 // 6272fd4fc4a48807000000
//TODO: VPCONFLICTQ 7(AX)(CX*1), K7, Z12 // 6272fd4fc4a40807000000 VPCONFLICTQ 7(AX)(CX*1), K7, Z12 // 6272fd4fc4a40807000000
//TODO: VPLZCNTD X3, K3, X17 // 62e27d0b44cb VPLZCNTD X3, K3, X17 // 62e27d0b44cb
//TODO: VPLZCNTD X26, K3, X17 // 62827d0b44ca VPLZCNTD X26, K3, X17 // 62827d0b44ca
//TODO: VPLZCNTD X23, K3, X17 // 62a27d0b44cf VPLZCNTD X23, K3, X17 // 62a27d0b44cf
//TODO: VPLZCNTD 15(DX)(BX*1), K3, X17 // 62e27d0b448c1a0f000000 VPLZCNTD 15(DX)(BX*1), K3, X17 // 62e27d0b448c1a0f000000
//TODO: VPLZCNTD -7(CX)(DX*2), K3, X17 // 62e27d0b448c51f9ffffff VPLZCNTD -7(CX)(DX*2), K3, X17 // 62e27d0b448c51f9ffffff
//TODO: VPLZCNTD X3, K3, X15 // 62727d0b44fb VPLZCNTD X3, K3, X15 // 62727d0b44fb
//TODO: VPLZCNTD X26, K3, X15 // 62127d0b44fa VPLZCNTD X26, K3, X15 // 62127d0b44fa
//TODO: VPLZCNTD X23, K3, X15 // 62327d0b44ff VPLZCNTD X23, K3, X15 // 62327d0b44ff
//TODO: VPLZCNTD 15(DX)(BX*1), K3, X15 // 62727d0b44bc1a0f000000 VPLZCNTD 15(DX)(BX*1), K3, X15 // 62727d0b44bc1a0f000000
//TODO: VPLZCNTD -7(CX)(DX*2), K3, X15 // 62727d0b44bc51f9ffffff VPLZCNTD -7(CX)(DX*2), K3, X15 // 62727d0b44bc51f9ffffff
//TODO: VPLZCNTD X3, K3, X8 // 62727d0b44c3 VPLZCNTD X3, K3, X8 // 62727d0b44c3
//TODO: VPLZCNTD X26, K3, X8 // 62127d0b44c2 VPLZCNTD X26, K3, X8 // 62127d0b44c2
//TODO: VPLZCNTD X23, K3, X8 // 62327d0b44c7 VPLZCNTD X23, K3, X8 // 62327d0b44c7
//TODO: VPLZCNTD 15(DX)(BX*1), K3, X8 // 62727d0b44841a0f000000 VPLZCNTD 15(DX)(BX*1), K3, X8 // 62727d0b44841a0f000000
//TODO: VPLZCNTD -7(CX)(DX*2), K3, X8 // 62727d0b448451f9ffffff VPLZCNTD -7(CX)(DX*2), K3, X8 // 62727d0b448451f9ffffff
//TODO: VPLZCNTD Y5, K3, Y20 // 62e27d2b44e5 VPLZCNTD Y5, K3, Y20 // 62e27d2b44e5
//TODO: VPLZCNTD Y28, K3, Y20 // 62827d2b44e4 VPLZCNTD Y28, K3, Y20 // 62827d2b44e4
//TODO: VPLZCNTD Y7, K3, Y20 // 62e27d2b44e7 VPLZCNTD Y7, K3, Y20 // 62e27d2b44e7
//TODO: VPLZCNTD (BX), K3, Y20 // 62e27d2b4423 VPLZCNTD (BX), K3, Y20 // 62e27d2b4423
//TODO: VPLZCNTD -17(BP)(SI*1), K3, Y20 // 62e27d2b44a435efffffff VPLZCNTD -17(BP)(SI*1), K3, Y20 // 62e27d2b44a435efffffff
//TODO: VPLZCNTD Y5, K3, Y12 // 62727d2b44e5 VPLZCNTD Y5, K3, Y12 // 62727d2b44e5
//TODO: VPLZCNTD Y28, K3, Y12 // 62127d2b44e4 VPLZCNTD Y28, K3, Y12 // 62127d2b44e4
//TODO: VPLZCNTD Y7, K3, Y12 // 62727d2b44e7 VPLZCNTD Y7, K3, Y12 // 62727d2b44e7
//TODO: VPLZCNTD (BX), K3, Y12 // 62727d2b4423 VPLZCNTD (BX), K3, Y12 // 62727d2b4423
//TODO: VPLZCNTD -17(BP)(SI*1), K3, Y12 // 62727d2b44a435efffffff VPLZCNTD -17(BP)(SI*1), K3, Y12 // 62727d2b44a435efffffff
//TODO: VPLZCNTD Y5, K3, Y3 // 62f27d2b44dd VPLZCNTD Y5, K3, Y3 // 62f27d2b44dd
//TODO: VPLZCNTD Y28, K3, Y3 // 62927d2b44dc VPLZCNTD Y28, K3, Y3 // 62927d2b44dc
//TODO: VPLZCNTD Y7, K3, Y3 // 62f27d2b44df VPLZCNTD Y7, K3, Y3 // 62f27d2b44df
//TODO: VPLZCNTD (BX), K3, Y3 // 62f27d2b441b VPLZCNTD (BX), K3, Y3 // 62f27d2b441b
//TODO: VPLZCNTD -17(BP)(SI*1), K3, Y3 // 62f27d2b449c35efffffff VPLZCNTD -17(BP)(SI*1), K3, Y3 // 62f27d2b449c35efffffff
//TODO: VPLZCNTD Z21, K3, Z3 // 62b27d4b44dd VPLZCNTD Z21, K3, Z3 // 62b27d4b44dd
//TODO: VPLZCNTD Z13, K3, Z3 // 62d27d4b44dd VPLZCNTD Z13, K3, Z3 // 62d27d4b44dd
//TODO: VPLZCNTD 17(SP)(BP*8), K3, Z3 // 62f27d4b449cec11000000 VPLZCNTD 17(SP)(BP*8), K3, Z3 // 62f27d4b449cec11000000
//TODO: VPLZCNTD 17(SP)(BP*4), K3, Z3 // 62f27d4b449cac11000000 VPLZCNTD 17(SP)(BP*4), K3, Z3 // 62f27d4b449cac11000000
//TODO: VPLZCNTD Z21, K3, Z0 // 62b27d4b44c5 VPLZCNTD Z21, K3, Z0 // 62b27d4b44c5
//TODO: VPLZCNTD Z13, K3, Z0 // 62d27d4b44c5 VPLZCNTD Z13, K3, Z0 // 62d27d4b44c5
//TODO: VPLZCNTD 17(SP)(BP*8), K3, Z0 // 62f27d4b4484ec11000000 VPLZCNTD 17(SP)(BP*8), K3, Z0 // 62f27d4b4484ec11000000
//TODO: VPLZCNTD 17(SP)(BP*4), K3, Z0 // 62f27d4b4484ac11000000 VPLZCNTD 17(SP)(BP*4), K3, Z0 // 62f27d4b4484ac11000000
//TODO: VPLZCNTQ X9, K2, X13 // 6252fd0a44e9 VPLZCNTQ X9, K2, X13 // 6252fd0a44e9
//TODO: VPLZCNTQ X15, K2, X13 // 6252fd0a44ef VPLZCNTQ X15, K2, X13 // 6252fd0a44ef
//TODO: VPLZCNTQ X26, K2, X13 // 6212fd0a44ea VPLZCNTQ X26, K2, X13 // 6212fd0a44ea
//TODO: VPLZCNTQ -17(BP), K2, X13 // 6272fd0a44adefffffff VPLZCNTQ -17(BP), K2, X13 // 6272fd0a44adefffffff
//TODO: VPLZCNTQ -15(R14)(R15*8), K2, X13 // 6212fd0a44acfef1ffffff VPLZCNTQ -15(R14)(R15*8), K2, X13 // 6212fd0a44acfef1ffffff
//TODO: VPLZCNTQ X9, K2, X28 // 6242fd0a44e1 VPLZCNTQ X9, K2, X28 // 6242fd0a44e1
//TODO: VPLZCNTQ X15, K2, X28 // 6242fd0a44e7 VPLZCNTQ X15, K2, X28 // 6242fd0a44e7
//TODO: VPLZCNTQ X26, K2, X28 // 6202fd0a44e2 VPLZCNTQ X26, K2, X28 // 6202fd0a44e2
//TODO: VPLZCNTQ -17(BP), K2, X28 // 6262fd0a44a5efffffff VPLZCNTQ -17(BP), K2, X28 // 6262fd0a44a5efffffff
//TODO: VPLZCNTQ -15(R14)(R15*8), K2, X28 // 6202fd0a44a4fef1ffffff VPLZCNTQ -15(R14)(R15*8), K2, X28 // 6202fd0a44a4fef1ffffff
//TODO: VPLZCNTQ X9, K2, X24 // 6242fd0a44c1 VPLZCNTQ X9, K2, X24 // 6242fd0a44c1
//TODO: VPLZCNTQ X15, K2, X24 // 6242fd0a44c7 VPLZCNTQ X15, K2, X24 // 6242fd0a44c7
//TODO: VPLZCNTQ X26, K2, X24 // 6202fd0a44c2 VPLZCNTQ X26, K2, X24 // 6202fd0a44c2
//TODO: VPLZCNTQ -17(BP), K2, X24 // 6262fd0a4485efffffff VPLZCNTQ -17(BP), K2, X24 // 6262fd0a4485efffffff
//TODO: VPLZCNTQ -15(R14)(R15*8), K2, X24 // 6202fd0a4484fef1ffffff VPLZCNTQ -15(R14)(R15*8), K2, X24 // 6202fd0a4484fef1ffffff
//TODO: VPLZCNTQ Y12, K1, Y0 // 62d2fd2944c4 VPLZCNTQ Y12, K1, Y0 // 62d2fd2944c4
//TODO: VPLZCNTQ Y1, K1, Y0 // 62f2fd2944c1 VPLZCNTQ Y1, K1, Y0 // 62f2fd2944c1
//TODO: VPLZCNTQ Y14, K1, Y0 // 62d2fd2944c6 VPLZCNTQ Y14, K1, Y0 // 62d2fd2944c6
//TODO: VPLZCNTQ 15(R8)(R14*4), K1, Y0 // 6292fd294484b00f000000 VPLZCNTQ 15(R8)(R14*4), K1, Y0 // 6292fd294484b00f000000
//TODO: VPLZCNTQ -7(CX)(DX*4), K1, Y0 // 62f2fd29448491f9ffffff VPLZCNTQ -7(CX)(DX*4), K1, Y0 // 62f2fd29448491f9ffffff
//TODO: VPLZCNTQ Y12, K1, Y22 // 62c2fd2944f4 VPLZCNTQ Y12, K1, Y22 // 62c2fd2944f4
//TODO: VPLZCNTQ Y1, K1, Y22 // 62e2fd2944f1 VPLZCNTQ Y1, K1, Y22 // 62e2fd2944f1
//TODO: VPLZCNTQ Y14, K1, Y22 // 62c2fd2944f6 VPLZCNTQ Y14, K1, Y22 // 62c2fd2944f6
//TODO: VPLZCNTQ 15(R8)(R14*4), K1, Y22 // 6282fd2944b4b00f000000 VPLZCNTQ 15(R8)(R14*4), K1, Y22 // 6282fd2944b4b00f000000
//TODO: VPLZCNTQ -7(CX)(DX*4), K1, Y22 // 62e2fd2944b491f9ffffff VPLZCNTQ -7(CX)(DX*4), K1, Y22 // 62e2fd2944b491f9ffffff
//TODO: VPLZCNTQ Y12, K1, Y13 // 6252fd2944ec VPLZCNTQ Y12, K1, Y13 // 6252fd2944ec
//TODO: VPLZCNTQ Y1, K1, Y13 // 6272fd2944e9 VPLZCNTQ Y1, K1, Y13 // 6272fd2944e9
//TODO: VPLZCNTQ Y14, K1, Y13 // 6252fd2944ee VPLZCNTQ Y14, K1, Y13 // 6252fd2944ee
//TODO: VPLZCNTQ 15(R8)(R14*4), K1, Y13 // 6212fd2944acb00f000000 VPLZCNTQ 15(R8)(R14*4), K1, Y13 // 6212fd2944acb00f000000
//TODO: VPLZCNTQ -7(CX)(DX*4), K1, Y13 // 6272fd2944ac91f9ffffff VPLZCNTQ -7(CX)(DX*4), K1, Y13 // 6272fd2944ac91f9ffffff
//TODO: VPLZCNTQ Z3, K2, Z11 // 6272fd4a44db VPLZCNTQ Z3, K2, Z11 // 6272fd4a44db
//TODO: VPLZCNTQ Z12, K2, Z11 // 6252fd4a44dc VPLZCNTQ Z12, K2, Z11 // 6252fd4a44dc
//TODO: VPLZCNTQ 7(SI)(DI*4), K2, Z11 // 6272fd4a449cbe07000000 VPLZCNTQ 7(SI)(DI*4), K2, Z11 // 6272fd4a449cbe07000000
//TODO: VPLZCNTQ -7(DI)(R8*2), K2, Z11 // 6232fd4a449c47f9ffffff VPLZCNTQ -7(DI)(R8*2), K2, Z11 // 6232fd4a449c47f9ffffff
//TODO: VPLZCNTQ Z3, K2, Z25 // 6262fd4a44cb VPLZCNTQ Z3, K2, Z25 // 6262fd4a44cb
//TODO: VPLZCNTQ Z12, K2, Z25 // 6242fd4a44cc VPLZCNTQ Z12, K2, Z25 // 6242fd4a44cc
//TODO: VPLZCNTQ 7(SI)(DI*4), K2, Z25 // 6262fd4a448cbe07000000 VPLZCNTQ 7(SI)(DI*4), K2, Z25 // 6262fd4a448cbe07000000
//TODO: VPLZCNTQ -7(DI)(R8*2), K2, Z25 // 6222fd4a448c47f9ffffff VPLZCNTQ -7(DI)(R8*2), K2, Z25 // 6222fd4a448c47f9ffffff
RET RET
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,329 +3,329 @@ ...@@ -3,329 +3,329 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512er(SB), NOSPLIT, $0 TEXT asmtest_avx512er(SB), NOSPLIT, $0
//TODO: VEXP2PD Z17, K7, Z20 // 62a2fd4fc8e1 VEXP2PD Z17, K7, Z20 // 62a2fd4fc8e1
//TODO: VEXP2PD Z0, K7, Z20 // 62e2fd4fc8e0 VEXP2PD Z0, K7, Z20 // 62e2fd4fc8e0
//TODO: VEXP2PD Z17, K7, Z0 // 62b2fd4fc8c1 VEXP2PD Z17, K7, Z0 // 62b2fd4fc8c1
//TODO: VEXP2PD Z0, K7, Z0 // 62f2fd4fc8c0 VEXP2PD Z0, K7, Z0 // 62f2fd4fc8c0
//TODO: VEXP2PD Z31, K2, Z17 // 6282fd4ac8cf VEXP2PD Z31, K2, Z17 // 6282fd4ac8cf
//TODO: VEXP2PD Z0, K2, Z17 // 62e2fd4ac8c8 VEXP2PD Z0, K2, Z17 // 62e2fd4ac8c8
//TODO: VEXP2PD (R14), K2, Z17 // 62c2fd4ac80e VEXP2PD (R14), K2, Z17 // 62c2fd4ac80e
//TODO: VEXP2PD -7(DI)(R8*8), K2, Z17 // 62a2fd4ac88cc7f9ffffff VEXP2PD -7(DI)(R8*8), K2, Z17 // 62a2fd4ac88cc7f9ffffff
//TODO: VEXP2PD Z31, K2, Z23 // 6282fd4ac8ff VEXP2PD Z31, K2, Z23 // 6282fd4ac8ff
//TODO: VEXP2PD Z0, K2, Z23 // 62e2fd4ac8f8 VEXP2PD Z0, K2, Z23 // 62e2fd4ac8f8
//TODO: VEXP2PD (R14), K2, Z23 // 62c2fd4ac83e VEXP2PD (R14), K2, Z23 // 62c2fd4ac83e
//TODO: VEXP2PD -7(DI)(R8*8), K2, Z23 // 62a2fd4ac8bcc7f9ffffff VEXP2PD -7(DI)(R8*8), K2, Z23 // 62a2fd4ac8bcc7f9ffffff
//TODO: VEXP2PS Z6, K4, Z21 // 62e27d4cc8ee VEXP2PS Z6, K4, Z21 // 62e27d4cc8ee
//TODO: VEXP2PS Z9, K4, Z21 // 62c27d4cc8e9 VEXP2PS Z9, K4, Z21 // 62c27d4cc8e9
//TODO: VEXP2PS Z6, K4, Z9 // 62727d4cc8ce VEXP2PS Z6, K4, Z9 // 62727d4cc8ce
//TODO: VEXP2PS Z9, K4, Z9 // 62527d4cc8c9 VEXP2PS Z9, K4, Z9 // 62527d4cc8c9
//TODO: VEXP2PS Z20, K1, Z1 // 62b27d49c8cc VEXP2PS Z20, K1, Z1 // 62b27d49c8cc
//TODO: VEXP2PS Z9, K1, Z1 // 62d27d49c8c9 VEXP2PS Z9, K1, Z1 // 62d27d49c8c9
//TODO: VEXP2PS 99(R15)(R15*4), K1, Z1 // 62927d49c88cbf63000000 VEXP2PS 99(R15)(R15*4), K1, Z1 // 62927d49c88cbf63000000
//TODO: VEXP2PS 15(DX), K1, Z1 // 62f27d49c88a0f000000 VEXP2PS 15(DX), K1, Z1 // 62f27d49c88a0f000000
//TODO: VEXP2PS Z20, K1, Z9 // 62327d49c8cc VEXP2PS Z20, K1, Z9 // 62327d49c8cc
//TODO: VEXP2PS Z9, K1, Z9 // 62527d49c8c9 VEXP2PS Z9, K1, Z9 // 62527d49c8c9
//TODO: VEXP2PS 99(R15)(R15*4), K1, Z9 // 62127d49c88cbf63000000 VEXP2PS 99(R15)(R15*4), K1, Z9 // 62127d49c88cbf63000000
//TODO: VEXP2PS 15(DX), K1, Z9 // 62727d49c88a0f000000 VEXP2PS 15(DX), K1, Z9 // 62727d49c88a0f000000
//TODO: VRCP28PD Z13, K7, Z11 // 6252fd4fcadd VRCP28PD Z13, K7, Z11 // 6252fd4fcadd
//TODO: VRCP28PD Z14, K7, Z11 // 6252fd4fcade VRCP28PD Z14, K7, Z11 // 6252fd4fcade
//TODO: VRCP28PD Z13, K7, Z5 // 62d2fd4fcaed VRCP28PD Z13, K7, Z5 // 62d2fd4fcaed
//TODO: VRCP28PD Z14, K7, Z5 // 62d2fd4fcaee VRCP28PD Z14, K7, Z5 // 62d2fd4fcaee
//TODO: VRCP28PD Z2, K2, Z5 // 62f2fd4acaea VRCP28PD Z2, K2, Z5 // 62f2fd4acaea
//TODO: VRCP28PD -7(CX)(DX*1), K2, Z5 // 62f2fd4acaac11f9ffffff VRCP28PD -7(CX)(DX*1), K2, Z5 // 62f2fd4acaac11f9ffffff
//TODO: VRCP28PD -15(R14)(R15*4), K2, Z5 // 6292fd4acaacbef1ffffff VRCP28PD -15(R14)(R15*4), K2, Z5 // 6292fd4acaacbef1ffffff
//TODO: VRCP28PD Z2, K2, Z23 // 62e2fd4acafa VRCP28PD Z2, K2, Z23 // 62e2fd4acafa
//TODO: VRCP28PD -7(CX)(DX*1), K2, Z23 // 62e2fd4acabc11f9ffffff VRCP28PD -7(CX)(DX*1), K2, Z23 // 62e2fd4acabc11f9ffffff
//TODO: VRCP28PD -15(R14)(R15*4), K2, Z23 // 6282fd4acabcbef1ffffff VRCP28PD -15(R14)(R15*4), K2, Z23 // 6282fd4acabcbef1ffffff
//TODO: VRCP28PS Z26, K5, Z6 // 62927d4dcaf2 VRCP28PS Z26, K5, Z6 // 62927d4dcaf2
//TODO: VRCP28PS Z14, K5, Z6 // 62d27d4dcaf6 VRCP28PS Z14, K5, Z6 // 62d27d4dcaf6
//TODO: VRCP28PS Z26, K5, Z14 // 62127d4dcaf2 VRCP28PS Z26, K5, Z14 // 62127d4dcaf2
//TODO: VRCP28PS Z14, K5, Z14 // 62527d4dcaf6 VRCP28PS Z14, K5, Z14 // 62527d4dcaf6
//TODO: VRCP28PS Z13, K3, Z28 // 62427d4bcae5 VRCP28PS Z13, K3, Z28 // 62427d4bcae5
//TODO: VRCP28PS Z21, K3, Z28 // 62227d4bcae5 VRCP28PS Z21, K3, Z28 // 62227d4bcae5
//TODO: VRCP28PS 15(DX)(BX*1), K3, Z28 // 62627d4bcaa41a0f000000 VRCP28PS 15(DX)(BX*1), K3, Z28 // 62627d4bcaa41a0f000000
//TODO: VRCP28PS -7(CX)(DX*2), K3, Z28 // 62627d4bcaa451f9ffffff VRCP28PS -7(CX)(DX*2), K3, Z28 // 62627d4bcaa451f9ffffff
//TODO: VRCP28PS Z13, K3, Z6 // 62d27d4bcaf5 VRCP28PS Z13, K3, Z6 // 62d27d4bcaf5
//TODO: VRCP28PS Z21, K3, Z6 // 62b27d4bcaf5 VRCP28PS Z21, K3, Z6 // 62b27d4bcaf5
//TODO: VRCP28PS 15(DX)(BX*1), K3, Z6 // 62f27d4bcab41a0f000000 VRCP28PS 15(DX)(BX*1), K3, Z6 // 62f27d4bcab41a0f000000
//TODO: VRCP28PS -7(CX)(DX*2), K3, Z6 // 62f27d4bcab451f9ffffff VRCP28PS -7(CX)(DX*2), K3, Z6 // 62f27d4bcab451f9ffffff
//TODO: VRCP28SD X25, X14, K4, X19 // 62828d0ccbd9 VRCP28SD X25, X14, K4, X19 // 62828d0ccbd9
//TODO: VRCP28SD X11, X14, K4, X19 // 62c28d0ccbdb VRCP28SD X11, X14, K4, X19 // 62c28d0ccbdb
//TODO: VRCP28SD X17, X14, K4, X19 // 62a28d0ccbd9 VRCP28SD X17, X14, K4, X19 // 62a28d0ccbd9
//TODO: VRCP28SD X25, X0, K4, X19 // 6282fd0ccbd9 VRCP28SD X25, X0, K4, X19 // 6282fd0ccbd9
//TODO: VRCP28SD X11, X0, K4, X19 // 62c2fd0ccbdb VRCP28SD X11, X0, K4, X19 // 62c2fd0ccbdb
//TODO: VRCP28SD X17, X0, K4, X19 // 62a2fd0ccbd9 VRCP28SD X17, X0, K4, X19 // 62a2fd0ccbd9
//TODO: VRCP28SD X25, X14, K4, X13 // 62128d0ccbe9 VRCP28SD X25, X14, K4, X13 // 62128d0ccbe9
//TODO: VRCP28SD X11, X14, K4, X13 // 62528d0ccbeb VRCP28SD X11, X14, K4, X13 // 62528d0ccbeb
//TODO: VRCP28SD X17, X14, K4, X13 // 62328d0ccbe9 VRCP28SD X17, X14, K4, X13 // 62328d0ccbe9
//TODO: VRCP28SD X25, X0, K4, X13 // 6212fd0ccbe9 VRCP28SD X25, X0, K4, X13 // 6212fd0ccbe9
//TODO: VRCP28SD X11, X0, K4, X13 // 6252fd0ccbeb VRCP28SD X11, X0, K4, X13 // 6252fd0ccbeb
//TODO: VRCP28SD X17, X0, K4, X13 // 6232fd0ccbe9 VRCP28SD X17, X0, K4, X13 // 6232fd0ccbe9
//TODO: VRCP28SD X25, X14, K4, X2 // 62928d0ccbd1 VRCP28SD X25, X14, K4, X2 // 62928d0ccbd1
//TODO: VRCP28SD X11, X14, K4, X2 // 62d28d0ccbd3 VRCP28SD X11, X14, K4, X2 // 62d28d0ccbd3
//TODO: VRCP28SD X17, X14, K4, X2 // 62b28d0ccbd1 VRCP28SD X17, X14, K4, X2 // 62b28d0ccbd1
//TODO: VRCP28SD X25, X0, K4, X2 // 6292fd0ccbd1 VRCP28SD X25, X0, K4, X2 // 6292fd0ccbd1
//TODO: VRCP28SD X11, X0, K4, X2 // 62d2fd0ccbd3 VRCP28SD X11, X0, K4, X2 // 62d2fd0ccbd3
//TODO: VRCP28SD X17, X0, K4, X2 // 62b2fd0ccbd1 VRCP28SD X17, X0, K4, X2 // 62b2fd0ccbd1
//TODO: VRCP28SD X2, X2, K2, X18 // 62e2ed0acbd2 or 62e2ed2acbd2 or 62e2ed4acbd2 VRCP28SD X2, X2, K2, X18 // 62e2ed0acbd2 or 62e2ed2acbd2 or 62e2ed4acbd2
//TODO: VRCP28SD X27, X2, K2, X18 // 6282ed0acbd3 or 6282ed2acbd3 or 6282ed4acbd3 VRCP28SD X27, X2, K2, X18 // 6282ed0acbd3 or 6282ed2acbd3 or 6282ed4acbd3
//TODO: VRCP28SD X26, X2, K2, X18 // 6282ed0acbd2 or 6282ed2acbd2 or 6282ed4acbd2 VRCP28SD X26, X2, K2, X18 // 6282ed0acbd2 or 6282ed2acbd2 or 6282ed4acbd2
//TODO: VRCP28SD 17(SP)(BP*8), X2, K2, X18 // 62e2ed0acb94ec11000000 or 62e2ed2acb94ec11000000 or 62e2ed4acb94ec11000000 VRCP28SD 17(SP)(BP*8), X2, K2, X18 // 62e2ed0acb94ec11000000 or 62e2ed2acb94ec11000000 or 62e2ed4acb94ec11000000
//TODO: VRCP28SD 17(SP)(BP*4), X2, K2, X18 // 62e2ed0acb94ac11000000 or 62e2ed2acb94ac11000000 or 62e2ed4acb94ac11000000 VRCP28SD 17(SP)(BP*4), X2, K2, X18 // 62e2ed0acb94ac11000000 or 62e2ed2acb94ac11000000 or 62e2ed4acb94ac11000000
//TODO: VRCP28SD X2, X24, K2, X18 // 62e2bd02cbd2 or 62e2bd22cbd2 or 62e2bd42cbd2 VRCP28SD X2, X24, K2, X18 // 62e2bd02cbd2 or 62e2bd22cbd2 or 62e2bd42cbd2
//TODO: VRCP28SD X27, X24, K2, X18 // 6282bd02cbd3 or 6282bd22cbd3 or 6282bd42cbd3 VRCP28SD X27, X24, K2, X18 // 6282bd02cbd3 or 6282bd22cbd3 or 6282bd42cbd3
//TODO: VRCP28SD X26, X24, K2, X18 // 6282bd02cbd2 or 6282bd22cbd2 or 6282bd42cbd2 VRCP28SD X26, X24, K2, X18 // 6282bd02cbd2 or 6282bd22cbd2 or 6282bd42cbd2
//TODO: VRCP28SD 17(SP)(BP*8), X24, K2, X18 // 62e2bd02cb94ec11000000 or 62e2bd22cb94ec11000000 or 62e2bd42cb94ec11000000 VRCP28SD 17(SP)(BP*8), X24, K2, X18 // 62e2bd02cb94ec11000000 or 62e2bd22cb94ec11000000 or 62e2bd42cb94ec11000000
//TODO: VRCP28SD 17(SP)(BP*4), X24, K2, X18 // 62e2bd02cb94ac11000000 or 62e2bd22cb94ac11000000 or 62e2bd42cb94ac11000000 VRCP28SD 17(SP)(BP*4), X24, K2, X18 // 62e2bd02cb94ac11000000 or 62e2bd22cb94ac11000000 or 62e2bd42cb94ac11000000
//TODO: VRCP28SD X2, X2, K2, X11 // 6272ed0acbda or 6272ed2acbda or 6272ed4acbda VRCP28SD X2, X2, K2, X11 // 6272ed0acbda or 6272ed2acbda or 6272ed4acbda
//TODO: VRCP28SD X27, X2, K2, X11 // 6212ed0acbdb or 6212ed2acbdb or 6212ed4acbdb VRCP28SD X27, X2, K2, X11 // 6212ed0acbdb or 6212ed2acbdb or 6212ed4acbdb
//TODO: VRCP28SD X26, X2, K2, X11 // 6212ed0acbda or 6212ed2acbda or 6212ed4acbda VRCP28SD X26, X2, K2, X11 // 6212ed0acbda or 6212ed2acbda or 6212ed4acbda
//TODO: VRCP28SD 17(SP)(BP*8), X2, K2, X11 // 6272ed0acb9cec11000000 or 6272ed2acb9cec11000000 or 6272ed4acb9cec11000000 VRCP28SD 17(SP)(BP*8), X2, K2, X11 // 6272ed0acb9cec11000000 or 6272ed2acb9cec11000000 or 6272ed4acb9cec11000000
//TODO: VRCP28SD 17(SP)(BP*4), X2, K2, X11 // 6272ed0acb9cac11000000 or 6272ed2acb9cac11000000 or 6272ed4acb9cac11000000 VRCP28SD 17(SP)(BP*4), X2, K2, X11 // 6272ed0acb9cac11000000 or 6272ed2acb9cac11000000 or 6272ed4acb9cac11000000
//TODO: VRCP28SD X2, X24, K2, X11 // 6272bd02cbda or 6272bd22cbda or 6272bd42cbda VRCP28SD X2, X24, K2, X11 // 6272bd02cbda or 6272bd22cbda or 6272bd42cbda
//TODO: VRCP28SD X27, X24, K2, X11 // 6212bd02cbdb or 6212bd22cbdb or 6212bd42cbdb VRCP28SD X27, X24, K2, X11 // 6212bd02cbdb or 6212bd22cbdb or 6212bd42cbdb
//TODO: VRCP28SD X26, X24, K2, X11 // 6212bd02cbda or 6212bd22cbda or 6212bd42cbda VRCP28SD X26, X24, K2, X11 // 6212bd02cbda or 6212bd22cbda or 6212bd42cbda
//TODO: VRCP28SD 17(SP)(BP*8), X24, K2, X11 // 6272bd02cb9cec11000000 or 6272bd22cb9cec11000000 or 6272bd42cb9cec11000000 VRCP28SD 17(SP)(BP*8), X24, K2, X11 // 6272bd02cb9cec11000000 or 6272bd22cb9cec11000000 or 6272bd42cb9cec11000000
//TODO: VRCP28SD 17(SP)(BP*4), X24, K2, X11 // 6272bd02cb9cac11000000 or 6272bd22cb9cac11000000 or 6272bd42cb9cac11000000 VRCP28SD 17(SP)(BP*4), X24, K2, X11 // 6272bd02cb9cac11000000 or 6272bd22cb9cac11000000 or 6272bd42cb9cac11000000
//TODO: VRCP28SD X2, X2, K2, X9 // 6272ed0acbca or 6272ed2acbca or 6272ed4acbca VRCP28SD X2, X2, K2, X9 // 6272ed0acbca or 6272ed2acbca or 6272ed4acbca
//TODO: VRCP28SD X27, X2, K2, X9 // 6212ed0acbcb or 6212ed2acbcb or 6212ed4acbcb VRCP28SD X27, X2, K2, X9 // 6212ed0acbcb or 6212ed2acbcb or 6212ed4acbcb
//TODO: VRCP28SD X26, X2, K2, X9 // 6212ed0acbca or 6212ed2acbca or 6212ed4acbca VRCP28SD X26, X2, K2, X9 // 6212ed0acbca or 6212ed2acbca or 6212ed4acbca
//TODO: VRCP28SD 17(SP)(BP*8), X2, K2, X9 // 6272ed0acb8cec11000000 or 6272ed2acb8cec11000000 or 6272ed4acb8cec11000000 VRCP28SD 17(SP)(BP*8), X2, K2, X9 // 6272ed0acb8cec11000000 or 6272ed2acb8cec11000000 or 6272ed4acb8cec11000000
//TODO: VRCP28SD 17(SP)(BP*4), X2, K2, X9 // 6272ed0acb8cac11000000 or 6272ed2acb8cac11000000 or 6272ed4acb8cac11000000 VRCP28SD 17(SP)(BP*4), X2, K2, X9 // 6272ed0acb8cac11000000 or 6272ed2acb8cac11000000 or 6272ed4acb8cac11000000
//TODO: VRCP28SD X2, X24, K2, X9 // 6272bd02cbca or 6272bd22cbca or 6272bd42cbca VRCP28SD X2, X24, K2, X9 // 6272bd02cbca or 6272bd22cbca or 6272bd42cbca
//TODO: VRCP28SD X27, X24, K2, X9 // 6212bd02cbcb or 6212bd22cbcb or 6212bd42cbcb VRCP28SD X27, X24, K2, X9 // 6212bd02cbcb or 6212bd22cbcb or 6212bd42cbcb
//TODO: VRCP28SD X26, X24, K2, X9 // 6212bd02cbca or 6212bd22cbca or 6212bd42cbca VRCP28SD X26, X24, K2, X9 // 6212bd02cbca or 6212bd22cbca or 6212bd42cbca
//TODO: VRCP28SD 17(SP)(BP*8), X24, K2, X9 // 6272bd02cb8cec11000000 or 6272bd22cb8cec11000000 or 6272bd42cb8cec11000000 VRCP28SD 17(SP)(BP*8), X24, K2, X9 // 6272bd02cb8cec11000000 or 6272bd22cb8cec11000000 or 6272bd42cb8cec11000000
//TODO: VRCP28SD 17(SP)(BP*4), X24, K2, X9 // 6272bd02cb8cac11000000 or 6272bd22cb8cac11000000 or 6272bd42cb8cac11000000 VRCP28SD 17(SP)(BP*4), X24, K2, X9 // 6272bd02cb8cac11000000 or 6272bd22cb8cac11000000 or 6272bd42cb8cac11000000
//TODO: VRCP28SS X13, X11, K2, X22 // 62c2250acbf5 VRCP28SS X13, X11, K2, X22 // 62c2250acbf5
//TODO: VRCP28SS X6, X11, K2, X22 // 62e2250acbf6 VRCP28SS X6, X11, K2, X22 // 62e2250acbf6
//TODO: VRCP28SS X12, X11, K2, X22 // 62c2250acbf4 VRCP28SS X12, X11, K2, X22 // 62c2250acbf4
//TODO: VRCP28SS X13, X15, K2, X22 // 62c2050acbf5 VRCP28SS X13, X15, K2, X22 // 62c2050acbf5
//TODO: VRCP28SS X6, X15, K2, X22 // 62e2050acbf6 VRCP28SS X6, X15, K2, X22 // 62e2050acbf6
//TODO: VRCP28SS X12, X15, K2, X22 // 62c2050acbf4 VRCP28SS X12, X15, K2, X22 // 62c2050acbf4
//TODO: VRCP28SS X13, X30, K2, X22 // 62c20d02cbf5 VRCP28SS X13, X30, K2, X22 // 62c20d02cbf5
//TODO: VRCP28SS X6, X30, K2, X22 // 62e20d02cbf6 VRCP28SS X6, X30, K2, X22 // 62e20d02cbf6
//TODO: VRCP28SS X12, X30, K2, X22 // 62c20d02cbf4 VRCP28SS X12, X30, K2, X22 // 62c20d02cbf4
//TODO: VRCP28SS X13, X11, K2, X30 // 6242250acbf5 VRCP28SS X13, X11, K2, X30 // 6242250acbf5
//TODO: VRCP28SS X6, X11, K2, X30 // 6262250acbf6 VRCP28SS X6, X11, K2, X30 // 6262250acbf6
//TODO: VRCP28SS X12, X11, K2, X30 // 6242250acbf4 VRCP28SS X12, X11, K2, X30 // 6242250acbf4
//TODO: VRCP28SS X13, X15, K2, X30 // 6242050acbf5 VRCP28SS X13, X15, K2, X30 // 6242050acbf5
//TODO: VRCP28SS X6, X15, K2, X30 // 6262050acbf6 VRCP28SS X6, X15, K2, X30 // 6262050acbf6
//TODO: VRCP28SS X12, X15, K2, X30 // 6242050acbf4 VRCP28SS X12, X15, K2, X30 // 6242050acbf4
//TODO: VRCP28SS X13, X30, K2, X30 // 62420d02cbf5 VRCP28SS X13, X30, K2, X30 // 62420d02cbf5
//TODO: VRCP28SS X6, X30, K2, X30 // 62620d02cbf6 VRCP28SS X6, X30, K2, X30 // 62620d02cbf6
//TODO: VRCP28SS X12, X30, K2, X30 // 62420d02cbf4 VRCP28SS X12, X30, K2, X30 // 62420d02cbf4
//TODO: VRCP28SS X13, X11, K2, X3 // 62d2250acbdd VRCP28SS X13, X11, K2, X3 // 62d2250acbdd
//TODO: VRCP28SS X6, X11, K2, X3 // 62f2250acbde VRCP28SS X6, X11, K2, X3 // 62f2250acbde
//TODO: VRCP28SS X12, X11, K2, X3 // 62d2250acbdc VRCP28SS X12, X11, K2, X3 // 62d2250acbdc
//TODO: VRCP28SS X13, X15, K2, X3 // 62d2050acbdd VRCP28SS X13, X15, K2, X3 // 62d2050acbdd
//TODO: VRCP28SS X6, X15, K2, X3 // 62f2050acbde VRCP28SS X6, X15, K2, X3 // 62f2050acbde
//TODO: VRCP28SS X12, X15, K2, X3 // 62d2050acbdc VRCP28SS X12, X15, K2, X3 // 62d2050acbdc
//TODO: VRCP28SS X13, X30, K2, X3 // 62d20d02cbdd VRCP28SS X13, X30, K2, X3 // 62d20d02cbdd
//TODO: VRCP28SS X6, X30, K2, X3 // 62f20d02cbde VRCP28SS X6, X30, K2, X3 // 62f20d02cbde
//TODO: VRCP28SS X12, X30, K2, X3 // 62d20d02cbdc VRCP28SS X12, X30, K2, X3 // 62d20d02cbdc
//TODO: VRCP28SS X26, X20, K3, X23 // 62825d03cbfa or 62825d23cbfa or 62825d43cbfa VRCP28SS X26, X20, K3, X23 // 62825d03cbfa or 62825d23cbfa or 62825d43cbfa
//TODO: VRCP28SS X19, X20, K3, X23 // 62a25d03cbfb or 62a25d23cbfb or 62a25d43cbfb VRCP28SS X19, X20, K3, X23 // 62a25d03cbfb or 62a25d23cbfb or 62a25d43cbfb
//TODO: VRCP28SS X0, X20, K3, X23 // 62e25d03cbf8 or 62e25d23cbf8 or 62e25d43cbf8 VRCP28SS X0, X20, K3, X23 // 62e25d03cbf8 or 62e25d23cbf8 or 62e25d43cbf8
//TODO: VRCP28SS -7(CX), X20, K3, X23 // 62e25d03cbb9f9ffffff or 62e25d23cbb9f9ffffff or 62e25d43cbb9f9ffffff VRCP28SS -7(CX), X20, K3, X23 // 62e25d03cbb9f9ffffff or 62e25d23cbb9f9ffffff or 62e25d43cbb9f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X20, K3, X23 // 62e25d03cbbc9a0f000000 or 62e25d23cbbc9a0f000000 or 62e25d43cbbc9a0f000000 VRCP28SS 15(DX)(BX*4), X20, K3, X23 // 62e25d03cbbc9a0f000000 or 62e25d23cbbc9a0f000000 or 62e25d43cbbc9a0f000000
//TODO: VRCP28SS X26, X2, K3, X23 // 62826d0bcbfa or 62826d2bcbfa or 62826d4bcbfa VRCP28SS X26, X2, K3, X23 // 62826d0bcbfa or 62826d2bcbfa or 62826d4bcbfa
//TODO: VRCP28SS X19, X2, K3, X23 // 62a26d0bcbfb or 62a26d2bcbfb or 62a26d4bcbfb VRCP28SS X19, X2, K3, X23 // 62a26d0bcbfb or 62a26d2bcbfb or 62a26d4bcbfb
//TODO: VRCP28SS X0, X2, K3, X23 // 62e26d0bcbf8 or 62e26d2bcbf8 or 62e26d4bcbf8 VRCP28SS X0, X2, K3, X23 // 62e26d0bcbf8 or 62e26d2bcbf8 or 62e26d4bcbf8
//TODO: VRCP28SS -7(CX), X2, K3, X23 // 62e26d0bcbb9f9ffffff or 62e26d2bcbb9f9ffffff or 62e26d4bcbb9f9ffffff VRCP28SS -7(CX), X2, K3, X23 // 62e26d0bcbb9f9ffffff or 62e26d2bcbb9f9ffffff or 62e26d4bcbb9f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X2, K3, X23 // 62e26d0bcbbc9a0f000000 or 62e26d2bcbbc9a0f000000 or 62e26d4bcbbc9a0f000000 VRCP28SS 15(DX)(BX*4), X2, K3, X23 // 62e26d0bcbbc9a0f000000 or 62e26d2bcbbc9a0f000000 or 62e26d4bcbbc9a0f000000
//TODO: VRCP28SS X26, X9, K3, X23 // 6282350bcbfa or 6282352bcbfa or 6282354bcbfa VRCP28SS X26, X9, K3, X23 // 6282350bcbfa or 6282352bcbfa or 6282354bcbfa
//TODO: VRCP28SS X19, X9, K3, X23 // 62a2350bcbfb or 62a2352bcbfb or 62a2354bcbfb VRCP28SS X19, X9, K3, X23 // 62a2350bcbfb or 62a2352bcbfb or 62a2354bcbfb
//TODO: VRCP28SS X0, X9, K3, X23 // 62e2350bcbf8 or 62e2352bcbf8 or 62e2354bcbf8 VRCP28SS X0, X9, K3, X23 // 62e2350bcbf8 or 62e2352bcbf8 or 62e2354bcbf8
//TODO: VRCP28SS -7(CX), X9, K3, X23 // 62e2350bcbb9f9ffffff or 62e2352bcbb9f9ffffff or 62e2354bcbb9f9ffffff VRCP28SS -7(CX), X9, K3, X23 // 62e2350bcbb9f9ffffff or 62e2352bcbb9f9ffffff or 62e2354bcbb9f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X9, K3, X23 // 62e2350bcbbc9a0f000000 or 62e2352bcbbc9a0f000000 or 62e2354bcbbc9a0f000000 VRCP28SS 15(DX)(BX*4), X9, K3, X23 // 62e2350bcbbc9a0f000000 or 62e2352bcbbc9a0f000000 or 62e2354bcbbc9a0f000000
//TODO: VRCP28SS X26, X20, K3, X30 // 62025d03cbf2 or 62025d23cbf2 or 62025d43cbf2 VRCP28SS X26, X20, K3, X30 // 62025d03cbf2 or 62025d23cbf2 or 62025d43cbf2
//TODO: VRCP28SS X19, X20, K3, X30 // 62225d03cbf3 or 62225d23cbf3 or 62225d43cbf3 VRCP28SS X19, X20, K3, X30 // 62225d03cbf3 or 62225d23cbf3 or 62225d43cbf3
//TODO: VRCP28SS X0, X20, K3, X30 // 62625d03cbf0 or 62625d23cbf0 or 62625d43cbf0 VRCP28SS X0, X20, K3, X30 // 62625d03cbf0 or 62625d23cbf0 or 62625d43cbf0
//TODO: VRCP28SS -7(CX), X20, K3, X30 // 62625d03cbb1f9ffffff or 62625d23cbb1f9ffffff or 62625d43cbb1f9ffffff VRCP28SS -7(CX), X20, K3, X30 // 62625d03cbb1f9ffffff or 62625d23cbb1f9ffffff or 62625d43cbb1f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X20, K3, X30 // 62625d03cbb49a0f000000 or 62625d23cbb49a0f000000 or 62625d43cbb49a0f000000 VRCP28SS 15(DX)(BX*4), X20, K3, X30 // 62625d03cbb49a0f000000 or 62625d23cbb49a0f000000 or 62625d43cbb49a0f000000
//TODO: VRCP28SS X26, X2, K3, X30 // 62026d0bcbf2 or 62026d2bcbf2 or 62026d4bcbf2 VRCP28SS X26, X2, K3, X30 // 62026d0bcbf2 or 62026d2bcbf2 or 62026d4bcbf2
//TODO: VRCP28SS X19, X2, K3, X30 // 62226d0bcbf3 or 62226d2bcbf3 or 62226d4bcbf3 VRCP28SS X19, X2, K3, X30 // 62226d0bcbf3 or 62226d2bcbf3 or 62226d4bcbf3
//TODO: VRCP28SS X0, X2, K3, X30 // 62626d0bcbf0 or 62626d2bcbf0 or 62626d4bcbf0 VRCP28SS X0, X2, K3, X30 // 62626d0bcbf0 or 62626d2bcbf0 or 62626d4bcbf0
//TODO: VRCP28SS -7(CX), X2, K3, X30 // 62626d0bcbb1f9ffffff or 62626d2bcbb1f9ffffff or 62626d4bcbb1f9ffffff VRCP28SS -7(CX), X2, K3, X30 // 62626d0bcbb1f9ffffff or 62626d2bcbb1f9ffffff or 62626d4bcbb1f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X2, K3, X30 // 62626d0bcbb49a0f000000 or 62626d2bcbb49a0f000000 or 62626d4bcbb49a0f000000 VRCP28SS 15(DX)(BX*4), X2, K3, X30 // 62626d0bcbb49a0f000000 or 62626d2bcbb49a0f000000 or 62626d4bcbb49a0f000000
//TODO: VRCP28SS X26, X9, K3, X30 // 6202350bcbf2 or 6202352bcbf2 or 6202354bcbf2 VRCP28SS X26, X9, K3, X30 // 6202350bcbf2 or 6202352bcbf2 or 6202354bcbf2
//TODO: VRCP28SS X19, X9, K3, X30 // 6222350bcbf3 or 6222352bcbf3 or 6222354bcbf3 VRCP28SS X19, X9, K3, X30 // 6222350bcbf3 or 6222352bcbf3 or 6222354bcbf3
//TODO: VRCP28SS X0, X9, K3, X30 // 6262350bcbf0 or 6262352bcbf0 or 6262354bcbf0 VRCP28SS X0, X9, K3, X30 // 6262350bcbf0 or 6262352bcbf0 or 6262354bcbf0
//TODO: VRCP28SS -7(CX), X9, K3, X30 // 6262350bcbb1f9ffffff or 6262352bcbb1f9ffffff or 6262354bcbb1f9ffffff VRCP28SS -7(CX), X9, K3, X30 // 6262350bcbb1f9ffffff or 6262352bcbb1f9ffffff or 6262354bcbb1f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X9, K3, X30 // 6262350bcbb49a0f000000 or 6262352bcbb49a0f000000 or 6262354bcbb49a0f000000 VRCP28SS 15(DX)(BX*4), X9, K3, X30 // 6262350bcbb49a0f000000 or 6262352bcbb49a0f000000 or 6262354bcbb49a0f000000
//TODO: VRCP28SS X26, X20, K3, X8 // 62125d03cbc2 or 62125d23cbc2 or 62125d43cbc2 VRCP28SS X26, X20, K3, X8 // 62125d03cbc2 or 62125d23cbc2 or 62125d43cbc2
//TODO: VRCP28SS X19, X20, K3, X8 // 62325d03cbc3 or 62325d23cbc3 or 62325d43cbc3 VRCP28SS X19, X20, K3, X8 // 62325d03cbc3 or 62325d23cbc3 or 62325d43cbc3
//TODO: VRCP28SS X0, X20, K3, X8 // 62725d03cbc0 or 62725d23cbc0 or 62725d43cbc0 VRCP28SS X0, X20, K3, X8 // 62725d03cbc0 or 62725d23cbc0 or 62725d43cbc0
//TODO: VRCP28SS -7(CX), X20, K3, X8 // 62725d03cb81f9ffffff or 62725d23cb81f9ffffff or 62725d43cb81f9ffffff VRCP28SS -7(CX), X20, K3, X8 // 62725d03cb81f9ffffff or 62725d23cb81f9ffffff or 62725d43cb81f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X20, K3, X8 // 62725d03cb849a0f000000 or 62725d23cb849a0f000000 or 62725d43cb849a0f000000 VRCP28SS 15(DX)(BX*4), X20, K3, X8 // 62725d03cb849a0f000000 or 62725d23cb849a0f000000 or 62725d43cb849a0f000000
//TODO: VRCP28SS X26, X2, K3, X8 // 62126d0bcbc2 or 62126d2bcbc2 or 62126d4bcbc2 VRCP28SS X26, X2, K3, X8 // 62126d0bcbc2 or 62126d2bcbc2 or 62126d4bcbc2
//TODO: VRCP28SS X19, X2, K3, X8 // 62326d0bcbc3 or 62326d2bcbc3 or 62326d4bcbc3 VRCP28SS X19, X2, K3, X8 // 62326d0bcbc3 or 62326d2bcbc3 or 62326d4bcbc3
//TODO: VRCP28SS X0, X2, K3, X8 // 62726d0bcbc0 or 62726d2bcbc0 or 62726d4bcbc0 VRCP28SS X0, X2, K3, X8 // 62726d0bcbc0 or 62726d2bcbc0 or 62726d4bcbc0
//TODO: VRCP28SS -7(CX), X2, K3, X8 // 62726d0bcb81f9ffffff or 62726d2bcb81f9ffffff or 62726d4bcb81f9ffffff VRCP28SS -7(CX), X2, K3, X8 // 62726d0bcb81f9ffffff or 62726d2bcb81f9ffffff or 62726d4bcb81f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X2, K3, X8 // 62726d0bcb849a0f000000 or 62726d2bcb849a0f000000 or 62726d4bcb849a0f000000 VRCP28SS 15(DX)(BX*4), X2, K3, X8 // 62726d0bcb849a0f000000 or 62726d2bcb849a0f000000 or 62726d4bcb849a0f000000
//TODO: VRCP28SS X26, X9, K3, X8 // 6212350bcbc2 or 6212352bcbc2 or 6212354bcbc2 VRCP28SS X26, X9, K3, X8 // 6212350bcbc2 or 6212352bcbc2 or 6212354bcbc2
//TODO: VRCP28SS X19, X9, K3, X8 // 6232350bcbc3 or 6232352bcbc3 or 6232354bcbc3 VRCP28SS X19, X9, K3, X8 // 6232350bcbc3 or 6232352bcbc3 or 6232354bcbc3
//TODO: VRCP28SS X0, X9, K3, X8 // 6272350bcbc0 or 6272352bcbc0 or 6272354bcbc0 VRCP28SS X0, X9, K3, X8 // 6272350bcbc0 or 6272352bcbc0 or 6272354bcbc0
//TODO: VRCP28SS -7(CX), X9, K3, X8 // 6272350bcb81f9ffffff or 6272352bcb81f9ffffff or 6272354bcb81f9ffffff VRCP28SS -7(CX), X9, K3, X8 // 6272350bcb81f9ffffff or 6272352bcb81f9ffffff or 6272354bcb81f9ffffff
//TODO: VRCP28SS 15(DX)(BX*4), X9, K3, X8 // 6272350bcb849a0f000000 or 6272352bcb849a0f000000 or 6272354bcb849a0f000000 VRCP28SS 15(DX)(BX*4), X9, K3, X8 // 6272350bcb849a0f000000 or 6272352bcb849a0f000000 or 6272354bcb849a0f000000
//TODO: VRSQRT28PD Z7, K3, Z3 // 62f2fd4bccdf VRSQRT28PD Z7, K3, Z3 // 62f2fd4bccdf
//TODO: VRSQRT28PD Z9, K3, Z3 // 62d2fd4bccd9 VRSQRT28PD Z9, K3, Z3 // 62d2fd4bccd9
//TODO: VRSQRT28PD Z7, K3, Z27 // 6262fd4bccdf VRSQRT28PD Z7, K3, Z27 // 6262fd4bccdf
//TODO: VRSQRT28PD Z9, K3, Z27 // 6242fd4bccd9 VRSQRT28PD Z9, K3, Z27 // 6242fd4bccd9
//TODO: VRSQRT28PD Z20, K3, Z0 // 62b2fd4bccc4 VRSQRT28PD Z20, K3, Z0 // 62b2fd4bccc4
//TODO: VRSQRT28PD Z28, K3, Z0 // 6292fd4bccc4 VRSQRT28PD Z28, K3, Z0 // 6292fd4bccc4
//TODO: VRSQRT28PD (SI), K3, Z0 // 62f2fd4bcc06 VRSQRT28PD (SI), K3, Z0 // 62f2fd4bcc06
//TODO: VRSQRT28PD 7(SI)(DI*2), K3, Z0 // 62f2fd4bcc847e07000000 VRSQRT28PD 7(SI)(DI*2), K3, Z0 // 62f2fd4bcc847e07000000
//TODO: VRSQRT28PD Z20, K3, Z6 // 62b2fd4bccf4 VRSQRT28PD Z20, K3, Z6 // 62b2fd4bccf4
//TODO: VRSQRT28PD Z28, K3, Z6 // 6292fd4bccf4 VRSQRT28PD Z28, K3, Z6 // 6292fd4bccf4
//TODO: VRSQRT28PD (SI), K3, Z6 // 62f2fd4bcc36 VRSQRT28PD (SI), K3, Z6 // 62f2fd4bcc36
//TODO: VRSQRT28PD 7(SI)(DI*2), K3, Z6 // 62f2fd4bccb47e07000000 VRSQRT28PD 7(SI)(DI*2), K3, Z6 // 62f2fd4bccb47e07000000
//TODO: VRSQRT28PS Z9, K2, Z3 // 62d27d4accd9 VRSQRT28PS Z9, K2, Z3 // 62d27d4accd9
//TODO: VRSQRT28PS Z19, K2, Z3 // 62b27d4accdb VRSQRT28PS Z19, K2, Z3 // 62b27d4accdb
//TODO: VRSQRT28PS Z9, K2, Z30 // 62427d4accf1 VRSQRT28PS Z9, K2, Z30 // 62427d4accf1
//TODO: VRSQRT28PS Z19, K2, Z30 // 62227d4accf3 VRSQRT28PS Z19, K2, Z30 // 62227d4accf3
//TODO: VRSQRT28PS Z11, K1, Z12 // 62527d49cce3 VRSQRT28PS Z11, K1, Z12 // 62527d49cce3
//TODO: VRSQRT28PS Z5, K1, Z12 // 62727d49cce5 VRSQRT28PS Z5, K1, Z12 // 62727d49cce5
//TODO: VRSQRT28PS 17(SP)(BP*8), K1, Z12 // 62727d49cca4ec11000000 VRSQRT28PS 17(SP)(BP*8), K1, Z12 // 62727d49cca4ec11000000
//TODO: VRSQRT28PS 17(SP)(BP*4), K1, Z12 // 62727d49cca4ac11000000 VRSQRT28PS 17(SP)(BP*4), K1, Z12 // 62727d49cca4ac11000000
//TODO: VRSQRT28PS Z11, K1, Z22 // 62c27d49ccf3 VRSQRT28PS Z11, K1, Z22 // 62c27d49ccf3
//TODO: VRSQRT28PS Z5, K1, Z22 // 62e27d49ccf5 VRSQRT28PS Z5, K1, Z22 // 62e27d49ccf5
//TODO: VRSQRT28PS 17(SP)(BP*8), K1, Z22 // 62e27d49ccb4ec11000000 VRSQRT28PS 17(SP)(BP*8), K1, Z22 // 62e27d49ccb4ec11000000
//TODO: VRSQRT28PS 17(SP)(BP*4), K1, Z22 // 62e27d49ccb4ac11000000 VRSQRT28PS 17(SP)(BP*4), K1, Z22 // 62e27d49ccb4ac11000000
//TODO: VRSQRT28SD X20, X20, K2, X31 // 6222dd02cdfc VRSQRT28SD X20, X20, K2, X31 // 6222dd02cdfc
//TODO: VRSQRT28SD X16, X20, K2, X31 // 6222dd02cdf8 VRSQRT28SD X16, X20, K2, X31 // 6222dd02cdf8
//TODO: VRSQRT28SD X12, X20, K2, X31 // 6242dd02cdfc VRSQRT28SD X12, X20, K2, X31 // 6242dd02cdfc
//TODO: VRSQRT28SD X20, X24, K2, X31 // 6222bd02cdfc VRSQRT28SD X20, X24, K2, X31 // 6222bd02cdfc
//TODO: VRSQRT28SD X16, X24, K2, X31 // 6222bd02cdf8 VRSQRT28SD X16, X24, K2, X31 // 6222bd02cdf8
//TODO: VRSQRT28SD X12, X24, K2, X31 // 6242bd02cdfc VRSQRT28SD X12, X24, K2, X31 // 6242bd02cdfc
//TODO: VRSQRT28SD X20, X7, K2, X31 // 6222c50acdfc VRSQRT28SD X20, X7, K2, X31 // 6222c50acdfc
//TODO: VRSQRT28SD X16, X7, K2, X31 // 6222c50acdf8 VRSQRT28SD X16, X7, K2, X31 // 6222c50acdf8
//TODO: VRSQRT28SD X12, X7, K2, X31 // 6242c50acdfc VRSQRT28SD X12, X7, K2, X31 // 6242c50acdfc
//TODO: VRSQRT28SD X20, X20, K2, X3 // 62b2dd02cddc VRSQRT28SD X20, X20, K2, X3 // 62b2dd02cddc
//TODO: VRSQRT28SD X16, X20, K2, X3 // 62b2dd02cdd8 VRSQRT28SD X16, X20, K2, X3 // 62b2dd02cdd8
//TODO: VRSQRT28SD X12, X20, K2, X3 // 62d2dd02cddc VRSQRT28SD X12, X20, K2, X3 // 62d2dd02cddc
//TODO: VRSQRT28SD X20, X24, K2, X3 // 62b2bd02cddc VRSQRT28SD X20, X24, K2, X3 // 62b2bd02cddc
//TODO: VRSQRT28SD X16, X24, K2, X3 // 62b2bd02cdd8 VRSQRT28SD X16, X24, K2, X3 // 62b2bd02cdd8
//TODO: VRSQRT28SD X12, X24, K2, X3 // 62d2bd02cddc VRSQRT28SD X12, X24, K2, X3 // 62d2bd02cddc
//TODO: VRSQRT28SD X20, X7, K2, X3 // 62b2c50acddc VRSQRT28SD X20, X7, K2, X3 // 62b2c50acddc
//TODO: VRSQRT28SD X16, X7, K2, X3 // 62b2c50acdd8 VRSQRT28SD X16, X7, K2, X3 // 62b2c50acdd8
//TODO: VRSQRT28SD X12, X7, K2, X3 // 62d2c50acddc VRSQRT28SD X12, X7, K2, X3 // 62d2c50acddc
//TODO: VRSQRT28SD X20, X20, K2, X28 // 6222dd02cde4 VRSQRT28SD X20, X20, K2, X28 // 6222dd02cde4
//TODO: VRSQRT28SD X16, X20, K2, X28 // 6222dd02cde0 VRSQRT28SD X16, X20, K2, X28 // 6222dd02cde0
//TODO: VRSQRT28SD X12, X20, K2, X28 // 6242dd02cde4 VRSQRT28SD X12, X20, K2, X28 // 6242dd02cde4
//TODO: VRSQRT28SD X20, X24, K2, X28 // 6222bd02cde4 VRSQRT28SD X20, X24, K2, X28 // 6222bd02cde4
//TODO: VRSQRT28SD X16, X24, K2, X28 // 6222bd02cde0 VRSQRT28SD X16, X24, K2, X28 // 6222bd02cde0
//TODO: VRSQRT28SD X12, X24, K2, X28 // 6242bd02cde4 VRSQRT28SD X12, X24, K2, X28 // 6242bd02cde4
//TODO: VRSQRT28SD X20, X7, K2, X28 // 6222c50acde4 VRSQRT28SD X20, X7, K2, X28 // 6222c50acde4
//TODO: VRSQRT28SD X16, X7, K2, X28 // 6222c50acde0 VRSQRT28SD X16, X7, K2, X28 // 6222c50acde0
//TODO: VRSQRT28SD X12, X7, K2, X28 // 6242c50acde4 VRSQRT28SD X12, X7, K2, X28 // 6242c50acde4
//TODO: VRSQRT28SD X8, X6, K1, X6 // 62d2cd09cdf0 or 62d2cd29cdf0 or 62d2cd49cdf0 VRSQRT28SD X8, X6, K1, X6 // 62d2cd09cdf0 or 62d2cd29cdf0 or 62d2cd49cdf0
//TODO: VRSQRT28SD X6, X6, K1, X6 // 62f2cd09cdf6 or 62f2cd29cdf6 or 62f2cd49cdf6 VRSQRT28SD X6, X6, K1, X6 // 62f2cd09cdf6 or 62f2cd29cdf6 or 62f2cd49cdf6
//TODO: VRSQRT28SD X0, X6, K1, X6 // 62f2cd09cdf0 or 62f2cd29cdf0 or 62f2cd49cdf0 VRSQRT28SD X0, X6, K1, X6 // 62f2cd09cdf0 or 62f2cd29cdf0 or 62f2cd49cdf0
//TODO: VRSQRT28SD 99(R15)(R15*1), X6, K1, X6 // 6292cd09cdb43f63000000 or 6292cd29cdb43f63000000 or 6292cd49cdb43f63000000 VRSQRT28SD 99(R15)(R15*1), X6, K1, X6 // 6292cd09cdb43f63000000 or 6292cd29cdb43f63000000 or 6292cd49cdb43f63000000
//TODO: VRSQRT28SD (DX), X6, K1, X6 // 62f2cd09cd32 or 62f2cd29cd32 or 62f2cd49cd32 VRSQRT28SD (DX), X6, K1, X6 // 62f2cd09cd32 or 62f2cd29cd32 or 62f2cd49cd32
//TODO: VRSQRT28SD X8, X1, K1, X6 // 62d2f509cdf0 or 62d2f529cdf0 or 62d2f549cdf0 VRSQRT28SD X8, X1, K1, X6 // 62d2f509cdf0 or 62d2f529cdf0 or 62d2f549cdf0
//TODO: VRSQRT28SD X6, X1, K1, X6 // 62f2f509cdf6 or 62f2f529cdf6 or 62f2f549cdf6 VRSQRT28SD X6, X1, K1, X6 // 62f2f509cdf6 or 62f2f529cdf6 or 62f2f549cdf6
//TODO: VRSQRT28SD X0, X1, K1, X6 // 62f2f509cdf0 or 62f2f529cdf0 or 62f2f549cdf0 VRSQRT28SD X0, X1, K1, X6 // 62f2f509cdf0 or 62f2f529cdf0 or 62f2f549cdf0
//TODO: VRSQRT28SD 99(R15)(R15*1), X1, K1, X6 // 6292f509cdb43f63000000 or 6292f529cdb43f63000000 or 6292f549cdb43f63000000 VRSQRT28SD 99(R15)(R15*1), X1, K1, X6 // 6292f509cdb43f63000000 or 6292f529cdb43f63000000 or 6292f549cdb43f63000000
//TODO: VRSQRT28SD (DX), X1, K1, X6 // 62f2f509cd32 or 62f2f529cd32 or 62f2f549cd32 VRSQRT28SD (DX), X1, K1, X6 // 62f2f509cd32 or 62f2f529cd32 or 62f2f549cd32
//TODO: VRSQRT28SD X8, X8, K1, X6 // 62d2bd09cdf0 or 62d2bd29cdf0 or 62d2bd49cdf0 VRSQRT28SD X8, X8, K1, X6 // 62d2bd09cdf0 or 62d2bd29cdf0 or 62d2bd49cdf0
//TODO: VRSQRT28SD X6, X8, K1, X6 // 62f2bd09cdf6 or 62f2bd29cdf6 or 62f2bd49cdf6 VRSQRT28SD X6, X8, K1, X6 // 62f2bd09cdf6 or 62f2bd29cdf6 or 62f2bd49cdf6
//TODO: VRSQRT28SD X0, X8, K1, X6 // 62f2bd09cdf0 or 62f2bd29cdf0 or 62f2bd49cdf0 VRSQRT28SD X0, X8, K1, X6 // 62f2bd09cdf0 or 62f2bd29cdf0 or 62f2bd49cdf0
//TODO: VRSQRT28SD 99(R15)(R15*1), X8, K1, X6 // 6292bd09cdb43f63000000 or 6292bd29cdb43f63000000 or 6292bd49cdb43f63000000 VRSQRT28SD 99(R15)(R15*1), X8, K1, X6 // 6292bd09cdb43f63000000 or 6292bd29cdb43f63000000 or 6292bd49cdb43f63000000
//TODO: VRSQRT28SD (DX), X8, K1, X6 // 62f2bd09cd32 or 62f2bd29cd32 or 62f2bd49cd32 VRSQRT28SD (DX), X8, K1, X6 // 62f2bd09cd32 or 62f2bd29cd32 or 62f2bd49cd32
//TODO: VRSQRT28SD X8, X6, K1, X17 // 62c2cd09cdc8 or 62c2cd29cdc8 or 62c2cd49cdc8 VRSQRT28SD X8, X6, K1, X17 // 62c2cd09cdc8 or 62c2cd29cdc8 or 62c2cd49cdc8
//TODO: VRSQRT28SD X6, X6, K1, X17 // 62e2cd09cdce or 62e2cd29cdce or 62e2cd49cdce VRSQRT28SD X6, X6, K1, X17 // 62e2cd09cdce or 62e2cd29cdce or 62e2cd49cdce
//TODO: VRSQRT28SD X0, X6, K1, X17 // 62e2cd09cdc8 or 62e2cd29cdc8 or 62e2cd49cdc8 VRSQRT28SD X0, X6, K1, X17 // 62e2cd09cdc8 or 62e2cd29cdc8 or 62e2cd49cdc8
//TODO: VRSQRT28SD 99(R15)(R15*1), X6, K1, X17 // 6282cd09cd8c3f63000000 or 6282cd29cd8c3f63000000 or 6282cd49cd8c3f63000000 VRSQRT28SD 99(R15)(R15*1), X6, K1, X17 // 6282cd09cd8c3f63000000 or 6282cd29cd8c3f63000000 or 6282cd49cd8c3f63000000
//TODO: VRSQRT28SD (DX), X6, K1, X17 // 62e2cd09cd0a or 62e2cd29cd0a or 62e2cd49cd0a VRSQRT28SD (DX), X6, K1, X17 // 62e2cd09cd0a or 62e2cd29cd0a or 62e2cd49cd0a
//TODO: VRSQRT28SD X8, X1, K1, X17 // 62c2f509cdc8 or 62c2f529cdc8 or 62c2f549cdc8 VRSQRT28SD X8, X1, K1, X17 // 62c2f509cdc8 or 62c2f529cdc8 or 62c2f549cdc8
//TODO: VRSQRT28SD X6, X1, K1, X17 // 62e2f509cdce or 62e2f529cdce or 62e2f549cdce VRSQRT28SD X6, X1, K1, X17 // 62e2f509cdce or 62e2f529cdce or 62e2f549cdce
//TODO: VRSQRT28SD X0, X1, K1, X17 // 62e2f509cdc8 or 62e2f529cdc8 or 62e2f549cdc8 VRSQRT28SD X0, X1, K1, X17 // 62e2f509cdc8 or 62e2f529cdc8 or 62e2f549cdc8
//TODO: VRSQRT28SD 99(R15)(R15*1), X1, K1, X17 // 6282f509cd8c3f63000000 or 6282f529cd8c3f63000000 or 6282f549cd8c3f63000000 VRSQRT28SD 99(R15)(R15*1), X1, K1, X17 // 6282f509cd8c3f63000000 or 6282f529cd8c3f63000000 or 6282f549cd8c3f63000000
//TODO: VRSQRT28SD (DX), X1, K1, X17 // 62e2f509cd0a or 62e2f529cd0a or 62e2f549cd0a VRSQRT28SD (DX), X1, K1, X17 // 62e2f509cd0a or 62e2f529cd0a or 62e2f549cd0a
//TODO: VRSQRT28SD X8, X8, K1, X17 // 62c2bd09cdc8 or 62c2bd29cdc8 or 62c2bd49cdc8 VRSQRT28SD X8, X8, K1, X17 // 62c2bd09cdc8 or 62c2bd29cdc8 or 62c2bd49cdc8
//TODO: VRSQRT28SD X6, X8, K1, X17 // 62e2bd09cdce or 62e2bd29cdce or 62e2bd49cdce VRSQRT28SD X6, X8, K1, X17 // 62e2bd09cdce or 62e2bd29cdce or 62e2bd49cdce
//TODO: VRSQRT28SD X0, X8, K1, X17 // 62e2bd09cdc8 or 62e2bd29cdc8 or 62e2bd49cdc8 VRSQRT28SD X0, X8, K1, X17 // 62e2bd09cdc8 or 62e2bd29cdc8 or 62e2bd49cdc8
//TODO: VRSQRT28SD 99(R15)(R15*1), X8, K1, X17 // 6282bd09cd8c3f63000000 or 6282bd29cd8c3f63000000 or 6282bd49cd8c3f63000000 VRSQRT28SD 99(R15)(R15*1), X8, K1, X17 // 6282bd09cd8c3f63000000 or 6282bd29cd8c3f63000000 or 6282bd49cd8c3f63000000
//TODO: VRSQRT28SD (DX), X8, K1, X17 // 62e2bd09cd0a or 62e2bd29cd0a or 62e2bd49cd0a VRSQRT28SD (DX), X8, K1, X17 // 62e2bd09cd0a or 62e2bd29cd0a or 62e2bd49cd0a
//TODO: VRSQRT28SD X8, X6, K1, X28 // 6242cd09cde0 or 6242cd29cde0 or 6242cd49cde0 VRSQRT28SD X8, X6, K1, X28 // 6242cd09cde0 or 6242cd29cde0 or 6242cd49cde0
//TODO: VRSQRT28SD X6, X6, K1, X28 // 6262cd09cde6 or 6262cd29cde6 or 6262cd49cde6 VRSQRT28SD X6, X6, K1, X28 // 6262cd09cde6 or 6262cd29cde6 or 6262cd49cde6
//TODO: VRSQRT28SD X0, X6, K1, X28 // 6262cd09cde0 or 6262cd29cde0 or 6262cd49cde0 VRSQRT28SD X0, X6, K1, X28 // 6262cd09cde0 or 6262cd29cde0 or 6262cd49cde0
//TODO: VRSQRT28SD 99(R15)(R15*1), X6, K1, X28 // 6202cd09cda43f63000000 or 6202cd29cda43f63000000 or 6202cd49cda43f63000000 VRSQRT28SD 99(R15)(R15*1), X6, K1, X28 // 6202cd09cda43f63000000 or 6202cd29cda43f63000000 or 6202cd49cda43f63000000
//TODO: VRSQRT28SD (DX), X6, K1, X28 // 6262cd09cd22 or 6262cd29cd22 or 6262cd49cd22 VRSQRT28SD (DX), X6, K1, X28 // 6262cd09cd22 or 6262cd29cd22 or 6262cd49cd22
//TODO: VRSQRT28SD X8, X1, K1, X28 // 6242f509cde0 or 6242f529cde0 or 6242f549cde0 VRSQRT28SD X8, X1, K1, X28 // 6242f509cde0 or 6242f529cde0 or 6242f549cde0
//TODO: VRSQRT28SD X6, X1, K1, X28 // 6262f509cde6 or 6262f529cde6 or 6262f549cde6 VRSQRT28SD X6, X1, K1, X28 // 6262f509cde6 or 6262f529cde6 or 6262f549cde6
//TODO: VRSQRT28SD X0, X1, K1, X28 // 6262f509cde0 or 6262f529cde0 or 6262f549cde0 VRSQRT28SD X0, X1, K1, X28 // 6262f509cde0 or 6262f529cde0 or 6262f549cde0
//TODO: VRSQRT28SD 99(R15)(R15*1), X1, K1, X28 // 6202f509cda43f63000000 or 6202f529cda43f63000000 or 6202f549cda43f63000000 VRSQRT28SD 99(R15)(R15*1), X1, K1, X28 // 6202f509cda43f63000000 or 6202f529cda43f63000000 or 6202f549cda43f63000000
//TODO: VRSQRT28SD (DX), X1, K1, X28 // 6262f509cd22 or 6262f529cd22 or 6262f549cd22 VRSQRT28SD (DX), X1, K1, X28 // 6262f509cd22 or 6262f529cd22 or 6262f549cd22
//TODO: VRSQRT28SD X8, X8, K1, X28 // 6242bd09cde0 or 6242bd29cde0 or 6242bd49cde0 VRSQRT28SD X8, X8, K1, X28 // 6242bd09cde0 or 6242bd29cde0 or 6242bd49cde0
//TODO: VRSQRT28SD X6, X8, K1, X28 // 6262bd09cde6 or 6262bd29cde6 or 6262bd49cde6 VRSQRT28SD X6, X8, K1, X28 // 6262bd09cde6 or 6262bd29cde6 or 6262bd49cde6
//TODO: VRSQRT28SD X0, X8, K1, X28 // 6262bd09cde0 or 6262bd29cde0 or 6262bd49cde0 VRSQRT28SD X0, X8, K1, X28 // 6262bd09cde0 or 6262bd29cde0 or 6262bd49cde0
//TODO: VRSQRT28SD 99(R15)(R15*1), X8, K1, X28 // 6202bd09cda43f63000000 or 6202bd29cda43f63000000 or 6202bd49cda43f63000000 VRSQRT28SD 99(R15)(R15*1), X8, K1, X28 // 6202bd09cda43f63000000 or 6202bd29cda43f63000000 or 6202bd49cda43f63000000
//TODO: VRSQRT28SD (DX), X8, K1, X28 // 6262bd09cd22 or 6262bd29cd22 or 6262bd49cd22 VRSQRT28SD (DX), X8, K1, X28 // 6262bd09cd22 or 6262bd29cd22 or 6262bd49cd22
//TODO: VRSQRT28SS X16, X6, K7, X11 // 62324d0fcdd8 VRSQRT28SS X16, X6, K7, X11 // 62324d0fcdd8
//TODO: VRSQRT28SS X28, X6, K7, X11 // 62124d0fcddc VRSQRT28SS X28, X6, K7, X11 // 62124d0fcddc
//TODO: VRSQRT28SS X8, X6, K7, X11 // 62524d0fcdd8 VRSQRT28SS X8, X6, K7, X11 // 62524d0fcdd8
//TODO: VRSQRT28SS X16, X22, K7, X11 // 62324d07cdd8 VRSQRT28SS X16, X22, K7, X11 // 62324d07cdd8
//TODO: VRSQRT28SS X28, X22, K7, X11 // 62124d07cddc VRSQRT28SS X28, X22, K7, X11 // 62124d07cddc
//TODO: VRSQRT28SS X8, X22, K7, X11 // 62524d07cdd8 VRSQRT28SS X8, X22, K7, X11 // 62524d07cdd8
//TODO: VRSQRT28SS X16, X12, K7, X11 // 62321d0fcdd8 VRSQRT28SS X16, X12, K7, X11 // 62321d0fcdd8
//TODO: VRSQRT28SS X28, X12, K7, X11 // 62121d0fcddc VRSQRT28SS X28, X12, K7, X11 // 62121d0fcddc
//TODO: VRSQRT28SS X8, X12, K7, X11 // 62521d0fcdd8 VRSQRT28SS X8, X12, K7, X11 // 62521d0fcdd8
//TODO: VRSQRT28SS X16, X6, K7, X16 // 62a24d0fcdc0 VRSQRT28SS X16, X6, K7, X16 // 62a24d0fcdc0
//TODO: VRSQRT28SS X28, X6, K7, X16 // 62824d0fcdc4 VRSQRT28SS X28, X6, K7, X16 // 62824d0fcdc4
//TODO: VRSQRT28SS X8, X6, K7, X16 // 62c24d0fcdc0 VRSQRT28SS X8, X6, K7, X16 // 62c24d0fcdc0
//TODO: VRSQRT28SS X16, X22, K7, X16 // 62a24d07cdc0 VRSQRT28SS X16, X22, K7, X16 // 62a24d07cdc0
//TODO: VRSQRT28SS X28, X22, K7, X16 // 62824d07cdc4 VRSQRT28SS X28, X22, K7, X16 // 62824d07cdc4
//TODO: VRSQRT28SS X8, X22, K7, X16 // 62c24d07cdc0 VRSQRT28SS X8, X22, K7, X16 // 62c24d07cdc0
//TODO: VRSQRT28SS X16, X12, K7, X16 // 62a21d0fcdc0 VRSQRT28SS X16, X12, K7, X16 // 62a21d0fcdc0
//TODO: VRSQRT28SS X28, X12, K7, X16 // 62821d0fcdc4 VRSQRT28SS X28, X12, K7, X16 // 62821d0fcdc4
//TODO: VRSQRT28SS X8, X12, K7, X16 // 62c21d0fcdc0 VRSQRT28SS X8, X12, K7, X16 // 62c21d0fcdc0
//TODO: VRSQRT28SS X16, X6, K7, X6 // 62b24d0fcdf0 VRSQRT28SS X16, X6, K7, X6 // 62b24d0fcdf0
//TODO: VRSQRT28SS X28, X6, K7, X6 // 62924d0fcdf4 VRSQRT28SS X28, X6, K7, X6 // 62924d0fcdf4
//TODO: VRSQRT28SS X8, X6, K7, X6 // 62d24d0fcdf0 VRSQRT28SS X8, X6, K7, X6 // 62d24d0fcdf0
//TODO: VRSQRT28SS X16, X22, K7, X6 // 62b24d07cdf0 VRSQRT28SS X16, X22, K7, X6 // 62b24d07cdf0
//TODO: VRSQRT28SS X28, X22, K7, X6 // 62924d07cdf4 VRSQRT28SS X28, X22, K7, X6 // 62924d07cdf4
//TODO: VRSQRT28SS X8, X22, K7, X6 // 62d24d07cdf0 VRSQRT28SS X8, X22, K7, X6 // 62d24d07cdf0
//TODO: VRSQRT28SS X16, X12, K7, X6 // 62b21d0fcdf0 VRSQRT28SS X16, X12, K7, X6 // 62b21d0fcdf0
//TODO: VRSQRT28SS X28, X12, K7, X6 // 62921d0fcdf4 VRSQRT28SS X28, X12, K7, X6 // 62921d0fcdf4
//TODO: VRSQRT28SS X8, X12, K7, X6 // 62d21d0fcdf0 VRSQRT28SS X8, X12, K7, X6 // 62d21d0fcdf0
//TODO: VRSQRT28SS X14, X19, K1, X15 // 62526501cdfe or 62526521cdfe or 62526541cdfe VRSQRT28SS X14, X19, K1, X15 // 62526501cdfe or 62526521cdfe or 62526541cdfe
//TODO: VRSQRT28SS X0, X19, K1, X15 // 62726501cdf8 or 62726521cdf8 or 62726541cdf8 VRSQRT28SS X0, X19, K1, X15 // 62726501cdf8 or 62726521cdf8 or 62726541cdf8
//TODO: VRSQRT28SS 15(R8)(R14*4), X19, K1, X15 // 62126501cdbcb00f000000 or 62126521cdbcb00f000000 or 62126541cdbcb00f000000 VRSQRT28SS 15(R8)(R14*4), X19, K1, X15 // 62126501cdbcb00f000000 or 62126521cdbcb00f000000 or 62126541cdbcb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X19, K1, X15 // 62726501cdbc91f9ffffff or 62726521cdbc91f9ffffff or 62726541cdbc91f9ffffff VRSQRT28SS -7(CX)(DX*4), X19, K1, X15 // 62726501cdbc91f9ffffff or 62726521cdbc91f9ffffff or 62726541cdbc91f9ffffff
//TODO: VRSQRT28SS X14, X13, K1, X15 // 62521509cdfe or 62521529cdfe or 62521549cdfe VRSQRT28SS X14, X13, K1, X15 // 62521509cdfe or 62521529cdfe or 62521549cdfe
//TODO: VRSQRT28SS X0, X13, K1, X15 // 62721509cdf8 or 62721529cdf8 or 62721549cdf8 VRSQRT28SS X0, X13, K1, X15 // 62721509cdf8 or 62721529cdf8 or 62721549cdf8
//TODO: VRSQRT28SS 15(R8)(R14*4), X13, K1, X15 // 62121509cdbcb00f000000 or 62121529cdbcb00f000000 or 62121549cdbcb00f000000 VRSQRT28SS 15(R8)(R14*4), X13, K1, X15 // 62121509cdbcb00f000000 or 62121529cdbcb00f000000 or 62121549cdbcb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X13, K1, X15 // 62721509cdbc91f9ffffff or 62721529cdbc91f9ffffff or 62721549cdbc91f9ffffff VRSQRT28SS -7(CX)(DX*4), X13, K1, X15 // 62721509cdbc91f9ffffff or 62721529cdbc91f9ffffff or 62721549cdbc91f9ffffff
//TODO: VRSQRT28SS X14, X2, K1, X15 // 62526d09cdfe or 62526d29cdfe or 62526d49cdfe VRSQRT28SS X14, X2, K1, X15 // 62526d09cdfe or 62526d29cdfe or 62526d49cdfe
//TODO: VRSQRT28SS X0, X2, K1, X15 // 62726d09cdf8 or 62726d29cdf8 or 62726d49cdf8 VRSQRT28SS X0, X2, K1, X15 // 62726d09cdf8 or 62726d29cdf8 or 62726d49cdf8
//TODO: VRSQRT28SS 15(R8)(R14*4), X2, K1, X15 // 62126d09cdbcb00f000000 or 62126d29cdbcb00f000000 or 62126d49cdbcb00f000000 VRSQRT28SS 15(R8)(R14*4), X2, K1, X15 // 62126d09cdbcb00f000000 or 62126d29cdbcb00f000000 or 62126d49cdbcb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X2, K1, X15 // 62726d09cdbc91f9ffffff or 62726d29cdbc91f9ffffff or 62726d49cdbc91f9ffffff VRSQRT28SS -7(CX)(DX*4), X2, K1, X15 // 62726d09cdbc91f9ffffff or 62726d29cdbc91f9ffffff or 62726d49cdbc91f9ffffff
//TODO: VRSQRT28SS X14, X19, K1, X11 // 62526501cdde or 62526521cdde or 62526541cdde VRSQRT28SS X14, X19, K1, X11 // 62526501cdde or 62526521cdde or 62526541cdde
//TODO: VRSQRT28SS X0, X19, K1, X11 // 62726501cdd8 or 62726521cdd8 or 62726541cdd8 VRSQRT28SS X0, X19, K1, X11 // 62726501cdd8 or 62726521cdd8 or 62726541cdd8
//TODO: VRSQRT28SS 15(R8)(R14*4), X19, K1, X11 // 62126501cd9cb00f000000 or 62126521cd9cb00f000000 or 62126541cd9cb00f000000 VRSQRT28SS 15(R8)(R14*4), X19, K1, X11 // 62126501cd9cb00f000000 or 62126521cd9cb00f000000 or 62126541cd9cb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X19, K1, X11 // 62726501cd9c91f9ffffff or 62726521cd9c91f9ffffff or 62726541cd9c91f9ffffff VRSQRT28SS -7(CX)(DX*4), X19, K1, X11 // 62726501cd9c91f9ffffff or 62726521cd9c91f9ffffff or 62726541cd9c91f9ffffff
//TODO: VRSQRT28SS X14, X13, K1, X11 // 62521509cdde or 62521529cdde or 62521549cdde VRSQRT28SS X14, X13, K1, X11 // 62521509cdde or 62521529cdde or 62521549cdde
//TODO: VRSQRT28SS X0, X13, K1, X11 // 62721509cdd8 or 62721529cdd8 or 62721549cdd8 VRSQRT28SS X0, X13, K1, X11 // 62721509cdd8 or 62721529cdd8 or 62721549cdd8
//TODO: VRSQRT28SS 15(R8)(R14*4), X13, K1, X11 // 62121509cd9cb00f000000 or 62121529cd9cb00f000000 or 62121549cd9cb00f000000 VRSQRT28SS 15(R8)(R14*4), X13, K1, X11 // 62121509cd9cb00f000000 or 62121529cd9cb00f000000 or 62121549cd9cb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X13, K1, X11 // 62721509cd9c91f9ffffff or 62721529cd9c91f9ffffff or 62721549cd9c91f9ffffff VRSQRT28SS -7(CX)(DX*4), X13, K1, X11 // 62721509cd9c91f9ffffff or 62721529cd9c91f9ffffff or 62721549cd9c91f9ffffff
//TODO: VRSQRT28SS X14, X2, K1, X11 // 62526d09cdde or 62526d29cdde or 62526d49cdde VRSQRT28SS X14, X2, K1, X11 // 62526d09cdde or 62526d29cdde or 62526d49cdde
//TODO: VRSQRT28SS X0, X2, K1, X11 // 62726d09cdd8 or 62726d29cdd8 or 62726d49cdd8 VRSQRT28SS X0, X2, K1, X11 // 62726d09cdd8 or 62726d29cdd8 or 62726d49cdd8
//TODO: VRSQRT28SS 15(R8)(R14*4), X2, K1, X11 // 62126d09cd9cb00f000000 or 62126d29cd9cb00f000000 or 62126d49cd9cb00f000000 VRSQRT28SS 15(R8)(R14*4), X2, K1, X11 // 62126d09cd9cb00f000000 or 62126d29cd9cb00f000000 or 62126d49cd9cb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X2, K1, X11 // 62726d09cd9c91f9ffffff or 62726d29cd9c91f9ffffff or 62726d49cd9c91f9ffffff VRSQRT28SS -7(CX)(DX*4), X2, K1, X11 // 62726d09cd9c91f9ffffff or 62726d29cd9c91f9ffffff or 62726d49cd9c91f9ffffff
//TODO: VRSQRT28SS X14, X19, K1, X1 // 62d26501cdce or 62d26521cdce or 62d26541cdce VRSQRT28SS X14, X19, K1, X1 // 62d26501cdce or 62d26521cdce or 62d26541cdce
//TODO: VRSQRT28SS X0, X19, K1, X1 // 62f26501cdc8 or 62f26521cdc8 or 62f26541cdc8 VRSQRT28SS X0, X19, K1, X1 // 62f26501cdc8 or 62f26521cdc8 or 62f26541cdc8
//TODO: VRSQRT28SS 15(R8)(R14*4), X19, K1, X1 // 62926501cd8cb00f000000 or 62926521cd8cb00f000000 or 62926541cd8cb00f000000 VRSQRT28SS 15(R8)(R14*4), X19, K1, X1 // 62926501cd8cb00f000000 or 62926521cd8cb00f000000 or 62926541cd8cb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X19, K1, X1 // 62f26501cd8c91f9ffffff or 62f26521cd8c91f9ffffff or 62f26541cd8c91f9ffffff VRSQRT28SS -7(CX)(DX*4), X19, K1, X1 // 62f26501cd8c91f9ffffff or 62f26521cd8c91f9ffffff or 62f26541cd8c91f9ffffff
//TODO: VRSQRT28SS X14, X13, K1, X1 // 62d21509cdce or 62d21529cdce or 62d21549cdce VRSQRT28SS X14, X13, K1, X1 // 62d21509cdce or 62d21529cdce or 62d21549cdce
//TODO: VRSQRT28SS X0, X13, K1, X1 // 62f21509cdc8 or 62f21529cdc8 or 62f21549cdc8 VRSQRT28SS X0, X13, K1, X1 // 62f21509cdc8 or 62f21529cdc8 or 62f21549cdc8
//TODO: VRSQRT28SS 15(R8)(R14*4), X13, K1, X1 // 62921509cd8cb00f000000 or 62921529cd8cb00f000000 or 62921549cd8cb00f000000 VRSQRT28SS 15(R8)(R14*4), X13, K1, X1 // 62921509cd8cb00f000000 or 62921529cd8cb00f000000 or 62921549cd8cb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X13, K1, X1 // 62f21509cd8c91f9ffffff or 62f21529cd8c91f9ffffff or 62f21549cd8c91f9ffffff VRSQRT28SS -7(CX)(DX*4), X13, K1, X1 // 62f21509cd8c91f9ffffff or 62f21529cd8c91f9ffffff or 62f21549cd8c91f9ffffff
//TODO: VRSQRT28SS X14, X2, K1, X1 // 62d26d09cdce or 62d26d29cdce or 62d26d49cdce VRSQRT28SS X14, X2, K1, X1 // 62d26d09cdce or 62d26d29cdce or 62d26d49cdce
//TODO: VRSQRT28SS X0, X2, K1, X1 // 62f26d09cdc8 or 62f26d29cdc8 or 62f26d49cdc8 VRSQRT28SS X0, X2, K1, X1 // 62f26d09cdc8 or 62f26d29cdc8 or 62f26d49cdc8
//TODO: VRSQRT28SS 15(R8)(R14*4), X2, K1, X1 // 62926d09cd8cb00f000000 or 62926d29cd8cb00f000000 or 62926d49cd8cb00f000000 VRSQRT28SS 15(R8)(R14*4), X2, K1, X1 // 62926d09cd8cb00f000000 or 62926d29cd8cb00f000000 or 62926d49cd8cb00f000000
//TODO: VRSQRT28SS -7(CX)(DX*4), X2, K1, X1 // 62f26d09cd8c91f9ffffff or 62f26d29cd8c91f9ffffff or 62f26d49cd8c91f9ffffff VRSQRT28SS -7(CX)(DX*4), X2, K1, X1 // 62f26d09cd8c91f9ffffff or 62f26d29cd8c91f9ffffff or 62f26d49cd8c91f9ffffff
RET RET
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -3,52 +3,52 @@ ...@@ -3,52 +3,52 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512pf(SB), NOSPLIT, $0 TEXT asmtest_avx512pf(SB), NOSPLIT, $0
//TODO: VGATHERPF0DPD K5, (R10)(Y29*8) // 6292fd45c60cea VGATHERPF0DPD K5, (R10)(Y29*8) // 6292fd45c60cea
//TODO: VGATHERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc60c64 VGATHERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc60c64
//TODO: VGATHERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc60c92 VGATHERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc60c92
//TODO: VGATHERPF0DPS K3, (BP)(Z10*2) // 62b27d4bc64c5500 VGATHERPF0DPS K3, (BP)(Z10*2) // 62b27d4bc64c5500
//TODO: VGATHERPF0DPS K3, (R10)(Z29*8) // 62927d43c60cea VGATHERPF0DPS K3, (R10)(Z29*8) // 62927d43c60cea
//TODO: VGATHERPF0DPS K3, (R14)(Z29*8) // 62927d43c60cee VGATHERPF0DPS K3, (R14)(Z29*8) // 62927d43c60cee
//TODO: VGATHERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc70c92 VGATHERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc70c92
//TODO: VGATHERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc70c20 VGATHERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc70c20
//TODO: VGATHERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc70c64 VGATHERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc70c64
//TODO: VGATHERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac74c5500 VGATHERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac74c5500
//TODO: VGATHERPF0QPS K2, (R10)(Z29*8) // 62927d42c70cea VGATHERPF0QPS K2, (R10)(Z29*8) // 62927d42c70cea
//TODO: VGATHERPF0QPS K2, (R14)(Z29*8) // 62927d42c70cee VGATHERPF0QPS K2, (R14)(Z29*8) // 62927d42c70cee
//TODO: VGATHERPF1DPD K2, (R14)(Y29*8) // 6292fd42c614ee VGATHERPF1DPD K2, (R14)(Y29*8) // 6292fd42c614ee
//TODO: VGATHERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac61420 VGATHERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac61420
//TODO: VGATHERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6545500 VGATHERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6545500
//TODO: VGATHERPF1DPS K3, (DX)(Z10*4) // 62b27d4bc61492 VGATHERPF1DPS K3, (DX)(Z10*4) // 62b27d4bc61492
//TODO: VGATHERPF1DPS K3, (AX)(Z4*1) // 62f27d4bc61420 VGATHERPF1DPS K3, (AX)(Z4*1) // 62f27d4bc61420
//TODO: VGATHERPF1DPS K3, (SP)(Z4*2) // 62f27d4bc61464 VGATHERPF1DPS K3, (SP)(Z4*2) // 62f27d4bc61464
//TODO: VGATHERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc71492 VGATHERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc71492
//TODO: VGATHERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc71420 VGATHERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc71420
//TODO: VGATHERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc71464 VGATHERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc71464
//TODO: VGATHERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7545500 VGATHERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7545500
//TODO: VGATHERPF1QPS K3, (R10)(Z29*8) // 62927d43c714ea VGATHERPF1QPS K3, (R10)(Z29*8) // 62927d43c714ea
//TODO: VGATHERPF1QPS K3, (R14)(Z29*8) // 62927d43c714ee VGATHERPF1QPS K3, (R14)(Z29*8) // 62927d43c714ee
//TODO: VSCATTERPF0DPD K5, (R10)(Y29*8) // 6292fd45c62cea VSCATTERPF0DPD K5, (R10)(Y29*8) // 6292fd45c62cea
//TODO: VSCATTERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc62c64 VSCATTERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc62c64
//TODO: VSCATTERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc62c92 VSCATTERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc62c92
//TODO: VSCATTERPF0DPS K3, (DX)(Z10*4) // 62b27d4bc62c92 VSCATTERPF0DPS K3, (DX)(Z10*4) // 62b27d4bc62c92
//TODO: VSCATTERPF0DPS K3, (AX)(Z4*1) // 62f27d4bc62c20 VSCATTERPF0DPS K3, (AX)(Z4*1) // 62f27d4bc62c20
//TODO: VSCATTERPF0DPS K3, (SP)(Z4*2) // 62f27d4bc62c64 VSCATTERPF0DPS K3, (SP)(Z4*2) // 62f27d4bc62c64
//TODO: VSCATTERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc72c92 VSCATTERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc72c92
//TODO: VSCATTERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc72c20 VSCATTERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc72c20
//TODO: VSCATTERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc72c64 VSCATTERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc72c64
//TODO: VSCATTERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac76c5500 VSCATTERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac76c5500
//TODO: VSCATTERPF0QPS K2, (R10)(Z29*8) // 62927d42c72cea VSCATTERPF0QPS K2, (R10)(Z29*8) // 62927d42c72cea
//TODO: VSCATTERPF0QPS K2, (R14)(Z29*8) // 62927d42c72cee VSCATTERPF0QPS K2, (R14)(Z29*8) // 62927d42c72cee
//TODO: VSCATTERPF1DPD K2, (R14)(Y29*8) // 6292fd42c634ee VSCATTERPF1DPD K2, (R14)(Y29*8) // 6292fd42c634ee
//TODO: VSCATTERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac63420 VSCATTERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac63420
//TODO: VSCATTERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6745500 VSCATTERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6745500
//TODO: VSCATTERPF1DPS K3, (BP)(Z10*2) // 62b27d4bc6745500 VSCATTERPF1DPS K3, (BP)(Z10*2) // 62b27d4bc6745500
//TODO: VSCATTERPF1DPS K3, (R10)(Z29*8) // 62927d43c634ea VSCATTERPF1DPS K3, (R10)(Z29*8) // 62927d43c634ea
//TODO: VSCATTERPF1DPS K3, (R14)(Z29*8) // 62927d43c634ee VSCATTERPF1DPS K3, (R14)(Z29*8) // 62927d43c634ee
//TODO: VSCATTERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc73492 VSCATTERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc73492
//TODO: VSCATTERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc73420 VSCATTERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc73420
//TODO: VSCATTERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc73464 VSCATTERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc73464
//TODO: VSCATTERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7745500 VSCATTERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7745500
//TODO: VSCATTERPF1QPS K3, (R10)(Z29*8) // 62927d43c734ea VSCATTERPF1QPS K3, (R10)(Z29*8) // 62927d43c734ea
//TODO: VSCATTERPF1QPS K3, (R14)(Z29*8) // 62927d43c734ee VSCATTERPF1QPS K3, (R14)(Z29*8) // 62927d43c734ee
RET RET
...@@ -3,322 +3,322 @@ ...@@ -3,322 +3,322 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_gfni_avx512f(SB), NOSPLIT, $0 TEXT asmtest_gfni_avx512f(SB), NOSPLIT, $0
//TODO: VGF2P8AFFINEINVQB $64, X8, X31, K3, X26 // 62438503cfd040 VGF2P8AFFINEINVQB $64, X8, X31, K3, X26 // 62438503cfd040
//TODO: VGF2P8AFFINEINVQB $64, X1, X31, K3, X26 // 62638503cfd140 VGF2P8AFFINEINVQB $64, X1, X31, K3, X26 // 62638503cfd140
//TODO: VGF2P8AFFINEINVQB $64, X0, X31, K3, X26 // 62638503cfd040 VGF2P8AFFINEINVQB $64, X0, X31, K3, X26 // 62638503cfd040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X26 // 62638503cf95efffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X26 // 62638503cf95efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X26 // 62038503cf94fef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X26 // 62038503cf94fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X16, K3, X26 // 6243fd03cfd040 VGF2P8AFFINEINVQB $64, X8, X16, K3, X26 // 6243fd03cfd040
//TODO: VGF2P8AFFINEINVQB $64, X1, X16, K3, X26 // 6263fd03cfd140 VGF2P8AFFINEINVQB $64, X1, X16, K3, X26 // 6263fd03cfd140
//TODO: VGF2P8AFFINEINVQB $64, X0, X16, K3, X26 // 6263fd03cfd040 VGF2P8AFFINEINVQB $64, X0, X16, K3, X26 // 6263fd03cfd040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X26 // 6263fd03cf95efffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X26 // 6263fd03cf95efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X26 // 6203fd03cf94fef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X26 // 6203fd03cf94fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X7, K3, X26 // 6243c50bcfd040 VGF2P8AFFINEINVQB $64, X8, X7, K3, X26 // 6243c50bcfd040
//TODO: VGF2P8AFFINEINVQB $64, X1, X7, K3, X26 // 6263c50bcfd140 VGF2P8AFFINEINVQB $64, X1, X7, K3, X26 // 6263c50bcfd140
//TODO: VGF2P8AFFINEINVQB $64, X0, X7, K3, X26 // 6263c50bcfd040 VGF2P8AFFINEINVQB $64, X0, X7, K3, X26 // 6263c50bcfd040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X26 // 6263c50bcf95efffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X26 // 6263c50bcf95efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X26 // 6203c50bcf94fef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X26 // 6203c50bcf94fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X31, K3, X19 // 62c38503cfd840 VGF2P8AFFINEINVQB $64, X8, X31, K3, X19 // 62c38503cfd840
//TODO: VGF2P8AFFINEINVQB $64, X1, X31, K3, X19 // 62e38503cfd940 VGF2P8AFFINEINVQB $64, X1, X31, K3, X19 // 62e38503cfd940
//TODO: VGF2P8AFFINEINVQB $64, X0, X31, K3, X19 // 62e38503cfd840 VGF2P8AFFINEINVQB $64, X0, X31, K3, X19 // 62e38503cfd840
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X19 // 62e38503cf9defffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X19 // 62e38503cf9defffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X19 // 62838503cf9cfef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X19 // 62838503cf9cfef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X16, K3, X19 // 62c3fd03cfd840 VGF2P8AFFINEINVQB $64, X8, X16, K3, X19 // 62c3fd03cfd840
//TODO: VGF2P8AFFINEINVQB $64, X1, X16, K3, X19 // 62e3fd03cfd940 VGF2P8AFFINEINVQB $64, X1, X16, K3, X19 // 62e3fd03cfd940
//TODO: VGF2P8AFFINEINVQB $64, X0, X16, K3, X19 // 62e3fd03cfd840 VGF2P8AFFINEINVQB $64, X0, X16, K3, X19 // 62e3fd03cfd840
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X19 // 62e3fd03cf9defffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X19 // 62e3fd03cf9defffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X19 // 6283fd03cf9cfef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X19 // 6283fd03cf9cfef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X7, K3, X19 // 62c3c50bcfd840 VGF2P8AFFINEINVQB $64, X8, X7, K3, X19 // 62c3c50bcfd840
//TODO: VGF2P8AFFINEINVQB $64, X1, X7, K3, X19 // 62e3c50bcfd940 VGF2P8AFFINEINVQB $64, X1, X7, K3, X19 // 62e3c50bcfd940
//TODO: VGF2P8AFFINEINVQB $64, X0, X7, K3, X19 // 62e3c50bcfd840 VGF2P8AFFINEINVQB $64, X0, X7, K3, X19 // 62e3c50bcfd840
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X19 // 62e3c50bcf9defffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X19 // 62e3c50bcf9defffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X19 // 6283c50bcf9cfef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X19 // 6283c50bcf9cfef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X31, K3, X0 // 62d38503cfc040 VGF2P8AFFINEINVQB $64, X8, X31, K3, X0 // 62d38503cfc040
//TODO: VGF2P8AFFINEINVQB $64, X1, X31, K3, X0 // 62f38503cfc140 VGF2P8AFFINEINVQB $64, X1, X31, K3, X0 // 62f38503cfc140
//TODO: VGF2P8AFFINEINVQB $64, X0, X31, K3, X0 // 62f38503cfc040 VGF2P8AFFINEINVQB $64, X0, X31, K3, X0 // 62f38503cfc040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X0 // 62f38503cf85efffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X0 // 62f38503cf85efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X0 // 62938503cf84fef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X0 // 62938503cf84fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X16, K3, X0 // 62d3fd03cfc040 VGF2P8AFFINEINVQB $64, X8, X16, K3, X0 // 62d3fd03cfc040
//TODO: VGF2P8AFFINEINVQB $64, X1, X16, K3, X0 // 62f3fd03cfc140 VGF2P8AFFINEINVQB $64, X1, X16, K3, X0 // 62f3fd03cfc140
//TODO: VGF2P8AFFINEINVQB $64, X0, X16, K3, X0 // 62f3fd03cfc040 VGF2P8AFFINEINVQB $64, X0, X16, K3, X0 // 62f3fd03cfc040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X0 // 62f3fd03cf85efffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X0 // 62f3fd03cf85efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X0 // 6293fd03cf84fef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X0 // 6293fd03cf84fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X7, K3, X0 // 62d3c50bcfc040 VGF2P8AFFINEINVQB $64, X8, X7, K3, X0 // 62d3c50bcfc040
//TODO: VGF2P8AFFINEINVQB $64, X1, X7, K3, X0 // 62f3c50bcfc140 VGF2P8AFFINEINVQB $64, X1, X7, K3, X0 // 62f3c50bcfc140
//TODO: VGF2P8AFFINEINVQB $64, X0, X7, K3, X0 // 62f3c50bcfc040 VGF2P8AFFINEINVQB $64, X0, X7, K3, X0 // 62f3c50bcfc040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X0 // 62f3c50bcf85efffffff40 VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X0 // 62f3c50bcf85efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X0 // 6293c50bcf84fef1ffffff40 VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X0 // 6293c50bcf84fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y0 // 62f3dd23cfc51b VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y0 // 62f3dd23cfc51b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y0 // 6293dd23cfc41b VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y0 // 6293dd23cfc41b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y0 // 62f3dd23cfc71b VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y0 // 62f3dd23cfc71b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y0 // 62f3dd23cf031b VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y0 // 62f3dd23cf031b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y0 // 62f3dd23cf8435efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y0 // 62f3dd23cf8435efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y0 // 62f39d2bcfc51b VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y0 // 62f39d2bcfc51b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y0 // 62939d2bcfc41b VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y0 // 62939d2bcfc41b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y0 // 62f39d2bcfc71b VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y0 // 62f39d2bcfc71b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y0 // 62f39d2bcf031b VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y0 // 62f39d2bcf031b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y0 // 62f39d2bcf8435efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y0 // 62f39d2bcf8435efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y0 // 62f3e52bcfc51b VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y0 // 62f3e52bcfc51b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y0 // 6293e52bcfc41b VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y0 // 6293e52bcfc41b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y0 // 62f3e52bcfc71b VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y0 // 62f3e52bcfc71b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y0 // 62f3e52bcf031b VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y0 // 62f3e52bcf031b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y0 // 62f3e52bcf8435efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y0 // 62f3e52bcf8435efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y3 // 62f3dd23cfdd1b VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y3 // 62f3dd23cfdd1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y3 // 6293dd23cfdc1b VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y3 // 6293dd23cfdc1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y3 // 62f3dd23cfdf1b VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y3 // 62f3dd23cfdf1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y3 // 62f3dd23cf1b1b VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y3 // 62f3dd23cf1b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y3 // 62f3dd23cf9c35efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y3 // 62f3dd23cf9c35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y3 // 62f39d2bcfdd1b VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y3 // 62f39d2bcfdd1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y3 // 62939d2bcfdc1b VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y3 // 62939d2bcfdc1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y3 // 62f39d2bcfdf1b VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y3 // 62f39d2bcfdf1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y3 // 62f39d2bcf1b1b VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y3 // 62f39d2bcf1b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y3 // 62f39d2bcf9c35efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y3 // 62f39d2bcf9c35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y3 // 62f3e52bcfdd1b VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y3 // 62f3e52bcfdd1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y3 // 6293e52bcfdc1b VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y3 // 6293e52bcfdc1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y3 // 62f3e52bcfdf1b VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y3 // 62f3e52bcfdf1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y3 // 62f3e52bcf1b1b VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y3 // 62f3e52bcf1b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y3 // 62f3e52bcf9c35efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y3 // 62f3e52bcf9c35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y5 // 62f3dd23cfed1b VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y5 // 62f3dd23cfed1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y5 // 6293dd23cfec1b VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y5 // 6293dd23cfec1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y5 // 62f3dd23cfef1b VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y5 // 62f3dd23cfef1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y5 // 62f3dd23cf2b1b VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y5 // 62f3dd23cf2b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y5 // 62f3dd23cfac35efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y5 // 62f3dd23cfac35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y5 // 62f39d2bcfed1b VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y5 // 62f39d2bcfed1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y5 // 62939d2bcfec1b VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y5 // 62939d2bcfec1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y5 // 62f39d2bcfef1b VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y5 // 62f39d2bcfef1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y5 // 62f39d2bcf2b1b VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y5 // 62f39d2bcf2b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y5 // 62f39d2bcfac35efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y5 // 62f39d2bcfac35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y5 // 62f3e52bcfed1b VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y5 // 62f3e52bcfed1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y5 // 6293e52bcfec1b VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y5 // 6293e52bcfec1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y5 // 62f3e52bcfef1b VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y5 // 62f3e52bcfef1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y5 // 62f3e52bcf2b1b VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y5 // 62f3e52bcf2b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y5 // 62f3e52bcfac35efffffff1b VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y5 // 62f3e52bcfac35efffffff1b
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z28 // 62638d4acfe32f VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z28 // 62638d4acfe32f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z28 // 62438d4acfe42f VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z28 // 62438d4acfe42f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z28 // 62038d4acfa43f630000002f VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z28 // 62038d4acfa43f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z28 // 62638d4acf222f VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z28 // 62638d4acf222f
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z28 // 62639d42cfe32f VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z28 // 62639d42cfe32f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z28 // 62439d42cfe42f VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z28 // 62439d42cfe42f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z28 // 62039d42cfa43f630000002f VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z28 // 62039d42cfa43f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z28 // 62639d42cf222f VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z28 // 62639d42cf222f
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z13 // 62738d4acfeb2f VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z13 // 62738d4acfeb2f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z13 // 62538d4acfec2f VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z13 // 62538d4acfec2f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z13 // 62138d4acfac3f630000002f VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z13 // 62138d4acfac3f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z13 // 62738d4acf2a2f VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z13 // 62738d4acf2a2f
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z13 // 62739d42cfeb2f VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z13 // 62739d42cfeb2f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z13 // 62539d42cfec2f VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z13 // 62539d42cfec2f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z13 // 62139d42cfac3f630000002f VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z13 // 62139d42cfac3f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z13 // 62739d42cf2a2f VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z13 // 62739d42cf2a2f
//TODO: VGF2P8AFFINEQB $82, X22, X21, K1, X15 // 6233d501cefe52 VGF2P8AFFINEQB $82, X22, X21, K1, X15 // 6233d501cefe52
//TODO: VGF2P8AFFINEQB $82, X7, X21, K1, X15 // 6273d501ceff52 VGF2P8AFFINEQB $82, X7, X21, K1, X15 // 6273d501ceff52
//TODO: VGF2P8AFFINEQB $82, X19, X21, K1, X15 // 6233d501cefb52 VGF2P8AFFINEQB $82, X19, X21, K1, X15 // 6233d501cefb52
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X15 // 6273d501cebc6c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X15 // 6273d501cebc6c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X15 // 6233d501cebc87f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X15 // 6233d501cebc87f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X0, K1, X15 // 6233fd09cefe52 VGF2P8AFFINEQB $82, X22, X0, K1, X15 // 6233fd09cefe52
//TODO: VGF2P8AFFINEQB $82, X7, X0, K1, X15 // 6273fd09ceff52 VGF2P8AFFINEQB $82, X7, X0, K1, X15 // 6273fd09ceff52
//TODO: VGF2P8AFFINEQB $82, X19, X0, K1, X15 // 6233fd09cefb52 VGF2P8AFFINEQB $82, X19, X0, K1, X15 // 6233fd09cefb52
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X15 // 6273fd09cebc6c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X15 // 6273fd09cebc6c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X15 // 6233fd09cebc87f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X15 // 6233fd09cebc87f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X28, K1, X15 // 62339d01cefe52 VGF2P8AFFINEQB $82, X22, X28, K1, X15 // 62339d01cefe52
//TODO: VGF2P8AFFINEQB $82, X7, X28, K1, X15 // 62739d01ceff52 VGF2P8AFFINEQB $82, X7, X28, K1, X15 // 62739d01ceff52
//TODO: VGF2P8AFFINEQB $82, X19, X28, K1, X15 // 62339d01cefb52 VGF2P8AFFINEQB $82, X19, X28, K1, X15 // 62339d01cefb52
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X15 // 62739d01cebc6c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X15 // 62739d01cebc6c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X15 // 62339d01cebc87f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X15 // 62339d01cebc87f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X21, K1, X0 // 62b3d501cec652 VGF2P8AFFINEQB $82, X22, X21, K1, X0 // 62b3d501cec652
//TODO: VGF2P8AFFINEQB $82, X7, X21, K1, X0 // 62f3d501cec752 VGF2P8AFFINEQB $82, X7, X21, K1, X0 // 62f3d501cec752
//TODO: VGF2P8AFFINEQB $82, X19, X21, K1, X0 // 62b3d501cec352 VGF2P8AFFINEQB $82, X19, X21, K1, X0 // 62b3d501cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X0 // 62f3d501ce846c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X0 // 62f3d501ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X0 // 62b3d501ce8487f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X0 // 62b3d501ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X0, K1, X0 // 62b3fd09cec652 VGF2P8AFFINEQB $82, X22, X0, K1, X0 // 62b3fd09cec652
//TODO: VGF2P8AFFINEQB $82, X7, X0, K1, X0 // 62f3fd09cec752 VGF2P8AFFINEQB $82, X7, X0, K1, X0 // 62f3fd09cec752
//TODO: VGF2P8AFFINEQB $82, X19, X0, K1, X0 // 62b3fd09cec352 VGF2P8AFFINEQB $82, X19, X0, K1, X0 // 62b3fd09cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X0 // 62f3fd09ce846c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X0 // 62f3fd09ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X0 // 62b3fd09ce8487f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X0 // 62b3fd09ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X28, K1, X0 // 62b39d01cec652 VGF2P8AFFINEQB $82, X22, X28, K1, X0 // 62b39d01cec652
//TODO: VGF2P8AFFINEQB $82, X7, X28, K1, X0 // 62f39d01cec752 VGF2P8AFFINEQB $82, X7, X28, K1, X0 // 62f39d01cec752
//TODO: VGF2P8AFFINEQB $82, X19, X28, K1, X0 // 62b39d01cec352 VGF2P8AFFINEQB $82, X19, X28, K1, X0 // 62b39d01cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X0 // 62f39d01ce846c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X0 // 62f39d01ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X0 // 62b39d01ce8487f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X0 // 62b39d01ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X21, K1, X16 // 62a3d501cec652 VGF2P8AFFINEQB $82, X22, X21, K1, X16 // 62a3d501cec652
//TODO: VGF2P8AFFINEQB $82, X7, X21, K1, X16 // 62e3d501cec752 VGF2P8AFFINEQB $82, X7, X21, K1, X16 // 62e3d501cec752
//TODO: VGF2P8AFFINEQB $82, X19, X21, K1, X16 // 62a3d501cec352 VGF2P8AFFINEQB $82, X19, X21, K1, X16 // 62a3d501cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X16 // 62e3d501ce846c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X16 // 62e3d501ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X16 // 62a3d501ce8487f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X16 // 62a3d501ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X0, K1, X16 // 62a3fd09cec652 VGF2P8AFFINEQB $82, X22, X0, K1, X16 // 62a3fd09cec652
//TODO: VGF2P8AFFINEQB $82, X7, X0, K1, X16 // 62e3fd09cec752 VGF2P8AFFINEQB $82, X7, X0, K1, X16 // 62e3fd09cec752
//TODO: VGF2P8AFFINEQB $82, X19, X0, K1, X16 // 62a3fd09cec352 VGF2P8AFFINEQB $82, X19, X0, K1, X16 // 62a3fd09cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X16 // 62e3fd09ce846c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X16 // 62e3fd09ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X16 // 62a3fd09ce8487f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X16 // 62a3fd09ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X28, K1, X16 // 62a39d01cec652 VGF2P8AFFINEQB $82, X22, X28, K1, X16 // 62a39d01cec652
//TODO: VGF2P8AFFINEQB $82, X7, X28, K1, X16 // 62e39d01cec752 VGF2P8AFFINEQB $82, X7, X28, K1, X16 // 62e39d01cec752
//TODO: VGF2P8AFFINEQB $82, X19, X28, K1, X16 // 62a39d01cec352 VGF2P8AFFINEQB $82, X19, X28, K1, X16 // 62a39d01cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X16 // 62e39d01ce846c1100000052 VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X16 // 62e39d01ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X16 // 62a39d01ce8487f9ffffff52 VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X16 // 62a39d01ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $126, Y17, Y12, K2, Y0 // 62b39d2acec17e VGF2P8AFFINEQB $126, Y17, Y12, K2, Y0 // 62b39d2acec17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y12, K2, Y0 // 62f39d2acec77e VGF2P8AFFINEQB $126, Y7, Y12, K2, Y0 // 62f39d2acec77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y12, K2, Y0 // 62d39d2acec17e VGF2P8AFFINEQB $126, Y9, Y12, K2, Y0 // 62d39d2acec17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y0 // 62939d2ace84b00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y0 // 62939d2ace84b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y0 // 62f39d2ace8491f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y0 // 62f39d2ace8491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y1, K2, Y0 // 62b3f52acec17e VGF2P8AFFINEQB $126, Y17, Y1, K2, Y0 // 62b3f52acec17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y1, K2, Y0 // 62f3f52acec77e VGF2P8AFFINEQB $126, Y7, Y1, K2, Y0 // 62f3f52acec77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y1, K2, Y0 // 62d3f52acec17e VGF2P8AFFINEQB $126, Y9, Y1, K2, Y0 // 62d3f52acec17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y0 // 6293f52ace84b00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y0 // 6293f52ace84b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y0 // 62f3f52ace8491f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y0 // 62f3f52ace8491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y14, K2, Y0 // 62b38d2acec17e VGF2P8AFFINEQB $126, Y17, Y14, K2, Y0 // 62b38d2acec17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y14, K2, Y0 // 62f38d2acec77e VGF2P8AFFINEQB $126, Y7, Y14, K2, Y0 // 62f38d2acec77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y14, K2, Y0 // 62d38d2acec17e VGF2P8AFFINEQB $126, Y9, Y14, K2, Y0 // 62d38d2acec17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y0 // 62938d2ace84b00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y0 // 62938d2ace84b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y0 // 62f38d2ace8491f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y0 // 62f38d2ace8491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y12, K2, Y22 // 62a39d2acef17e VGF2P8AFFINEQB $126, Y17, Y12, K2, Y22 // 62a39d2acef17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y12, K2, Y22 // 62e39d2acef77e VGF2P8AFFINEQB $126, Y7, Y12, K2, Y22 // 62e39d2acef77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y12, K2, Y22 // 62c39d2acef17e VGF2P8AFFINEQB $126, Y9, Y12, K2, Y22 // 62c39d2acef17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y22 // 62839d2aceb4b00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y22 // 62839d2aceb4b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y22 // 62e39d2aceb491f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y22 // 62e39d2aceb491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y1, K2, Y22 // 62a3f52acef17e VGF2P8AFFINEQB $126, Y17, Y1, K2, Y22 // 62a3f52acef17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y1, K2, Y22 // 62e3f52acef77e VGF2P8AFFINEQB $126, Y7, Y1, K2, Y22 // 62e3f52acef77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y1, K2, Y22 // 62c3f52acef17e VGF2P8AFFINEQB $126, Y9, Y1, K2, Y22 // 62c3f52acef17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y22 // 6283f52aceb4b00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y22 // 6283f52aceb4b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y22 // 62e3f52aceb491f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y22 // 62e3f52aceb491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y14, K2, Y22 // 62a38d2acef17e VGF2P8AFFINEQB $126, Y17, Y14, K2, Y22 // 62a38d2acef17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y14, K2, Y22 // 62e38d2acef77e VGF2P8AFFINEQB $126, Y7, Y14, K2, Y22 // 62e38d2acef77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y14, K2, Y22 // 62c38d2acef17e VGF2P8AFFINEQB $126, Y9, Y14, K2, Y22 // 62c38d2acef17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y22 // 62838d2aceb4b00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y22 // 62838d2aceb4b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y22 // 62e38d2aceb491f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y22 // 62e38d2aceb491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y12, K2, Y13 // 62339d2acee97e VGF2P8AFFINEQB $126, Y17, Y12, K2, Y13 // 62339d2acee97e
//TODO: VGF2P8AFFINEQB $126, Y7, Y12, K2, Y13 // 62739d2aceef7e VGF2P8AFFINEQB $126, Y7, Y12, K2, Y13 // 62739d2aceef7e
//TODO: VGF2P8AFFINEQB $126, Y9, Y12, K2, Y13 // 62539d2acee97e VGF2P8AFFINEQB $126, Y9, Y12, K2, Y13 // 62539d2acee97e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y13 // 62139d2aceacb00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y13 // 62139d2aceacb00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y13 // 62739d2aceac91f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y13 // 62739d2aceac91f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y1, K2, Y13 // 6233f52acee97e VGF2P8AFFINEQB $126, Y17, Y1, K2, Y13 // 6233f52acee97e
//TODO: VGF2P8AFFINEQB $126, Y7, Y1, K2, Y13 // 6273f52aceef7e VGF2P8AFFINEQB $126, Y7, Y1, K2, Y13 // 6273f52aceef7e
//TODO: VGF2P8AFFINEQB $126, Y9, Y1, K2, Y13 // 6253f52acee97e VGF2P8AFFINEQB $126, Y9, Y1, K2, Y13 // 6253f52acee97e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y13 // 6213f52aceacb00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y13 // 6213f52aceacb00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y13 // 6273f52aceac91f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y13 // 6273f52aceac91f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y14, K2, Y13 // 62338d2acee97e VGF2P8AFFINEQB $126, Y17, Y14, K2, Y13 // 62338d2acee97e
//TODO: VGF2P8AFFINEQB $126, Y7, Y14, K2, Y13 // 62738d2aceef7e VGF2P8AFFINEQB $126, Y7, Y14, K2, Y13 // 62738d2aceef7e
//TODO: VGF2P8AFFINEQB $126, Y9, Y14, K2, Y13 // 62538d2acee97e VGF2P8AFFINEQB $126, Y9, Y14, K2, Y13 // 62538d2acee97e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y13 // 62138d2aceacb00f0000007e VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y13 // 62138d2aceacb00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y13 // 62738d2aceac91f9ffffff7e VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y13 // 62738d2aceac91f9ffffff7e
//TODO: VGF2P8AFFINEQB $94, Z5, Z19, K1, Z15 // 6273e541cefd5e VGF2P8AFFINEQB $94, Z5, Z19, K1, Z15 // 6273e541cefd5e
//TODO: VGF2P8AFFINEQB $94, Z1, Z19, K1, Z15 // 6273e541cef95e VGF2P8AFFINEQB $94, Z1, Z19, K1, Z15 // 6273e541cef95e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z15 // 6273e541cebcf5efffffff5e VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z15 // 6273e541cebcf5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z19, K1, Z15 // 6253e541ce3f5e VGF2P8AFFINEQB $94, (R15), Z19, K1, Z15 // 6253e541ce3f5e
//TODO: VGF2P8AFFINEQB $94, Z5, Z15, K1, Z15 // 62738549cefd5e VGF2P8AFFINEQB $94, Z5, Z15, K1, Z15 // 62738549cefd5e
//TODO: VGF2P8AFFINEQB $94, Z1, Z15, K1, Z15 // 62738549cef95e VGF2P8AFFINEQB $94, Z1, Z15, K1, Z15 // 62738549cef95e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z15 // 62738549cebcf5efffffff5e VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z15 // 62738549cebcf5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z15, K1, Z15 // 62538549ce3f5e VGF2P8AFFINEQB $94, (R15), Z15, K1, Z15 // 62538549ce3f5e
//TODO: VGF2P8AFFINEQB $94, Z5, Z19, K1, Z30 // 6263e541cef55e VGF2P8AFFINEQB $94, Z5, Z19, K1, Z30 // 6263e541cef55e
//TODO: VGF2P8AFFINEQB $94, Z1, Z19, K1, Z30 // 6263e541cef15e VGF2P8AFFINEQB $94, Z1, Z19, K1, Z30 // 6263e541cef15e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z30 // 6263e541ceb4f5efffffff5e VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z30 // 6263e541ceb4f5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z19, K1, Z30 // 6243e541ce375e VGF2P8AFFINEQB $94, (R15), Z19, K1, Z30 // 6243e541ce375e
//TODO: VGF2P8AFFINEQB $94, Z5, Z15, K1, Z30 // 62638549cef55e VGF2P8AFFINEQB $94, Z5, Z15, K1, Z30 // 62638549cef55e
//TODO: VGF2P8AFFINEQB $94, Z1, Z15, K1, Z30 // 62638549cef15e VGF2P8AFFINEQB $94, Z1, Z15, K1, Z30 // 62638549cef15e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z30 // 62638549ceb4f5efffffff5e VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z30 // 62638549ceb4f5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z15, K1, Z30 // 62438549ce375e VGF2P8AFFINEQB $94, (R15), Z15, K1, Z30 // 62438549ce375e
//TODO: VGF2P8MULB X15, X1, K7, X7 // 62d2750fcfff VGF2P8MULB X15, X1, K7, X7 // 62d2750fcfff
//TODO: VGF2P8MULB X12, X1, K7, X7 // 62d2750fcffc VGF2P8MULB X12, X1, K7, X7 // 62d2750fcffc
//TODO: VGF2P8MULB X0, X1, K7, X7 // 62f2750fcff8 VGF2P8MULB X0, X1, K7, X7 // 62f2750fcff8
//TODO: VGF2P8MULB 15(R8), X1, K7, X7 // 62d2750fcfb80f000000 VGF2P8MULB 15(R8), X1, K7, X7 // 62d2750fcfb80f000000
//TODO: VGF2P8MULB (BP), X1, K7, X7 // 62f2750fcf7d00 VGF2P8MULB (BP), X1, K7, X7 // 62f2750fcf7d00
//TODO: VGF2P8MULB X15, X7, K7, X7 // 62d2450fcfff VGF2P8MULB X15, X7, K7, X7 // 62d2450fcfff
//TODO: VGF2P8MULB X12, X7, K7, X7 // 62d2450fcffc VGF2P8MULB X12, X7, K7, X7 // 62d2450fcffc
//TODO: VGF2P8MULB X0, X7, K7, X7 // 62f2450fcff8 VGF2P8MULB X0, X7, K7, X7 // 62f2450fcff8
//TODO: VGF2P8MULB 15(R8), X7, K7, X7 // 62d2450fcfb80f000000 VGF2P8MULB 15(R8), X7, K7, X7 // 62d2450fcfb80f000000
//TODO: VGF2P8MULB (BP), X7, K7, X7 // 62f2450fcf7d00 VGF2P8MULB (BP), X7, K7, X7 // 62f2450fcf7d00
//TODO: VGF2P8MULB X15, X9, K7, X7 // 62d2350fcfff VGF2P8MULB X15, X9, K7, X7 // 62d2350fcfff
//TODO: VGF2P8MULB X12, X9, K7, X7 // 62d2350fcffc VGF2P8MULB X12, X9, K7, X7 // 62d2350fcffc
//TODO: VGF2P8MULB X0, X9, K7, X7 // 62f2350fcff8 VGF2P8MULB X0, X9, K7, X7 // 62f2350fcff8
//TODO: VGF2P8MULB 15(R8), X9, K7, X7 // 62d2350fcfb80f000000 VGF2P8MULB 15(R8), X9, K7, X7 // 62d2350fcfb80f000000
//TODO: VGF2P8MULB (BP), X9, K7, X7 // 62f2350fcf7d00 VGF2P8MULB (BP), X9, K7, X7 // 62f2350fcf7d00
//TODO: VGF2P8MULB X15, X1, K7, X16 // 62c2750fcfc7 VGF2P8MULB X15, X1, K7, X16 // 62c2750fcfc7
//TODO: VGF2P8MULB X12, X1, K7, X16 // 62c2750fcfc4 VGF2P8MULB X12, X1, K7, X16 // 62c2750fcfc4
//TODO: VGF2P8MULB X0, X1, K7, X16 // 62e2750fcfc0 VGF2P8MULB X0, X1, K7, X16 // 62e2750fcfc0
//TODO: VGF2P8MULB 15(R8), X1, K7, X16 // 62c2750fcf800f000000 VGF2P8MULB 15(R8), X1, K7, X16 // 62c2750fcf800f000000
//TODO: VGF2P8MULB (BP), X1, K7, X16 // 62e2750fcf4500 VGF2P8MULB (BP), X1, K7, X16 // 62e2750fcf4500
//TODO: VGF2P8MULB X15, X7, K7, X16 // 62c2450fcfc7 VGF2P8MULB X15, X7, K7, X16 // 62c2450fcfc7
//TODO: VGF2P8MULB X12, X7, K7, X16 // 62c2450fcfc4 VGF2P8MULB X12, X7, K7, X16 // 62c2450fcfc4
//TODO: VGF2P8MULB X0, X7, K7, X16 // 62e2450fcfc0 VGF2P8MULB X0, X7, K7, X16 // 62e2450fcfc0
//TODO: VGF2P8MULB 15(R8), X7, K7, X16 // 62c2450fcf800f000000 VGF2P8MULB 15(R8), X7, K7, X16 // 62c2450fcf800f000000
//TODO: VGF2P8MULB (BP), X7, K7, X16 // 62e2450fcf4500 VGF2P8MULB (BP), X7, K7, X16 // 62e2450fcf4500
//TODO: VGF2P8MULB X15, X9, K7, X16 // 62c2350fcfc7 VGF2P8MULB X15, X9, K7, X16 // 62c2350fcfc7
//TODO: VGF2P8MULB X12, X9, K7, X16 // 62c2350fcfc4 VGF2P8MULB X12, X9, K7, X16 // 62c2350fcfc4
//TODO: VGF2P8MULB X0, X9, K7, X16 // 62e2350fcfc0 VGF2P8MULB X0, X9, K7, X16 // 62e2350fcfc0
//TODO: VGF2P8MULB 15(R8), X9, K7, X16 // 62c2350fcf800f000000 VGF2P8MULB 15(R8), X9, K7, X16 // 62c2350fcf800f000000
//TODO: VGF2P8MULB (BP), X9, K7, X16 // 62e2350fcf4500 VGF2P8MULB (BP), X9, K7, X16 // 62e2350fcf4500
//TODO: VGF2P8MULB X15, X1, K7, X31 // 6242750fcfff VGF2P8MULB X15, X1, K7, X31 // 6242750fcfff
//TODO: VGF2P8MULB X12, X1, K7, X31 // 6242750fcffc VGF2P8MULB X12, X1, K7, X31 // 6242750fcffc
//TODO: VGF2P8MULB X0, X1, K7, X31 // 6262750fcff8 VGF2P8MULB X0, X1, K7, X31 // 6262750fcff8
//TODO: VGF2P8MULB 15(R8), X1, K7, X31 // 6242750fcfb80f000000 VGF2P8MULB 15(R8), X1, K7, X31 // 6242750fcfb80f000000
//TODO: VGF2P8MULB (BP), X1, K7, X31 // 6262750fcf7d00 VGF2P8MULB (BP), X1, K7, X31 // 6262750fcf7d00
//TODO: VGF2P8MULB X15, X7, K7, X31 // 6242450fcfff VGF2P8MULB X15, X7, K7, X31 // 6242450fcfff
//TODO: VGF2P8MULB X12, X7, K7, X31 // 6242450fcffc VGF2P8MULB X12, X7, K7, X31 // 6242450fcffc
//TODO: VGF2P8MULB X0, X7, K7, X31 // 6262450fcff8 VGF2P8MULB X0, X7, K7, X31 // 6262450fcff8
//TODO: VGF2P8MULB 15(R8), X7, K7, X31 // 6242450fcfb80f000000 VGF2P8MULB 15(R8), X7, K7, X31 // 6242450fcfb80f000000
//TODO: VGF2P8MULB (BP), X7, K7, X31 // 6262450fcf7d00 VGF2P8MULB (BP), X7, K7, X31 // 6262450fcf7d00
//TODO: VGF2P8MULB X15, X9, K7, X31 // 6242350fcfff VGF2P8MULB X15, X9, K7, X31 // 6242350fcfff
//TODO: VGF2P8MULB X12, X9, K7, X31 // 6242350fcffc VGF2P8MULB X12, X9, K7, X31 // 6242350fcffc
//TODO: VGF2P8MULB X0, X9, K7, X31 // 6262350fcff8 VGF2P8MULB X0, X9, K7, X31 // 6262350fcff8
//TODO: VGF2P8MULB 15(R8), X9, K7, X31 // 6242350fcfb80f000000 VGF2P8MULB 15(R8), X9, K7, X31 // 6242350fcfb80f000000
//TODO: VGF2P8MULB (BP), X9, K7, X31 // 6262350fcf7d00 VGF2P8MULB (BP), X9, K7, X31 // 6262350fcf7d00
//TODO: VGF2P8MULB Y2, Y28, K1, Y31 // 62621d21cffa VGF2P8MULB Y2, Y28, K1, Y31 // 62621d21cffa
//TODO: VGF2P8MULB Y21, Y28, K1, Y31 // 62221d21cffd VGF2P8MULB Y21, Y28, K1, Y31 // 62221d21cffd
//TODO: VGF2P8MULB Y12, Y28, K1, Y31 // 62421d21cffc VGF2P8MULB Y12, Y28, K1, Y31 // 62421d21cffc
//TODO: VGF2P8MULB (R8), Y28, K1, Y31 // 62421d21cf38 VGF2P8MULB (R8), Y28, K1, Y31 // 62421d21cf38
//TODO: VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y31 // 62621d21cfbc5a0f000000 VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y31 // 62621d21cfbc5a0f000000
//TODO: VGF2P8MULB Y2, Y13, K1, Y31 // 62621529cffa VGF2P8MULB Y2, Y13, K1, Y31 // 62621529cffa
//TODO: VGF2P8MULB Y21, Y13, K1, Y31 // 62221529cffd VGF2P8MULB Y21, Y13, K1, Y31 // 62221529cffd
//TODO: VGF2P8MULB Y12, Y13, K1, Y31 // 62421529cffc VGF2P8MULB Y12, Y13, K1, Y31 // 62421529cffc
//TODO: VGF2P8MULB (R8), Y13, K1, Y31 // 62421529cf38 VGF2P8MULB (R8), Y13, K1, Y31 // 62421529cf38
//TODO: VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y31 // 62621529cfbc5a0f000000 VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y31 // 62621529cfbc5a0f000000
//TODO: VGF2P8MULB Y2, Y7, K1, Y31 // 62624529cffa VGF2P8MULB Y2, Y7, K1, Y31 // 62624529cffa
//TODO: VGF2P8MULB Y21, Y7, K1, Y31 // 62224529cffd VGF2P8MULB Y21, Y7, K1, Y31 // 62224529cffd
//TODO: VGF2P8MULB Y12, Y7, K1, Y31 // 62424529cffc VGF2P8MULB Y12, Y7, K1, Y31 // 62424529cffc
//TODO: VGF2P8MULB (R8), Y7, K1, Y31 // 62424529cf38 VGF2P8MULB (R8), Y7, K1, Y31 // 62424529cf38
//TODO: VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y31 // 62624529cfbc5a0f000000 VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y31 // 62624529cfbc5a0f000000
//TODO: VGF2P8MULB Y2, Y28, K1, Y8 // 62721d21cfc2 VGF2P8MULB Y2, Y28, K1, Y8 // 62721d21cfc2
//TODO: VGF2P8MULB Y21, Y28, K1, Y8 // 62321d21cfc5 VGF2P8MULB Y21, Y28, K1, Y8 // 62321d21cfc5
//TODO: VGF2P8MULB Y12, Y28, K1, Y8 // 62521d21cfc4 VGF2P8MULB Y12, Y28, K1, Y8 // 62521d21cfc4
//TODO: VGF2P8MULB (R8), Y28, K1, Y8 // 62521d21cf00 VGF2P8MULB (R8), Y28, K1, Y8 // 62521d21cf00
//TODO: VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y8 // 62721d21cf845a0f000000 VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y8 // 62721d21cf845a0f000000
//TODO: VGF2P8MULB Y2, Y13, K1, Y8 // 62721529cfc2 VGF2P8MULB Y2, Y13, K1, Y8 // 62721529cfc2
//TODO: VGF2P8MULB Y21, Y13, K1, Y8 // 62321529cfc5 VGF2P8MULB Y21, Y13, K1, Y8 // 62321529cfc5
//TODO: VGF2P8MULB Y12, Y13, K1, Y8 // 62521529cfc4 VGF2P8MULB Y12, Y13, K1, Y8 // 62521529cfc4
//TODO: VGF2P8MULB (R8), Y13, K1, Y8 // 62521529cf00 VGF2P8MULB (R8), Y13, K1, Y8 // 62521529cf00
//TODO: VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y8 // 62721529cf845a0f000000 VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y8 // 62721529cf845a0f000000
//TODO: VGF2P8MULB Y2, Y7, K1, Y8 // 62724529cfc2 VGF2P8MULB Y2, Y7, K1, Y8 // 62724529cfc2
//TODO: VGF2P8MULB Y21, Y7, K1, Y8 // 62324529cfc5 VGF2P8MULB Y21, Y7, K1, Y8 // 62324529cfc5
//TODO: VGF2P8MULB Y12, Y7, K1, Y8 // 62524529cfc4 VGF2P8MULB Y12, Y7, K1, Y8 // 62524529cfc4
//TODO: VGF2P8MULB (R8), Y7, K1, Y8 // 62524529cf00 VGF2P8MULB (R8), Y7, K1, Y8 // 62524529cf00
//TODO: VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y8 // 62724529cf845a0f000000 VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y8 // 62724529cf845a0f000000
//TODO: VGF2P8MULB Y2, Y28, K1, Y1 // 62f21d21cfca VGF2P8MULB Y2, Y28, K1, Y1 // 62f21d21cfca
//TODO: VGF2P8MULB Y21, Y28, K1, Y1 // 62b21d21cfcd VGF2P8MULB Y21, Y28, K1, Y1 // 62b21d21cfcd
//TODO: VGF2P8MULB Y12, Y28, K1, Y1 // 62d21d21cfcc VGF2P8MULB Y12, Y28, K1, Y1 // 62d21d21cfcc
//TODO: VGF2P8MULB (R8), Y28, K1, Y1 // 62d21d21cf08 VGF2P8MULB (R8), Y28, K1, Y1 // 62d21d21cf08
//TODO: VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y1 // 62f21d21cf8c5a0f000000 VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y1 // 62f21d21cf8c5a0f000000
//TODO: VGF2P8MULB Y2, Y13, K1, Y1 // 62f21529cfca VGF2P8MULB Y2, Y13, K1, Y1 // 62f21529cfca
//TODO: VGF2P8MULB Y21, Y13, K1, Y1 // 62b21529cfcd VGF2P8MULB Y21, Y13, K1, Y1 // 62b21529cfcd
//TODO: VGF2P8MULB Y12, Y13, K1, Y1 // 62d21529cfcc VGF2P8MULB Y12, Y13, K1, Y1 // 62d21529cfcc
//TODO: VGF2P8MULB (R8), Y13, K1, Y1 // 62d21529cf08 VGF2P8MULB (R8), Y13, K1, Y1 // 62d21529cf08
//TODO: VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y1 // 62f21529cf8c5a0f000000 VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y1 // 62f21529cf8c5a0f000000
//TODO: VGF2P8MULB Y2, Y7, K1, Y1 // 62f24529cfca VGF2P8MULB Y2, Y7, K1, Y1 // 62f24529cfca
//TODO: VGF2P8MULB Y21, Y7, K1, Y1 // 62b24529cfcd VGF2P8MULB Y21, Y7, K1, Y1 // 62b24529cfcd
//TODO: VGF2P8MULB Y12, Y7, K1, Y1 // 62d24529cfcc VGF2P8MULB Y12, Y7, K1, Y1 // 62d24529cfcc
//TODO: VGF2P8MULB (R8), Y7, K1, Y1 // 62d24529cf08 VGF2P8MULB (R8), Y7, K1, Y1 // 62d24529cf08
//TODO: VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y1 // 62f24529cf8c5a0f000000 VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y1 // 62f24529cf8c5a0f000000
//TODO: VGF2P8MULB Z21, Z14, K1, Z3 // 62b20d49cfdd VGF2P8MULB Z21, Z14, K1, Z3 // 62b20d49cfdd
//TODO: VGF2P8MULB Z8, Z14, K1, Z3 // 62d20d49cfd8 VGF2P8MULB Z8, Z14, K1, Z3 // 62d20d49cfd8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z3 // 62f20d49cf9cfe07000000 VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z3 // 62f20d49cf9cfe07000000
//TODO: VGF2P8MULB -15(R14), Z14, K1, Z3 // 62d20d49cf9ef1ffffff VGF2P8MULB -15(R14), Z14, K1, Z3 // 62d20d49cf9ef1ffffff
//TODO: VGF2P8MULB Z21, Z15, K1, Z3 // 62b20549cfdd VGF2P8MULB Z21, Z15, K1, Z3 // 62b20549cfdd
//TODO: VGF2P8MULB Z8, Z15, K1, Z3 // 62d20549cfd8 VGF2P8MULB Z8, Z15, K1, Z3 // 62d20549cfd8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z3 // 62f20549cf9cfe07000000 VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z3 // 62f20549cf9cfe07000000
//TODO: VGF2P8MULB -15(R14), Z15, K1, Z3 // 62d20549cf9ef1ffffff VGF2P8MULB -15(R14), Z15, K1, Z3 // 62d20549cf9ef1ffffff
//TODO: VGF2P8MULB Z21, Z14, K1, Z5 // 62b20d49cfed VGF2P8MULB Z21, Z14, K1, Z5 // 62b20d49cfed
//TODO: VGF2P8MULB Z8, Z14, K1, Z5 // 62d20d49cfe8 VGF2P8MULB Z8, Z14, K1, Z5 // 62d20d49cfe8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z5 // 62f20d49cfacfe07000000 VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z5 // 62f20d49cfacfe07000000
//TODO: VGF2P8MULB -15(R14), Z14, K1, Z5 // 62d20d49cfaef1ffffff VGF2P8MULB -15(R14), Z14, K1, Z5 // 62d20d49cfaef1ffffff
//TODO: VGF2P8MULB Z21, Z15, K1, Z5 // 62b20549cfed VGF2P8MULB Z21, Z15, K1, Z5 // 62b20549cfed
//TODO: VGF2P8MULB Z8, Z15, K1, Z5 // 62d20549cfe8 VGF2P8MULB Z8, Z15, K1, Z5 // 62d20549cfe8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z5 // 62f20549cfacfe07000000 VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z5 // 62f20549cfacfe07000000
//TODO: VGF2P8MULB -15(R14), Z15, K1, Z5 // 62d20549cfaef1ffffff VGF2P8MULB -15(R14), Z15, K1, Z5 // 62d20549cfaef1ffffff
RET RET
...@@ -3,92 +3,92 @@ ...@@ -3,92 +3,92 @@
#include "../../../../../../runtime/textflag.h" #include "../../../../../../runtime/textflag.h"
TEXT asmtest_vpclmulqdq_avx512f(SB), NOSPLIT, $0 TEXT asmtest_vpclmulqdq_avx512f(SB), NOSPLIT, $0
//TODO: VPCLMULQDQ $127, X22, X21, X15 // 6233550044fe7f or 6233d50044fe7f VPCLMULQDQ $127, X22, X21, X15 // 6233550044fe7f or 6233d50044fe7f
//TODO: VPCLMULQDQ $127, X7, X21, X15 // 6273550044ff7f or 6273d50044ff7f VPCLMULQDQ $127, X7, X21, X15 // 6273550044ff7f or 6273d50044ff7f
//TODO: VPCLMULQDQ $127, X19, X21, X15 // 6233550044fb7f or 6233d50044fb7f VPCLMULQDQ $127, X19, X21, X15 // 6233550044fb7f or 6233d50044fb7f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X21, X15 // 6273550044bcf5efffffff7f or 6273d50044bcf5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X21, X15 // 6273550044bcf5efffffff7f or 6273d50044bcf5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X21, X15 // 62535500443f7f or 6253d500443f7f VPCLMULQDQ $127, (R15), X21, X15 // 62535500443f7f or 6253d500443f7f
//TODO: VPCLMULQDQ $127, X22, X0, X15 // 62337d0844fe7f or 6233fd0844fe7f VPCLMULQDQ $127, X22, X0, X15 // 62337d0844fe7f or 6233fd0844fe7f
//TODO: VPCLMULQDQ $127, X19, X0, X15 // 62337d0844fb7f or 6233fd0844fb7f VPCLMULQDQ $127, X19, X0, X15 // 62337d0844fb7f or 6233fd0844fb7f
//TODO: VPCLMULQDQ $127, X22, X28, X15 // 62331d0044fe7f or 62339d0044fe7f VPCLMULQDQ $127, X22, X28, X15 // 62331d0044fe7f or 62339d0044fe7f
//TODO: VPCLMULQDQ $127, X7, X28, X15 // 62731d0044ff7f or 62739d0044ff7f VPCLMULQDQ $127, X7, X28, X15 // 62731d0044ff7f or 62739d0044ff7f
//TODO: VPCLMULQDQ $127, X19, X28, X15 // 62331d0044fb7f or 62339d0044fb7f VPCLMULQDQ $127, X19, X28, X15 // 62331d0044fb7f or 62339d0044fb7f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X28, X15 // 62731d0044bcf5efffffff7f or 62739d0044bcf5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X28, X15 // 62731d0044bcf5efffffff7f or 62739d0044bcf5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X28, X15 // 62531d00443f7f or 62539d00443f7f VPCLMULQDQ $127, (R15), X28, X15 // 62531d00443f7f or 62539d00443f7f
//TODO: VPCLMULQDQ $127, X22, X21, X0 // 62b3550044c67f or 62b3d50044c67f VPCLMULQDQ $127, X22, X21, X0 // 62b3550044c67f or 62b3d50044c67f
//TODO: VPCLMULQDQ $127, X7, X21, X0 // 62f3550044c77f or 62f3d50044c77f VPCLMULQDQ $127, X7, X21, X0 // 62f3550044c77f or 62f3d50044c77f
//TODO: VPCLMULQDQ $127, X19, X21, X0 // 62b3550044c37f or 62b3d50044c37f VPCLMULQDQ $127, X19, X21, X0 // 62b3550044c37f or 62b3d50044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X21, X0 // 62f355004484f5efffffff7f or 62f3d5004484f5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X21, X0 // 62f355004484f5efffffff7f or 62f3d5004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X21, X0 // 62d3550044077f or 62d3d50044077f VPCLMULQDQ $127, (R15), X21, X0 // 62d3550044077f or 62d3d50044077f
//TODO: VPCLMULQDQ $127, X22, X0, X0 // 62b37d0844c67f or 62b3fd0844c67f VPCLMULQDQ $127, X22, X0, X0 // 62b37d0844c67f or 62b3fd0844c67f
//TODO: VPCLMULQDQ $127, X19, X0, X0 // 62b37d0844c37f or 62b3fd0844c37f VPCLMULQDQ $127, X19, X0, X0 // 62b37d0844c37f or 62b3fd0844c37f
//TODO: VPCLMULQDQ $127, X22, X28, X0 // 62b31d0044c67f or 62b39d0044c67f VPCLMULQDQ $127, X22, X28, X0 // 62b31d0044c67f or 62b39d0044c67f
//TODO: VPCLMULQDQ $127, X7, X28, X0 // 62f31d0044c77f or 62f39d0044c77f VPCLMULQDQ $127, X7, X28, X0 // 62f31d0044c77f or 62f39d0044c77f
//TODO: VPCLMULQDQ $127, X19, X28, X0 // 62b31d0044c37f or 62b39d0044c37f VPCLMULQDQ $127, X19, X28, X0 // 62b31d0044c37f or 62b39d0044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X28, X0 // 62f31d004484f5efffffff7f or 62f39d004484f5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X28, X0 // 62f31d004484f5efffffff7f or 62f39d004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X28, X0 // 62d31d0044077f or 62d39d0044077f VPCLMULQDQ $127, (R15), X28, X0 // 62d31d0044077f or 62d39d0044077f
//TODO: VPCLMULQDQ $127, X22, X21, X16 // 62a3550044c67f or 62a3d50044c67f VPCLMULQDQ $127, X22, X21, X16 // 62a3550044c67f or 62a3d50044c67f
//TODO: VPCLMULQDQ $127, X7, X21, X16 // 62e3550044c77f or 62e3d50044c77f VPCLMULQDQ $127, X7, X21, X16 // 62e3550044c77f or 62e3d50044c77f
//TODO: VPCLMULQDQ $127, X19, X21, X16 // 62a3550044c37f or 62a3d50044c37f VPCLMULQDQ $127, X19, X21, X16 // 62a3550044c37f or 62a3d50044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X21, X16 // 62e355004484f5efffffff7f or 62e3d5004484f5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X21, X16 // 62e355004484f5efffffff7f or 62e3d5004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X21, X16 // 62c3550044077f or 62c3d50044077f VPCLMULQDQ $127, (R15), X21, X16 // 62c3550044077f or 62c3d50044077f
//TODO: VPCLMULQDQ $127, X22, X0, X16 // 62a37d0844c67f or 62a3fd0844c67f VPCLMULQDQ $127, X22, X0, X16 // 62a37d0844c67f or 62a3fd0844c67f
//TODO: VPCLMULQDQ $127, X7, X0, X16 // 62e37d0844c77f or 62e3fd0844c77f VPCLMULQDQ $127, X7, X0, X16 // 62e37d0844c77f or 62e3fd0844c77f
//TODO: VPCLMULQDQ $127, X19, X0, X16 // 62a37d0844c37f or 62a3fd0844c37f VPCLMULQDQ $127, X19, X0, X16 // 62a37d0844c37f or 62a3fd0844c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X0, X16 // 62e37d084484f5efffffff7f or 62e3fd084484f5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X0, X16 // 62e37d084484f5efffffff7f or 62e3fd084484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X0, X16 // 62c37d0844077f or 62c3fd0844077f VPCLMULQDQ $127, (R15), X0, X16 // 62c37d0844077f or 62c3fd0844077f
//TODO: VPCLMULQDQ $127, X22, X28, X16 // 62a31d0044c67f or 62a39d0044c67f VPCLMULQDQ $127, X22, X28, X16 // 62a31d0044c67f or 62a39d0044c67f
//TODO: VPCLMULQDQ $127, X7, X28, X16 // 62e31d0044c77f or 62e39d0044c77f VPCLMULQDQ $127, X7, X28, X16 // 62e31d0044c77f or 62e39d0044c77f
//TODO: VPCLMULQDQ $127, X19, X28, X16 // 62a31d0044c37f or 62a39d0044c37f VPCLMULQDQ $127, X19, X28, X16 // 62a31d0044c37f or 62a39d0044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X28, X16 // 62e31d004484f5efffffff7f or 62e39d004484f5efffffff7f VPCLMULQDQ $127, -17(BP)(SI*8), X28, X16 // 62e31d004484f5efffffff7f or 62e39d004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X28, X16 // 62c31d0044077f or 62c39d0044077f VPCLMULQDQ $127, (R15), X28, X16 // 62c31d0044077f or 62c39d0044077f
//TODO: VPCLMULQDQ $0, Y15, Y2, Y31 // 62436d2844ff00 or 6243ed2844ff00 VPCLMULQDQ $0, Y15, Y2, Y31 // 62436d2844ff00 or 6243ed2844ff00
//TODO: VPCLMULQDQ $0, Y22, Y2, Y31 // 62236d2844fe00 or 6223ed2844fe00 VPCLMULQDQ $0, Y22, Y2, Y31 // 62236d2844fe00 or 6223ed2844fe00
//TODO: VPCLMULQDQ $0, Y20, Y2, Y31 // 62236d2844fc00 or 6223ed2844fc00 VPCLMULQDQ $0, Y20, Y2, Y31 // 62236d2844fc00 or 6223ed2844fc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y2, Y31 // 62036d2844bcbf6300000000 or 6203ed2844bcbf6300000000 VPCLMULQDQ $0, 99(R15)(R15*4), Y2, Y31 // 62036d2844bcbf6300000000 or 6203ed2844bcbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y2, Y31 // 62636d2844ba0f00000000 or 6263ed2844ba0f00000000 VPCLMULQDQ $0, 15(DX), Y2, Y31 // 62636d2844ba0f00000000 or 6263ed2844ba0f00000000
//TODO: VPCLMULQDQ $0, Y15, Y13, Y31 // 6243152844ff00 or 6243952844ff00 VPCLMULQDQ $0, Y15, Y13, Y31 // 6243152844ff00 or 6243952844ff00
//TODO: VPCLMULQDQ $0, Y22, Y13, Y31 // 6223152844fe00 or 6223952844fe00 VPCLMULQDQ $0, Y22, Y13, Y31 // 6223152844fe00 or 6223952844fe00
//TODO: VPCLMULQDQ $0, Y20, Y13, Y31 // 6223152844fc00 or 6223952844fc00 VPCLMULQDQ $0, Y20, Y13, Y31 // 6223152844fc00 or 6223952844fc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y13, Y31 // 6203152844bcbf6300000000 or 6203952844bcbf6300000000 VPCLMULQDQ $0, 99(R15)(R15*4), Y13, Y31 // 6203152844bcbf6300000000 or 6203952844bcbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y13, Y31 // 6263152844ba0f00000000 or 6263952844ba0f00000000 VPCLMULQDQ $0, 15(DX), Y13, Y31 // 6263152844ba0f00000000 or 6263952844ba0f00000000
//TODO: VPCLMULQDQ $0, Y15, Y27, Y31 // 6243252044ff00 or 6243a52044ff00 VPCLMULQDQ $0, Y15, Y27, Y31 // 6243252044ff00 or 6243a52044ff00
//TODO: VPCLMULQDQ $0, Y22, Y27, Y31 // 6223252044fe00 or 6223a52044fe00 VPCLMULQDQ $0, Y22, Y27, Y31 // 6223252044fe00 or 6223a52044fe00
//TODO: VPCLMULQDQ $0, Y20, Y27, Y31 // 6223252044fc00 or 6223a52044fc00 VPCLMULQDQ $0, Y20, Y27, Y31 // 6223252044fc00 or 6223a52044fc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y31 // 6203252044bcbf6300000000 or 6203a52044bcbf6300000000 VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y31 // 6203252044bcbf6300000000 or 6203a52044bcbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y27, Y31 // 6263252044ba0f00000000 or 6263a52044ba0f00000000 VPCLMULQDQ $0, 15(DX), Y27, Y31 // 6263252044ba0f00000000 or 6263a52044ba0f00000000
//TODO: VPCLMULQDQ $0, Y22, Y2, Y3 // 62b36d2844de00 or 62b3ed2844de00 VPCLMULQDQ $0, Y22, Y2, Y3 // 62b36d2844de00 or 62b3ed2844de00
//TODO: VPCLMULQDQ $0, Y20, Y2, Y3 // 62b36d2844dc00 or 62b3ed2844dc00 VPCLMULQDQ $0, Y20, Y2, Y3 // 62b36d2844dc00 or 62b3ed2844dc00
//TODO: VPCLMULQDQ $0, Y22, Y13, Y3 // 62b3152844de00 or 62b3952844de00 VPCLMULQDQ $0, Y22, Y13, Y3 // 62b3152844de00 or 62b3952844de00
//TODO: VPCLMULQDQ $0, Y20, Y13, Y3 // 62b3152844dc00 or 62b3952844dc00 VPCLMULQDQ $0, Y20, Y13, Y3 // 62b3152844dc00 or 62b3952844dc00
//TODO: VPCLMULQDQ $0, Y15, Y27, Y3 // 62d3252044df00 or 62d3a52044df00 VPCLMULQDQ $0, Y15, Y27, Y3 // 62d3252044df00 or 62d3a52044df00
//TODO: VPCLMULQDQ $0, Y22, Y27, Y3 // 62b3252044de00 or 62b3a52044de00 VPCLMULQDQ $0, Y22, Y27, Y3 // 62b3252044de00 or 62b3a52044de00
//TODO: VPCLMULQDQ $0, Y20, Y27, Y3 // 62b3252044dc00 or 62b3a52044dc00 VPCLMULQDQ $0, Y20, Y27, Y3 // 62b3252044dc00 or 62b3a52044dc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y3 // 62932520449cbf6300000000 or 6293a520449cbf6300000000 VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y3 // 62932520449cbf6300000000 or 6293a520449cbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y27, Y3 // 62f32520449a0f00000000 or 62f3a520449a0f00000000 VPCLMULQDQ $0, 15(DX), Y27, Y3 // 62f32520449a0f00000000 or 62f3a520449a0f00000000
//TODO: VPCLMULQDQ $0, Y22, Y2, Y14 // 62336d2844f600 or 6233ed2844f600 VPCLMULQDQ $0, Y22, Y2, Y14 // 62336d2844f600 or 6233ed2844f600
//TODO: VPCLMULQDQ $0, Y20, Y2, Y14 // 62336d2844f400 or 6233ed2844f400 VPCLMULQDQ $0, Y20, Y2, Y14 // 62336d2844f400 or 6233ed2844f400
//TODO: VPCLMULQDQ $0, Y22, Y13, Y14 // 6233152844f600 or 6233952844f600 VPCLMULQDQ $0, Y22, Y13, Y14 // 6233152844f600 or 6233952844f600
//TODO: VPCLMULQDQ $0, Y20, Y13, Y14 // 6233152844f400 or 6233952844f400 VPCLMULQDQ $0, Y20, Y13, Y14 // 6233152844f400 or 6233952844f400
//TODO: VPCLMULQDQ $0, Y15, Y27, Y14 // 6253252044f700 or 6253a52044f700 VPCLMULQDQ $0, Y15, Y27, Y14 // 6253252044f700 or 6253a52044f700
//TODO: VPCLMULQDQ $0, Y22, Y27, Y14 // 6233252044f600 or 6233a52044f600 VPCLMULQDQ $0, Y22, Y27, Y14 // 6233252044f600 or 6233a52044f600
//TODO: VPCLMULQDQ $0, Y20, Y27, Y14 // 6233252044f400 or 6233a52044f400 VPCLMULQDQ $0, Y20, Y27, Y14 // 6233252044f400 or 6233a52044f400
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y14 // 6213252044b4bf6300000000 or 6213a52044b4bf6300000000 VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y14 // 6213252044b4bf6300000000 or 6213a52044b4bf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y27, Y14 // 6273252044b20f00000000 or 6273a52044b20f00000000 VPCLMULQDQ $0, 15(DX), Y27, Y14 // 6273252044b20f00000000 or 6273a52044b20f00000000
//TODO: VPCLMULQDQ $97, Z9, Z0, Z24 // 62437d4844c161 or 6243fd4844c161 VPCLMULQDQ $97, Z9, Z0, Z24 // 62437d4844c161 or 6243fd4844c161
//TODO: VPCLMULQDQ $97, Z3, Z0, Z24 // 62637d4844c361 or 6263fd4844c361 VPCLMULQDQ $97, Z3, Z0, Z24 // 62637d4844c361 or 6263fd4844c361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z24 // 62637d4844843e0700000061 or 6263fd4844843e0700000061 VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z24 // 62637d4844843e0700000061 or 6263fd4844843e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z24 // 62637d484484da0f00000061 or 6263fd484484da0f00000061 VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z24 // 62637d484484da0f00000061 or 6263fd484484da0f00000061
//TODO: VPCLMULQDQ $97, Z9, Z26, Z24 // 62432d4044c161 or 6243ad4044c161 VPCLMULQDQ $97, Z9, Z26, Z24 // 62432d4044c161 or 6243ad4044c161
//TODO: VPCLMULQDQ $97, Z3, Z26, Z24 // 62632d4044c361 or 6263ad4044c361 VPCLMULQDQ $97, Z3, Z26, Z24 // 62632d4044c361 or 6263ad4044c361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z24 // 62632d4044843e0700000061 or 6263ad4044843e0700000061 VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z24 // 62632d4044843e0700000061 or 6263ad4044843e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z24 // 62632d404484da0f00000061 or 6263ad404484da0f00000061 VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z24 // 62632d404484da0f00000061 or 6263ad404484da0f00000061
//TODO: VPCLMULQDQ $97, Z9, Z0, Z12 // 62537d4844e161 or 6253fd4844e161 VPCLMULQDQ $97, Z9, Z0, Z12 // 62537d4844e161 or 6253fd4844e161
//TODO: VPCLMULQDQ $97, Z3, Z0, Z12 // 62737d4844e361 or 6273fd4844e361 VPCLMULQDQ $97, Z3, Z0, Z12 // 62737d4844e361 or 6273fd4844e361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z12 // 62737d4844a43e0700000061 or 6273fd4844a43e0700000061 VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z12 // 62737d4844a43e0700000061 or 6273fd4844a43e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z12 // 62737d4844a4da0f00000061 or 6273fd4844a4da0f00000061 VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z12 // 62737d4844a4da0f00000061 or 6273fd4844a4da0f00000061
//TODO: VPCLMULQDQ $97, Z9, Z26, Z12 // 62532d4044e161 or 6253ad4044e161 VPCLMULQDQ $97, Z9, Z26, Z12 // 62532d4044e161 or 6253ad4044e161
//TODO: VPCLMULQDQ $97, Z3, Z26, Z12 // 62732d4044e361 or 6273ad4044e361 VPCLMULQDQ $97, Z3, Z26, Z12 // 62732d4044e361 or 6273ad4044e361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z12 // 62732d4044a43e0700000061 or 6273ad4044a43e0700000061 VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z12 // 62732d4044a43e0700000061 or 6273ad4044a43e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z12 // 62732d4044a4da0f00000061 or 6273ad4044a4da0f00000061 VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z12 // 62732d4044a4da0f00000061 or 6273ad4044a4da0f00000061
RET RET
...@@ -39,6 +39,7 @@ func init() { ...@@ -39,6 +39,7 @@ func init() {
obj.RegisterRegister(obj.RBaseARM, MAXREG, rconv) obj.RegisterRegister(obj.RBaseARM, MAXREG, rconv)
obj.RegisterOpcode(obj.ABaseARM, Anames) obj.RegisterOpcode(obj.ABaseARM, Anames)
obj.RegisterRegisterList(obj.RegListARMLo, obj.RegListARMHi, rlconv) obj.RegisterRegisterList(obj.RegListARMLo, obj.RegListARMHi, rlconv)
obj.RegisterOpSuffix("arm", obj.CConvARM)
} }
func rconv(r int) string { func rconv(r int) string {
......
...@@ -58,6 +58,7 @@ func init() { ...@@ -58,6 +58,7 @@ func init() {
obj.RegisterRegister(obj.RBaseARM64, REG_SPECIAL+1024, rconv) obj.RegisterRegister(obj.RBaseARM64, REG_SPECIAL+1024, rconv)
obj.RegisterOpcode(obj.ABaseARM64, Anames) obj.RegisterOpcode(obj.ABaseARM64, Anames)
obj.RegisterRegisterList(obj.RegListARM64Lo, obj.RegListARM64Hi, rlconv) obj.RegisterRegisterList(obj.RegListARM64Lo, obj.RegListARM64Hi, rlconv)
obj.RegisterOpSuffix("arm64", obj.CConvARM)
} }
func arrange(a int) string { func arrange(a int) string {
......
...@@ -138,13 +138,16 @@ import ( ...@@ -138,13 +138,16 @@ import (
// offset = second register // offset = second register
// //
// [reg, reg, reg-reg] // [reg, reg, reg-reg]
// Register list for ARM and ARM64. // Register list for ARM, ARM64, 386/AMD64.
// Encoding: // Encoding:
// type = TYPE_REGLIST // type = TYPE_REGLIST
// On ARM: // On ARM:
// offset = bit mask of registers in list; R0 is low bit. // offset = bit mask of registers in list; R0 is low bit.
// On ARM64: // On ARM64:
// offset = register count (Q:size) | arrangement (opcode) | first register // 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 // reg, reg
// Register pair for ARM. // Register pair for ARM.
...@@ -282,7 +285,7 @@ type Prog struct { ...@@ -282,7 +285,7 @@ type Prog struct {
RegTo2 int16 // 2nd destination operand RegTo2 int16 // 2nd destination operand
Mark uint16 // bitmask of arch-specific items Mark uint16 // bitmask of arch-specific items
Optab uint16 // arch-specific opcode index 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 Back uint8 // for x86 back end: backwards branch state
Ft uint8 // for x86 back end: type index of Prog.From Ft uint8 // for x86 back end: type index of Prog.From
Tt uint8 // for x86 back end: type index of Prog.To Tt uint8 // for x86 back end: type index of Prog.To
......
...@@ -72,11 +72,26 @@ const ( ...@@ -72,11 +72,26 @@ const (
C_SCOND_XOR = 14 C_SCOND_XOR = 14
) )
// CConv formats ARM condition codes. // CConv formats opcode suffix bits (Prog.Scond).
func CConv(s uint8) string { func CConv(s uint8) string {
if s == 0 { if s == 0 {
return "" return ""
} }
for i := range opSuffixSpace {
sset := &opSuffixSpace[i]
if sset.arch == objabi.GOARCH {
return sset.cconv(s)
}
}
return fmt.Sprintf("SC???%d", s)
}
// CConvARM formats ARM opcode suffix bits (mostly condition codes).
func CConvARM(s uint8) string {
// TODO: could be great to move suffix-related things into
// ARM asm backends some day.
// obj/x86 can be used as an example.
sc := armCondCode[(s&C_SCOND)^C_SCOND_XOR] sc := armCondCode[(s&C_SCOND)^C_SCOND_XOR]
if s&C_SBIT != 0 { if s&C_SBIT != 0 {
sc += ".S" sc += ".S"
...@@ -368,6 +383,30 @@ func offConv(off int64) string { ...@@ -368,6 +383,30 @@ func offConv(off int64) string {
return fmt.Sprintf("%+d", off) return fmt.Sprintf("%+d", off)
} }
// opSuffixSet is like regListSet, but for opcode suffixes.
//
// Unlike some other similar structures, uint8 space is not
// divided by it's own values set (because the're only 256 of them).
// Instead, every arch may interpret/format all 8 bits as they like,
// as long as they register proper cconv function for it.
type opSuffixSet struct {
arch string
cconv func(suffix uint8) string
}
var opSuffixSpace []opSuffixSet
// RegisterOpSuffix assigns cconv function for formatting opcode suffixes
// when compiling for GOARCH=arch.
//
// cconv is never called with 0 argument.
func RegisterOpSuffix(arch string, cconv func(uint8) string) {
opSuffixSpace = append(opSuffixSpace, opSuffixSet{
arch: arch,
cconv: cconv,
})
}
type regSet struct { type regSet struct {
lo int lo int
hi int hi int
...@@ -434,6 +473,10 @@ const ( ...@@ -434,6 +473,10 @@ const (
// arm64 uses the 60th bit to differentiate from other archs // arm64 uses the 60th bit to differentiate from other archs
RegListARM64Lo = 1 << 60 RegListARM64Lo = 1 << 60
RegListARM64Hi = 1<<61 - 1 RegListARM64Hi = 1<<61 - 1
// x86 uses the 61th bit to differentiate from other archs
RegListX86Lo = 1 << 61
RegListX86Hi = 1<<62 - 1
) )
// RegisterRegisterList binds a pretty-printer (RLconv) for register list // RegisterRegisterList binds a pretty-printer (RLconv) for register list
......
...@@ -94,6 +94,15 @@ const ( ...@@ -94,6 +94,15 @@ const (
REG_M6 REG_M6
REG_M7 REG_M7
REG_K0
REG_K1
REG_K2
REG_K3
REG_K4
REG_K5
REG_K6
REG_K7
REG_X0 REG_X0
REG_X1 REG_X1
REG_X2 REG_X2
...@@ -110,6 +119,22 @@ const ( ...@@ -110,6 +119,22 @@ const (
REG_X13 REG_X13
REG_X14 REG_X14
REG_X15 REG_X15
REG_X16
REG_X17
REG_X18
REG_X19
REG_X20
REG_X21
REG_X22
REG_X23
REG_X24
REG_X25
REG_X26
REG_X27
REG_X28
REG_X29
REG_X30
REG_X31
REG_Y0 REG_Y0
REG_Y1 REG_Y1
...@@ -127,6 +152,55 @@ const ( ...@@ -127,6 +152,55 @@ const (
REG_Y13 REG_Y13
REG_Y14 REG_Y14
REG_Y15 REG_Y15
REG_Y16
REG_Y17
REG_Y18
REG_Y19
REG_Y20
REG_Y21
REG_Y22
REG_Y23
REG_Y24
REG_Y25
REG_Y26
REG_Y27
REG_Y28
REG_Y29
REG_Y30
REG_Y31
REG_Z0
REG_Z1
REG_Z2
REG_Z3
REG_Z4
REG_Z5
REG_Z6
REG_Z7
REG_Z8
REG_Z9
REG_Z10
REG_Z11
REG_Z12
REG_Z13
REG_Z14
REG_Z15
REG_Z16
REG_Z17
REG_Z18
REG_Z19
REG_Z20
REG_Z21
REG_Z22
REG_Z23
REG_Z24
REG_Z25
REG_Z26
REG_Z27
REG_Z28
REG_Z29
REG_Z30
REG_Z31
REG_CS REG_CS
REG_SS REG_SS
...@@ -221,15 +295,16 @@ var AMD64DWARFRegisters = map[int16]int16{ ...@@ -221,15 +295,16 @@ var AMD64DWARFRegisters = map[int16]int16{
REG_R14: 14, REG_R14: 14,
REG_R15: 15, REG_R15: 15,
// 16 is "Return Address RA", whatever that is. // 16 is "Return Address RA", whatever that is.
// XMM registers. %xmmN => XN. // 17-24 vector registers (X/Y/Z).
REG_X0: 17, REG_X0: 17,
REG_X1: 18, REG_X1: 18,
REG_X2: 19, REG_X2: 19,
REG_X3: 20, REG_X3: 20,
REG_X4: 21, REG_X4: 21,
REG_X5: 22, REG_X5: 22,
REG_X6: 23, REG_X6: 23,
REG_X7: 24, REG_X7: 24,
// 25-32 extended vector registers (X/Y/Z).
REG_X8: 25, REG_X8: 25,
REG_X9: 26, REG_X9: 26,
REG_X10: 27, REG_X10: 27,
...@@ -267,6 +342,34 @@ var AMD64DWARFRegisters = map[int16]int16{ ...@@ -267,6 +342,34 @@ var AMD64DWARFRegisters = map[int16]int16{
REG_TR: 62, REG_TR: 62,
REG_LDTR: 63, REG_LDTR: 63,
// 64-66 are mxcsr, fcw, fsw, which don't have names. // 64-66 are mxcsr, fcw, fsw, which don't have names.
// 67-82 upper vector registers (X/Y/Z).
REG_X16: 67,
REG_X17: 68,
REG_X18: 69,
REG_X19: 70,
REG_X20: 71,
REG_X21: 72,
REG_X22: 73,
REG_X23: 74,
REG_X24: 75,
REG_X25: 76,
REG_X26: 77,
REG_X27: 78,
REG_X28: 79,
REG_X29: 80,
REG_X30: 81,
REG_X31: 82,
// 118-125 vector mask registers. %kN => KN.
REG_K0: 118,
REG_K1: 119,
REG_K2: 120,
REG_K3: 121,
REG_K4: 122,
REG_K5: 123,
REG_K6: 124,
REG_K7: 125,
} }
// https://www.uclibc.org/docs/psABI-i386.pdf, table 2.14 // https://www.uclibc.org/docs/psABI-i386.pdf, table 2.14
......
...@@ -387,6 +387,57 @@ const ( ...@@ -387,6 +387,57 @@ const (
AJPC // parity clear AJPC // parity clear
AJPL // sign bit clear (positive) AJPL // sign bit clear (positive)
AJPS // parity set AJPS // parity set
AKADDB
AKADDD
AKADDQ
AKADDW
AKANDB
AKANDD
AKANDNB
AKANDND
AKANDNQ
AKANDNW
AKANDQ
AKANDW
AKMOVB
AKMOVD
AKMOVQ
AKMOVW
AKNOTB
AKNOTD
AKNOTQ
AKNOTW
AKORB
AKORD
AKORQ
AKORTESTB
AKORTESTD
AKORTESTQ
AKORTESTW
AKORW
AKSHIFTLB
AKSHIFTLD
AKSHIFTLQ
AKSHIFTLW
AKSHIFTRB
AKSHIFTRD
AKSHIFTRQ
AKSHIFTRW
AKTESTB
AKTESTD
AKTESTQ
AKTESTW
AKUNPCKBW
AKUNPCKDQ
AKUNPCKWD
AKXNORB
AKXNORD
AKXNORQ
AKXNORW
AKXORB
AKXORD
AKXORQ
AKXORW
ALAHF ALAHF
ALARL ALARL
ALARQ ALARQ
...@@ -838,6 +889,10 @@ const ( ...@@ -838,6 +889,10 @@ const (
AUNPCKHPS AUNPCKHPS
AUNPCKLPD AUNPCKLPD
AUNPCKLPS AUNPCKLPS
AV4FMADDPS
AV4FMADDSS
AV4FNMADDPS
AV4FNMADDSS
AVADDPD AVADDPD
AVADDPS AVADDPS
AVADDSD AVADDSD
...@@ -850,16 +905,30 @@ const ( ...@@ -850,16 +905,30 @@ const (
AVAESENCLAST AVAESENCLAST
AVAESIMC AVAESIMC
AVAESKEYGENASSIST AVAESKEYGENASSIST
AVALIGND
AVALIGNQ
AVANDNPD AVANDNPD
AVANDNPS AVANDNPS
AVANDPD AVANDPD
AVANDPS AVANDPS
AVBLENDMPD
AVBLENDMPS
AVBLENDPD AVBLENDPD
AVBLENDPS AVBLENDPS
AVBLENDVPD AVBLENDVPD
AVBLENDVPS AVBLENDVPS
AVBROADCASTF128 AVBROADCASTF128
AVBROADCASTF32X2
AVBROADCASTF32X4
AVBROADCASTF32X8
AVBROADCASTF64X2
AVBROADCASTF64X4
AVBROADCASTI128 AVBROADCASTI128
AVBROADCASTI32X2
AVBROADCASTI32X4
AVBROADCASTI32X8
AVBROADCASTI64X2
AVBROADCASTI64X4
AVBROADCASTSD AVBROADCASTSD
AVBROADCASTSS AVBROADCASTSS
AVCMPPD AVCMPPD
...@@ -868,19 +937,38 @@ const ( ...@@ -868,19 +937,38 @@ const (
AVCMPSS AVCMPSS
AVCOMISD AVCOMISD
AVCOMISS AVCOMISS
AVCOMPRESSPD
AVCOMPRESSPS
AVCVTDQ2PD AVCVTDQ2PD
AVCVTDQ2PS AVCVTDQ2PS
AVCVTPD2DQ
AVCVTPD2DQX AVCVTPD2DQX
AVCVTPD2DQY AVCVTPD2DQY
AVCVTPD2PS
AVCVTPD2PSX AVCVTPD2PSX
AVCVTPD2PSY AVCVTPD2PSY
AVCVTPD2QQ
AVCVTPD2UDQ
AVCVTPD2UDQX
AVCVTPD2UDQY
AVCVTPD2UQQ
AVCVTPH2PS AVCVTPH2PS
AVCVTPS2DQ AVCVTPS2DQ
AVCVTPS2PD AVCVTPS2PD
AVCVTPS2PH AVCVTPS2PH
AVCVTPS2QQ
AVCVTPS2UDQ
AVCVTPS2UQQ
AVCVTQQ2PD
AVCVTQQ2PS
AVCVTQQ2PSX
AVCVTQQ2PSY
AVCVTSD2SI AVCVTSD2SI
AVCVTSD2SIQ AVCVTSD2SIQ
AVCVTSD2SS AVCVTSD2SS
AVCVTSD2USI
AVCVTSD2USIL
AVCVTSD2USIQ
AVCVTSI2SDL AVCVTSI2SDL
AVCVTSI2SDQ AVCVTSI2SDQ
AVCVTSI2SSL AVCVTSI2SSL
...@@ -888,13 +976,44 @@ const ( ...@@ -888,13 +976,44 @@ const (
AVCVTSS2SD AVCVTSS2SD
AVCVTSS2SI AVCVTSS2SI
AVCVTSS2SIQ AVCVTSS2SIQ
AVCVTSS2USI
AVCVTSS2USIL
AVCVTSS2USIQ
AVCVTTPD2DQ
AVCVTTPD2DQX AVCVTTPD2DQX
AVCVTTPD2DQY AVCVTTPD2DQY
AVCVTTPD2QQ
AVCVTTPD2UDQ
AVCVTTPD2UDQX
AVCVTTPD2UDQY
AVCVTTPD2UQQ
AVCVTTPS2DQ AVCVTTPS2DQ
AVCVTTPS2QQ
AVCVTTPS2UDQ
AVCVTTPS2UQQ
AVCVTTSD2SI AVCVTTSD2SI
AVCVTTSD2SIQ AVCVTTSD2SIQ
AVCVTTSD2USI
AVCVTTSD2USIL
AVCVTTSD2USIQ
AVCVTTSS2SI AVCVTTSS2SI
AVCVTTSS2SIQ AVCVTTSS2SIQ
AVCVTTSS2USI
AVCVTTSS2USIL
AVCVTTSS2USIQ
AVCVTUDQ2PD
AVCVTUDQ2PS
AVCVTUQQ2PD
AVCVTUQQ2PS
AVCVTUQQ2PSX
AVCVTUQQ2PSY
AVCVTUSI2SD
AVCVTUSI2SDL
AVCVTUSI2SDQ
AVCVTUSI2SS
AVCVTUSI2SSL
AVCVTUSI2SSQ
AVDBPSADBW
AVDIVPD AVDIVPD
AVDIVPS AVDIVPS
AVDIVSD AVDIVSD
...@@ -903,9 +1022,25 @@ const ( ...@@ -903,9 +1022,25 @@ const (
AVDPPS AVDPPS
AVERR AVERR
AVERW AVERW
AVEXP2PD
AVEXP2PS
AVEXPANDPD
AVEXPANDPS
AVEXTRACTF128 AVEXTRACTF128
AVEXTRACTF32X4
AVEXTRACTF32X8
AVEXTRACTF64X2
AVEXTRACTF64X4
AVEXTRACTI128 AVEXTRACTI128
AVEXTRACTI32X4
AVEXTRACTI32X8
AVEXTRACTI64X2
AVEXTRACTI64X4
AVEXTRACTPS AVEXTRACTPS
AVFIXUPIMMPD
AVFIXUPIMMPS
AVFIXUPIMMSD
AVFIXUPIMMSS
AVFMADD132PD AVFMADD132PD
AVFMADD132PS AVFMADD132PS
AVFMADD132SD AVFMADD132SD
...@@ -966,16 +1101,53 @@ const ( ...@@ -966,16 +1101,53 @@ const (
AVFNMSUB231PS AVFNMSUB231PS
AVFNMSUB231SD AVFNMSUB231SD
AVFNMSUB231SS AVFNMSUB231SS
AVFPCLASSPD
AVFPCLASSPDX
AVFPCLASSPDY
AVFPCLASSPDZ
AVFPCLASSPS
AVFPCLASSPSX
AVFPCLASSPSY
AVFPCLASSPSZ
AVFPCLASSSD
AVFPCLASSSS
AVGATHERDPD AVGATHERDPD
AVGATHERDPS AVGATHERDPS
AVGATHERPF0DPD
AVGATHERPF0DPS
AVGATHERPF0QPD
AVGATHERPF0QPS
AVGATHERPF1DPD
AVGATHERPF1DPS
AVGATHERPF1QPD
AVGATHERPF1QPS
AVGATHERQPD AVGATHERQPD
AVGATHERQPS AVGATHERQPS
AVGETEXPPD
AVGETEXPPS
AVGETEXPSD
AVGETEXPSS
AVGETMANTPD
AVGETMANTPS
AVGETMANTSD
AVGETMANTSS
AVGF2P8AFFINEINVQB
AVGF2P8AFFINEQB
AVGF2P8MULB
AVHADDPD AVHADDPD
AVHADDPS AVHADDPS
AVHSUBPD AVHSUBPD
AVHSUBPS AVHSUBPS
AVINSERTF128 AVINSERTF128
AVINSERTF32X4
AVINSERTF32X8
AVINSERTF64X2
AVINSERTF64X4
AVINSERTI128 AVINSERTI128
AVINSERTI32X4
AVINSERTI32X8
AVINSERTI64X2
AVINSERTI64X4
AVINSERTPS AVINSERTPS
AVLDDQU AVLDDQU
AVLDMXCSR AVLDMXCSR
...@@ -995,7 +1167,13 @@ const ( ...@@ -995,7 +1167,13 @@ const (
AVMOVD AVMOVD
AVMOVDDUP AVMOVDDUP
AVMOVDQA AVMOVDQA
AVMOVDQA32
AVMOVDQA64
AVMOVDQU AVMOVDQU
AVMOVDQU16
AVMOVDQU32
AVMOVDQU64
AVMOVDQU8
AVMOVHLPS AVMOVHLPS
AVMOVHPD AVMOVHPD
AVMOVHPS AVMOVHPS
...@@ -1022,8 +1200,11 @@ const ( ...@@ -1022,8 +1200,11 @@ const (
AVMULSS AVMULSS
AVORPD AVORPD
AVORPS AVORPS
AVP4DPWSSD
AVP4DPWSSDS
AVPABSB AVPABSB
AVPABSD AVPABSD
AVPABSQ
AVPABSW AVPABSW
AVPACKSSDW AVPACKSSDW
AVPACKSSWB AVPACKSSWB
...@@ -1039,17 +1220,29 @@ const ( ...@@ -1039,17 +1220,29 @@ const (
AVPADDW AVPADDW
AVPALIGNR AVPALIGNR
AVPAND AVPAND
AVPANDD
AVPANDN AVPANDN
AVPANDND
AVPANDNQ
AVPANDQ
AVPAVGB AVPAVGB
AVPAVGW AVPAVGW
AVPBLENDD AVPBLENDD
AVPBLENDMB
AVPBLENDMD
AVPBLENDMQ
AVPBLENDMW
AVPBLENDVB AVPBLENDVB
AVPBLENDW AVPBLENDW
AVPBROADCASTB AVPBROADCASTB
AVPBROADCASTD AVPBROADCASTD
AVPBROADCASTMB2Q
AVPBROADCASTMW2D
AVPBROADCASTQ AVPBROADCASTQ
AVPBROADCASTW AVPBROADCASTW
AVPCLMULQDQ AVPCLMULQDQ
AVPCMPB
AVPCMPD
AVPCMPEQB AVPCMPEQB
AVPCMPEQD AVPCMPEQD
AVPCMPEQQ AVPCMPEQQ
...@@ -1062,14 +1255,48 @@ const ( ...@@ -1062,14 +1255,48 @@ const (
AVPCMPGTW AVPCMPGTW
AVPCMPISTRI AVPCMPISTRI
AVPCMPISTRM AVPCMPISTRM
AVPCMPQ
AVPCMPUB
AVPCMPUD
AVPCMPUQ
AVPCMPUW
AVPCMPW
AVPCOMPRESSB
AVPCOMPRESSD
AVPCOMPRESSQ
AVPCOMPRESSW
AVPCONFLICTD
AVPCONFLICTQ
AVPDPBUSD
AVPDPBUSDS
AVPDPWSSD
AVPDPWSSDS
AVPERM2F128 AVPERM2F128
AVPERM2I128 AVPERM2I128
AVPERMB
AVPERMD AVPERMD
AVPERMI2B
AVPERMI2D
AVPERMI2PD
AVPERMI2PS
AVPERMI2Q
AVPERMI2W
AVPERMILPD AVPERMILPD
AVPERMILPS AVPERMILPS
AVPERMPD AVPERMPD
AVPERMPS AVPERMPS
AVPERMQ AVPERMQ
AVPERMT2B
AVPERMT2D
AVPERMT2PD
AVPERMT2PS
AVPERMT2Q
AVPERMT2W
AVPERMW
AVPEXPANDB
AVPEXPANDD
AVPEXPANDQ
AVPEXPANDW
AVPEXTRB AVPEXTRB
AVPEXTRD AVPEXTRD
AVPEXTRQ AVPEXTRQ
...@@ -1089,29 +1316,63 @@ const ( ...@@ -1089,29 +1316,63 @@ const (
AVPINSRD AVPINSRD
AVPINSRQ AVPINSRQ
AVPINSRW AVPINSRW
AVPLZCNTD
AVPLZCNTQ
AVPMADD52HUQ
AVPMADD52LUQ
AVPMADDUBSW AVPMADDUBSW
AVPMADDWD AVPMADDWD
AVPMASKMOVD AVPMASKMOVD
AVPMASKMOVQ AVPMASKMOVQ
AVPMAXSB AVPMAXSB
AVPMAXSD AVPMAXSD
AVPMAXSQ
AVPMAXSW AVPMAXSW
AVPMAXUB AVPMAXUB
AVPMAXUD AVPMAXUD
AVPMAXUQ
AVPMAXUW AVPMAXUW
AVPMINSB AVPMINSB
AVPMINSD AVPMINSD
AVPMINSQ
AVPMINSW AVPMINSW
AVPMINUB AVPMINUB
AVPMINUD AVPMINUD
AVPMINUQ
AVPMINUW AVPMINUW
AVPMOVB2M
AVPMOVD2M
AVPMOVDB
AVPMOVDW
AVPMOVM2B
AVPMOVM2D
AVPMOVM2Q
AVPMOVM2W
AVPMOVMSKB AVPMOVMSKB
AVPMOVQ2M
AVPMOVQB
AVPMOVQD
AVPMOVQW
AVPMOVSDB
AVPMOVSDW
AVPMOVSQB
AVPMOVSQD
AVPMOVSQW
AVPMOVSWB
AVPMOVSXBD AVPMOVSXBD
AVPMOVSXBQ AVPMOVSXBQ
AVPMOVSXBW AVPMOVSXBW
AVPMOVSXDQ AVPMOVSXDQ
AVPMOVSXWD AVPMOVSXWD
AVPMOVSXWQ AVPMOVSXWQ
AVPMOVUSDB
AVPMOVUSDW
AVPMOVUSQB
AVPMOVUSQD
AVPMOVUSQW
AVPMOVUSWB
AVPMOVW2M
AVPMOVWB
AVPMOVZXBD AVPMOVZXBD
AVPMOVZXBQ AVPMOVZXBQ
AVPMOVZXBW AVPMOVZXBW
...@@ -1123,11 +1384,44 @@ const ( ...@@ -1123,11 +1384,44 @@ const (
AVPMULHUW AVPMULHUW
AVPMULHW AVPMULHW
AVPMULLD AVPMULLD
AVPMULLQ
AVPMULLW AVPMULLW
AVPMULTISHIFTQB
AVPMULUDQ AVPMULUDQ
AVPOPCNTB
AVPOPCNTD
AVPOPCNTQ
AVPOPCNTW
AVPOR AVPOR
AVPORD
AVPORQ
AVPROLD
AVPROLQ
AVPROLVD
AVPROLVQ
AVPRORD
AVPRORQ
AVPRORVD
AVPRORVQ
AVPSADBW AVPSADBW
AVPSCATTERDD
AVPSCATTERDQ
AVPSCATTERQD
AVPSCATTERQQ
AVPSHLDD
AVPSHLDQ
AVPSHLDVD
AVPSHLDVQ
AVPSHLDVW
AVPSHLDW
AVPSHRDD
AVPSHRDQ
AVPSHRDVD
AVPSHRDVQ
AVPSHRDVW
AVPSHRDW
AVPSHUFB AVPSHUFB
AVPSHUFBITQMB
AVPSHUFD AVPSHUFD
AVPSHUFHW AVPSHUFHW
AVPSHUFLW AVPSHUFLW
...@@ -1139,15 +1433,20 @@ const ( ...@@ -1139,15 +1433,20 @@ const (
AVPSLLQ AVPSLLQ
AVPSLLVD AVPSLLVD
AVPSLLVQ AVPSLLVQ
AVPSLLVW
AVPSLLW AVPSLLW
AVPSRAD AVPSRAD
AVPSRAQ
AVPSRAVD AVPSRAVD
AVPSRAVQ
AVPSRAVW
AVPSRAW AVPSRAW
AVPSRLD AVPSRLD
AVPSRLDQ AVPSRLDQ
AVPSRLQ AVPSRLQ
AVPSRLVD AVPSRLVD
AVPSRLVQ AVPSRLVQ
AVPSRLVW
AVPSRLW AVPSRLW
AVPSUBB AVPSUBB
AVPSUBD AVPSUBD
...@@ -1157,7 +1456,17 @@ const ( ...@@ -1157,7 +1456,17 @@ const (
AVPSUBUSB AVPSUBUSB
AVPSUBUSW AVPSUBUSW
AVPSUBW AVPSUBW
AVPTERNLOGD
AVPTERNLOGQ
AVPTEST AVPTEST
AVPTESTMB
AVPTESTMD
AVPTESTMQ
AVPTESTMW
AVPTESTNMB
AVPTESTNMD
AVPTESTNMQ
AVPTESTNMW
AVPUNPCKHBW AVPUNPCKHBW
AVPUNPCKHDQ AVPUNPCKHDQ
AVPUNPCKHQDQ AVPUNPCKHQDQ
...@@ -1167,14 +1476,64 @@ const ( ...@@ -1167,14 +1476,64 @@ const (
AVPUNPCKLQDQ AVPUNPCKLQDQ
AVPUNPCKLWD AVPUNPCKLWD
AVPXOR AVPXOR
AVPXORD
AVPXORQ
AVRANGEPD
AVRANGEPS
AVRANGESD
AVRANGESS
AVRCP14PD
AVRCP14PS
AVRCP14SD
AVRCP14SS
AVRCP28PD
AVRCP28PS
AVRCP28SD
AVRCP28SS
AVRCPPS AVRCPPS
AVRCPSS AVRCPSS
AVREDUCEPD
AVREDUCEPS
AVREDUCESD
AVREDUCESS
AVRNDSCALEPD
AVRNDSCALEPS
AVRNDSCALESD
AVRNDSCALESS
AVROUNDPD AVROUNDPD
AVROUNDPS AVROUNDPS
AVROUNDSD AVROUNDSD
AVROUNDSS AVROUNDSS
AVRSQRT14PD
AVRSQRT14PS
AVRSQRT14SD
AVRSQRT14SS
AVRSQRT28PD
AVRSQRT28PS
AVRSQRT28SD
AVRSQRT28SS
AVRSQRTPS AVRSQRTPS
AVRSQRTSS AVRSQRTSS
AVSCALEFPD
AVSCALEFPS
AVSCALEFSD
AVSCALEFSS
AVSCATTERDPD
AVSCATTERDPS
AVSCATTERPF0DPD
AVSCATTERPF0DPS
AVSCATTERPF0QPD
AVSCATTERPF0QPS
AVSCATTERPF1DPD
AVSCATTERPF1DPS
AVSCATTERPF1QPD
AVSCATTERPF1QPS
AVSCATTERQPD
AVSCATTERQPS
AVSHUFF32X4
AVSHUFF64X2
AVSHUFI32X4
AVSHUFI64X2
AVSHUFPD AVSHUFPD
AVSHUFPS AVSHUFPS
AVSQRTPD AVSQRTPD
......
...@@ -386,6 +386,57 @@ var Anames = []string{ ...@@ -386,6 +386,57 @@ var Anames = []string{
"JPC", "JPC",
"JPL", "JPL",
"JPS", "JPS",
"KADDB",
"KADDD",
"KADDQ",
"KADDW",
"KANDB",
"KANDD",
"KANDNB",
"KANDND",
"KANDNQ",
"KANDNW",
"KANDQ",
"KANDW",
"KMOVB",
"KMOVD",
"KMOVQ",
"KMOVW",
"KNOTB",
"KNOTD",
"KNOTQ",
"KNOTW",
"KORB",
"KORD",
"KORQ",
"KORTESTB",
"KORTESTD",
"KORTESTQ",
"KORTESTW",
"KORW",
"KSHIFTLB",
"KSHIFTLD",
"KSHIFTLQ",
"KSHIFTLW",
"KSHIFTRB",
"KSHIFTRD",
"KSHIFTRQ",
"KSHIFTRW",
"KTESTB",
"KTESTD",
"KTESTQ",
"KTESTW",
"KUNPCKBW",
"KUNPCKDQ",
"KUNPCKWD",
"KXNORB",
"KXNORD",
"KXNORQ",
"KXNORW",
"KXORB",
"KXORD",
"KXORQ",
"KXORW",
"LAHF", "LAHF",
"LARL", "LARL",
"LARQ", "LARQ",
...@@ -837,6 +888,10 @@ var Anames = []string{ ...@@ -837,6 +888,10 @@ var Anames = []string{
"UNPCKHPS", "UNPCKHPS",
"UNPCKLPD", "UNPCKLPD",
"UNPCKLPS", "UNPCKLPS",
"V4FMADDPS",
"V4FMADDSS",
"V4FNMADDPS",
"V4FNMADDSS",
"VADDPD", "VADDPD",
"VADDPS", "VADDPS",
"VADDSD", "VADDSD",
...@@ -849,16 +904,30 @@ var Anames = []string{ ...@@ -849,16 +904,30 @@ var Anames = []string{
"VAESENCLAST", "VAESENCLAST",
"VAESIMC", "VAESIMC",
"VAESKEYGENASSIST", "VAESKEYGENASSIST",
"VALIGND",
"VALIGNQ",
"VANDNPD", "VANDNPD",
"VANDNPS", "VANDNPS",
"VANDPD", "VANDPD",
"VANDPS", "VANDPS",
"VBLENDMPD",
"VBLENDMPS",
"VBLENDPD", "VBLENDPD",
"VBLENDPS", "VBLENDPS",
"VBLENDVPD", "VBLENDVPD",
"VBLENDVPS", "VBLENDVPS",
"VBROADCASTF128", "VBROADCASTF128",
"VBROADCASTF32X2",
"VBROADCASTF32X4",
"VBROADCASTF32X8",
"VBROADCASTF64X2",
"VBROADCASTF64X4",
"VBROADCASTI128", "VBROADCASTI128",
"VBROADCASTI32X2",
"VBROADCASTI32X4",
"VBROADCASTI32X8",
"VBROADCASTI64X2",
"VBROADCASTI64X4",
"VBROADCASTSD", "VBROADCASTSD",
"VBROADCASTSS", "VBROADCASTSS",
"VCMPPD", "VCMPPD",
...@@ -867,19 +936,38 @@ var Anames = []string{ ...@@ -867,19 +936,38 @@ var Anames = []string{
"VCMPSS", "VCMPSS",
"VCOMISD", "VCOMISD",
"VCOMISS", "VCOMISS",
"VCOMPRESSPD",
"VCOMPRESSPS",
"VCVTDQ2PD", "VCVTDQ2PD",
"VCVTDQ2PS", "VCVTDQ2PS",
"VCVTPD2DQ",
"VCVTPD2DQX", "VCVTPD2DQX",
"VCVTPD2DQY", "VCVTPD2DQY",
"VCVTPD2PS",
"VCVTPD2PSX", "VCVTPD2PSX",
"VCVTPD2PSY", "VCVTPD2PSY",
"VCVTPD2QQ",
"VCVTPD2UDQ",
"VCVTPD2UDQX",
"VCVTPD2UDQY",
"VCVTPD2UQQ",
"VCVTPH2PS", "VCVTPH2PS",
"VCVTPS2DQ", "VCVTPS2DQ",
"VCVTPS2PD", "VCVTPS2PD",
"VCVTPS2PH", "VCVTPS2PH",
"VCVTPS2QQ",
"VCVTPS2UDQ",
"VCVTPS2UQQ",
"VCVTQQ2PD",
"VCVTQQ2PS",
"VCVTQQ2PSX",
"VCVTQQ2PSY",
"VCVTSD2SI", "VCVTSD2SI",
"VCVTSD2SIQ", "VCVTSD2SIQ",
"VCVTSD2SS", "VCVTSD2SS",
"VCVTSD2USI",
"VCVTSD2USIL",
"VCVTSD2USIQ",
"VCVTSI2SDL", "VCVTSI2SDL",
"VCVTSI2SDQ", "VCVTSI2SDQ",
"VCVTSI2SSL", "VCVTSI2SSL",
...@@ -887,13 +975,44 @@ var Anames = []string{ ...@@ -887,13 +975,44 @@ var Anames = []string{
"VCVTSS2SD", "VCVTSS2SD",
"VCVTSS2SI", "VCVTSS2SI",
"VCVTSS2SIQ", "VCVTSS2SIQ",
"VCVTSS2USI",
"VCVTSS2USIL",
"VCVTSS2USIQ",
"VCVTTPD2DQ",
"VCVTTPD2DQX", "VCVTTPD2DQX",
"VCVTTPD2DQY", "VCVTTPD2DQY",
"VCVTTPD2QQ",
"VCVTTPD2UDQ",
"VCVTTPD2UDQX",
"VCVTTPD2UDQY",
"VCVTTPD2UQQ",
"VCVTTPS2DQ", "VCVTTPS2DQ",
"VCVTTPS2QQ",
"VCVTTPS2UDQ",
"VCVTTPS2UQQ",
"VCVTTSD2SI", "VCVTTSD2SI",
"VCVTTSD2SIQ", "VCVTTSD2SIQ",
"VCVTTSD2USI",
"VCVTTSD2USIL",
"VCVTTSD2USIQ",
"VCVTTSS2SI", "VCVTTSS2SI",
"VCVTTSS2SIQ", "VCVTTSS2SIQ",
"VCVTTSS2USI",
"VCVTTSS2USIL",
"VCVTTSS2USIQ",
"VCVTUDQ2PD",
"VCVTUDQ2PS",
"VCVTUQQ2PD",
"VCVTUQQ2PS",
"VCVTUQQ2PSX",
"VCVTUQQ2PSY",
"VCVTUSI2SD",
"VCVTUSI2SDL",
"VCVTUSI2SDQ",
"VCVTUSI2SS",
"VCVTUSI2SSL",
"VCVTUSI2SSQ",
"VDBPSADBW",
"VDIVPD", "VDIVPD",
"VDIVPS", "VDIVPS",
"VDIVSD", "VDIVSD",
...@@ -902,9 +1021,25 @@ var Anames = []string{ ...@@ -902,9 +1021,25 @@ var Anames = []string{
"VDPPS", "VDPPS",
"VERR", "VERR",
"VERW", "VERW",
"VEXP2PD",
"VEXP2PS",
"VEXPANDPD",
"VEXPANDPS",
"VEXTRACTF128", "VEXTRACTF128",
"VEXTRACTF32X4",
"VEXTRACTF32X8",
"VEXTRACTF64X2",
"VEXTRACTF64X4",
"VEXTRACTI128", "VEXTRACTI128",
"VEXTRACTI32X4",
"VEXTRACTI32X8",
"VEXTRACTI64X2",
"VEXTRACTI64X4",
"VEXTRACTPS", "VEXTRACTPS",
"VFIXUPIMMPD",
"VFIXUPIMMPS",
"VFIXUPIMMSD",
"VFIXUPIMMSS",
"VFMADD132PD", "VFMADD132PD",
"VFMADD132PS", "VFMADD132PS",
"VFMADD132SD", "VFMADD132SD",
...@@ -965,16 +1100,53 @@ var Anames = []string{ ...@@ -965,16 +1100,53 @@ var Anames = []string{
"VFNMSUB231PS", "VFNMSUB231PS",
"VFNMSUB231SD", "VFNMSUB231SD",
"VFNMSUB231SS", "VFNMSUB231SS",
"VFPCLASSPD",
"VFPCLASSPDX",
"VFPCLASSPDY",
"VFPCLASSPDZ",
"VFPCLASSPS",
"VFPCLASSPSX",
"VFPCLASSPSY",
"VFPCLASSPSZ",
"VFPCLASSSD",
"VFPCLASSSS",
"VGATHERDPD", "VGATHERDPD",
"VGATHERDPS", "VGATHERDPS",
"VGATHERPF0DPD",
"VGATHERPF0DPS",
"VGATHERPF0QPD",
"VGATHERPF0QPS",
"VGATHERPF1DPD",
"VGATHERPF1DPS",
"VGATHERPF1QPD",
"VGATHERPF1QPS",
"VGATHERQPD", "VGATHERQPD",
"VGATHERQPS", "VGATHERQPS",
"VGETEXPPD",
"VGETEXPPS",
"VGETEXPSD",
"VGETEXPSS",
"VGETMANTPD",
"VGETMANTPS",
"VGETMANTSD",
"VGETMANTSS",
"VGF2P8AFFINEINVQB",
"VGF2P8AFFINEQB",
"VGF2P8MULB",
"VHADDPD", "VHADDPD",
"VHADDPS", "VHADDPS",
"VHSUBPD", "VHSUBPD",
"VHSUBPS", "VHSUBPS",
"VINSERTF128", "VINSERTF128",
"VINSERTF32X4",
"VINSERTF32X8",
"VINSERTF64X2",
"VINSERTF64X4",
"VINSERTI128", "VINSERTI128",
"VINSERTI32X4",
"VINSERTI32X8",
"VINSERTI64X2",
"VINSERTI64X4",
"VINSERTPS", "VINSERTPS",
"VLDDQU", "VLDDQU",
"VLDMXCSR", "VLDMXCSR",
...@@ -994,7 +1166,13 @@ var Anames = []string{ ...@@ -994,7 +1166,13 @@ var Anames = []string{
"VMOVD", "VMOVD",
"VMOVDDUP", "VMOVDDUP",
"VMOVDQA", "VMOVDQA",
"VMOVDQA32",
"VMOVDQA64",
"VMOVDQU", "VMOVDQU",
"VMOVDQU16",
"VMOVDQU32",
"VMOVDQU64",
"VMOVDQU8",
"VMOVHLPS", "VMOVHLPS",
"VMOVHPD", "VMOVHPD",
"VMOVHPS", "VMOVHPS",
...@@ -1021,8 +1199,11 @@ var Anames = []string{ ...@@ -1021,8 +1199,11 @@ var Anames = []string{
"VMULSS", "VMULSS",
"VORPD", "VORPD",
"VORPS", "VORPS",
"VP4DPWSSD",
"VP4DPWSSDS",
"VPABSB", "VPABSB",
"VPABSD", "VPABSD",
"VPABSQ",
"VPABSW", "VPABSW",
"VPACKSSDW", "VPACKSSDW",
"VPACKSSWB", "VPACKSSWB",
...@@ -1038,17 +1219,29 @@ var Anames = []string{ ...@@ -1038,17 +1219,29 @@ var Anames = []string{
"VPADDW", "VPADDW",
"VPALIGNR", "VPALIGNR",
"VPAND", "VPAND",
"VPANDD",
"VPANDN", "VPANDN",
"VPANDND",
"VPANDNQ",
"VPANDQ",
"VPAVGB", "VPAVGB",
"VPAVGW", "VPAVGW",
"VPBLENDD", "VPBLENDD",
"VPBLENDMB",
"VPBLENDMD",
"VPBLENDMQ",
"VPBLENDMW",
"VPBLENDVB", "VPBLENDVB",
"VPBLENDW", "VPBLENDW",
"VPBROADCASTB", "VPBROADCASTB",
"VPBROADCASTD", "VPBROADCASTD",
"VPBROADCASTMB2Q",
"VPBROADCASTMW2D",
"VPBROADCASTQ", "VPBROADCASTQ",
"VPBROADCASTW", "VPBROADCASTW",
"VPCLMULQDQ", "VPCLMULQDQ",
"VPCMPB",
"VPCMPD",
"VPCMPEQB", "VPCMPEQB",
"VPCMPEQD", "VPCMPEQD",
"VPCMPEQQ", "VPCMPEQQ",
...@@ -1061,14 +1254,48 @@ var Anames = []string{ ...@@ -1061,14 +1254,48 @@ var Anames = []string{
"VPCMPGTW", "VPCMPGTW",
"VPCMPISTRI", "VPCMPISTRI",
"VPCMPISTRM", "VPCMPISTRM",
"VPCMPQ",
"VPCMPUB",
"VPCMPUD",
"VPCMPUQ",
"VPCMPUW",
"VPCMPW",
"VPCOMPRESSB",
"VPCOMPRESSD",
"VPCOMPRESSQ",
"VPCOMPRESSW",
"VPCONFLICTD",
"VPCONFLICTQ",
"VPDPBUSD",
"VPDPBUSDS",
"VPDPWSSD",
"VPDPWSSDS",
"VPERM2F128", "VPERM2F128",
"VPERM2I128", "VPERM2I128",
"VPERMB",
"VPERMD", "VPERMD",
"VPERMI2B",
"VPERMI2D",
"VPERMI2PD",
"VPERMI2PS",
"VPERMI2Q",
"VPERMI2W",
"VPERMILPD", "VPERMILPD",
"VPERMILPS", "VPERMILPS",
"VPERMPD", "VPERMPD",
"VPERMPS", "VPERMPS",
"VPERMQ", "VPERMQ",
"VPERMT2B",
"VPERMT2D",
"VPERMT2PD",
"VPERMT2PS",
"VPERMT2Q",
"VPERMT2W",
"VPERMW",
"VPEXPANDB",
"VPEXPANDD",
"VPEXPANDQ",
"VPEXPANDW",
"VPEXTRB", "VPEXTRB",
"VPEXTRD", "VPEXTRD",
"VPEXTRQ", "VPEXTRQ",
...@@ -1088,29 +1315,63 @@ var Anames = []string{ ...@@ -1088,29 +1315,63 @@ var Anames = []string{
"VPINSRD", "VPINSRD",
"VPINSRQ", "VPINSRQ",
"VPINSRW", "VPINSRW",
"VPLZCNTD",
"VPLZCNTQ",
"VPMADD52HUQ",
"VPMADD52LUQ",
"VPMADDUBSW", "VPMADDUBSW",
"VPMADDWD", "VPMADDWD",
"VPMASKMOVD", "VPMASKMOVD",
"VPMASKMOVQ", "VPMASKMOVQ",
"VPMAXSB", "VPMAXSB",
"VPMAXSD", "VPMAXSD",
"VPMAXSQ",
"VPMAXSW", "VPMAXSW",
"VPMAXUB", "VPMAXUB",
"VPMAXUD", "VPMAXUD",
"VPMAXUQ",
"VPMAXUW", "VPMAXUW",
"VPMINSB", "VPMINSB",
"VPMINSD", "VPMINSD",
"VPMINSQ",
"VPMINSW", "VPMINSW",
"VPMINUB", "VPMINUB",
"VPMINUD", "VPMINUD",
"VPMINUQ",
"VPMINUW", "VPMINUW",
"VPMOVB2M",
"VPMOVD2M",
"VPMOVDB",
"VPMOVDW",
"VPMOVM2B",
"VPMOVM2D",
"VPMOVM2Q",
"VPMOVM2W",
"VPMOVMSKB", "VPMOVMSKB",
"VPMOVQ2M",
"VPMOVQB",
"VPMOVQD",
"VPMOVQW",
"VPMOVSDB",
"VPMOVSDW",
"VPMOVSQB",
"VPMOVSQD",
"VPMOVSQW",
"VPMOVSWB",
"VPMOVSXBD", "VPMOVSXBD",
"VPMOVSXBQ", "VPMOVSXBQ",
"VPMOVSXBW", "VPMOVSXBW",
"VPMOVSXDQ", "VPMOVSXDQ",
"VPMOVSXWD", "VPMOVSXWD",
"VPMOVSXWQ", "VPMOVSXWQ",
"VPMOVUSDB",
"VPMOVUSDW",
"VPMOVUSQB",
"VPMOVUSQD",
"VPMOVUSQW",
"VPMOVUSWB",
"VPMOVW2M",
"VPMOVWB",
"VPMOVZXBD", "VPMOVZXBD",
"VPMOVZXBQ", "VPMOVZXBQ",
"VPMOVZXBW", "VPMOVZXBW",
...@@ -1122,11 +1383,44 @@ var Anames = []string{ ...@@ -1122,11 +1383,44 @@ var Anames = []string{
"VPMULHUW", "VPMULHUW",
"VPMULHW", "VPMULHW",
"VPMULLD", "VPMULLD",
"VPMULLQ",
"VPMULLW", "VPMULLW",
"VPMULTISHIFTQB",
"VPMULUDQ", "VPMULUDQ",
"VPOPCNTB",
"VPOPCNTD",
"VPOPCNTQ",
"VPOPCNTW",
"VPOR", "VPOR",
"VPORD",
"VPORQ",
"VPROLD",
"VPROLQ",
"VPROLVD",
"VPROLVQ",
"VPRORD",
"VPRORQ",
"VPRORVD",
"VPRORVQ",
"VPSADBW", "VPSADBW",
"VPSCATTERDD",
"VPSCATTERDQ",
"VPSCATTERQD",
"VPSCATTERQQ",
"VPSHLDD",
"VPSHLDQ",
"VPSHLDVD",
"VPSHLDVQ",
"VPSHLDVW",
"VPSHLDW",
"VPSHRDD",
"VPSHRDQ",
"VPSHRDVD",
"VPSHRDVQ",
"VPSHRDVW",
"VPSHRDW",
"VPSHUFB", "VPSHUFB",
"VPSHUFBITQMB",
"VPSHUFD", "VPSHUFD",
"VPSHUFHW", "VPSHUFHW",
"VPSHUFLW", "VPSHUFLW",
...@@ -1138,15 +1432,20 @@ var Anames = []string{ ...@@ -1138,15 +1432,20 @@ var Anames = []string{
"VPSLLQ", "VPSLLQ",
"VPSLLVD", "VPSLLVD",
"VPSLLVQ", "VPSLLVQ",
"VPSLLVW",
"VPSLLW", "VPSLLW",
"VPSRAD", "VPSRAD",
"VPSRAQ",
"VPSRAVD", "VPSRAVD",
"VPSRAVQ",
"VPSRAVW",
"VPSRAW", "VPSRAW",
"VPSRLD", "VPSRLD",
"VPSRLDQ", "VPSRLDQ",
"VPSRLQ", "VPSRLQ",
"VPSRLVD", "VPSRLVD",
"VPSRLVQ", "VPSRLVQ",
"VPSRLVW",
"VPSRLW", "VPSRLW",
"VPSUBB", "VPSUBB",
"VPSUBD", "VPSUBD",
...@@ -1156,7 +1455,17 @@ var Anames = []string{ ...@@ -1156,7 +1455,17 @@ var Anames = []string{
"VPSUBUSB", "VPSUBUSB",
"VPSUBUSW", "VPSUBUSW",
"VPSUBW", "VPSUBW",
"VPTERNLOGD",
"VPTERNLOGQ",
"VPTEST", "VPTEST",
"VPTESTMB",
"VPTESTMD",
"VPTESTMQ",
"VPTESTMW",
"VPTESTNMB",
"VPTESTNMD",
"VPTESTNMQ",
"VPTESTNMW",
"VPUNPCKHBW", "VPUNPCKHBW",
"VPUNPCKHDQ", "VPUNPCKHDQ",
"VPUNPCKHQDQ", "VPUNPCKHQDQ",
...@@ -1166,14 +1475,64 @@ var Anames = []string{ ...@@ -1166,14 +1475,64 @@ var Anames = []string{
"VPUNPCKLQDQ", "VPUNPCKLQDQ",
"VPUNPCKLWD", "VPUNPCKLWD",
"VPXOR", "VPXOR",
"VPXORD",
"VPXORQ",
"VRANGEPD",
"VRANGEPS",
"VRANGESD",
"VRANGESS",
"VRCP14PD",
"VRCP14PS",
"VRCP14SD",
"VRCP14SS",
"VRCP28PD",
"VRCP28PS",
"VRCP28SD",
"VRCP28SS",
"VRCPPS", "VRCPPS",
"VRCPSS", "VRCPSS",
"VREDUCEPD",
"VREDUCEPS",
"VREDUCESD",
"VREDUCESS",
"VRNDSCALEPD",
"VRNDSCALEPS",
"VRNDSCALESD",
"VRNDSCALESS",
"VROUNDPD", "VROUNDPD",
"VROUNDPS", "VROUNDPS",
"VROUNDSD", "VROUNDSD",
"VROUNDSS", "VROUNDSS",
"VRSQRT14PD",
"VRSQRT14PS",
"VRSQRT14SD",
"VRSQRT14SS",
"VRSQRT28PD",
"VRSQRT28PS",
"VRSQRT28SD",
"VRSQRT28SS",
"VRSQRTPS", "VRSQRTPS",
"VRSQRTSS", "VRSQRTSS",
"VSCALEFPD",
"VSCALEFPS",
"VSCALEFSD",
"VSCALEFSS",
"VSCATTERDPD",
"VSCATTERDPS",
"VSCATTERPF0DPD",
"VSCATTERPF0DPS",
"VSCATTERPF0QPD",
"VSCATTERPF0QPS",
"VSCATTERPF1DPD",
"VSCATTERPF1DPS",
"VSCATTERPF1QPD",
"VSCATTERPF1QPS",
"VSCATTERQPD",
"VSCATTERQPS",
"VSHUFF32X4",
"VSHUFF64X2",
"VSHUFI32X4",
"VSHUFI64X2",
"VSHUFPD", "VSHUFPD",
"VSHUFPS", "VSHUFPS",
"VSQRTPD", "VSQRTPD",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package x86
import (
"cmd/internal/obj"
"testing"
)
func init() {
// Required for tests that access any of
// opindex/ycover/reg/regrex global tables.
var ctxt obj.Link
instinit(&ctxt)
}
func TestRegisterListEncDec(t *testing.T) {
tests := []struct {
printed string
reg0 int16
reg1 int16
}{
{"[R10-R13]", REG_R10, REG_R13},
{"[X0-AX]", REG_X0, REG_AX},
{"[X0-X3]", REG_X0, REG_X3},
{"[X21-X24]", REG_X21, REG_X24},
{"[Y0-Y3]", REG_Y0, REG_Y3},
{"[Y21-Y24]", REG_Y21, REG_Y24},
{"[Z0-Z3]", REG_Z0, REG_Z3},
{"[Z21-Z24]", REG_Z21, REG_Z24},
}
for _, test := range tests {
enc := EncodeRegisterRange(test.reg0, test.reg1)
reg0, reg1 := decodeRegisterRange(enc)
if int16(reg0) != test.reg0 {
t.Errorf("%s reg0 mismatch: have %d, want %d",
test.printed, reg0, test.reg0)
}
if int16(reg1) != test.reg1 {
t.Errorf("%s reg1 mismatch: have %d, want %d",
test.printed, reg1, test.reg1)
}
wantPrinted := test.printed
if rlconv(enc) != wantPrinted {
t.Errorf("%s string mismatch: have %s, want %s",
test.printed, rlconv(enc), wantPrinted)
}
}
}
func TestRegIndex(t *testing.T) {
tests := []struct {
regFrom int
regTo int
}{
{REG_AL, REG_R15B},
{REG_AX, REG_R15},
{REG_M0, REG_M7},
{REG_K0, REG_K7},
{REG_X0, REG_X31},
{REG_Y0, REG_Y31},
{REG_Z0, REG_Z31},
}
for _, test := range tests {
for index, reg := 0, test.regFrom; reg <= test.regTo; index, reg = index+1, reg+1 {
have := regIndex(int16(reg))
want := index
if have != want {
regName := rconv(int(reg))
t.Errorf("regIndex(%s):\nhave: %d\nwant: %d",
regName, have, want)
}
}
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package x86
import (
"cmd/internal/obj"
"errors"
"fmt"
"strings"
)
// evexBits stores EVEX prefix info that is used during instruction encoding.
type evexBits struct {
b1 byte // [W1mmLLpp]
b2 byte // [NNNbbZRS]
// Associated instruction opcode.
opcode byte
}
// newEVEXBits creates evexBits object from enc bytes at z position.
func newEVEXBits(z int, enc *opBytes) evexBits {
return evexBits{
b1: enc[z+0],
b2: enc[z+1],
opcode: enc[z+2],
}
}
// P returns EVEX.pp value.
func (evex evexBits) P() byte { return (evex.b1 & evexP) >> 0 }
// L returns EVEX.L'L value.
func (evex evexBits) L() byte { return (evex.b1 & evexL) >> 2 }
// M returns EVEX.mm value.
func (evex evexBits) M() byte { return (evex.b1 & evexM) >> 4 }
// W returns EVEX.W value.
func (evex evexBits) W() byte { return (evex.b1 & evexW) >> 7 }
// BroadcastEnabled reports whether BCST suffix is permitted.
func (evex evexBits) BroadcastEnabled() bool {
return evex.b2&evexBcst != 0
}
// ZeroingEnabled reports whether Z suffix is permitted.
func (evex evexBits) ZeroingEnabled() bool {
return (evex.b2&evexZeroing)>>2 != 0
}
// RoundingEnabled reports whether RN_SAE, RZ_SAE, RD_SAE and RU_SAE suffixes
// are permitted.
func (evex evexBits) RoundingEnabled() bool {
return (evex.b2&evexRounding)>>1 != 0
}
// SaeEnabled reports whether SAE suffix is permitted.
func (evex evexBits) SaeEnabled() bool {
return (evex.b2&evexSae)>>0 != 0
}
// DispMultiplier returns displacement multiplier that is calculated
// based on tuple type, EVEX.W and input size.
// If embedded broadcast is used, bcst should be true.
func (evex evexBits) DispMultiplier(bcst bool) int32 {
if bcst {
switch evex.b2 & evexBcst {
case evexBcstN4:
return 4
case evexBcstN8:
return 8
}
return 1
}
switch evex.b2 & evexN {
case evexN1:
return 1
case evexN2:
return 2
case evexN4:
return 4
case evexN8:
return 8
case evexN16:
return 16
case evexN32:
return 32
case evexN64:
return 64
case evexN128:
return 128
}
return 1
}
// EVEX is described by using 2-byte sequence.
// See evexBits for more details.
const (
evexW = 0x80 // b1[W... ....]
evexWIG = 0 << 7
evexW0 = 0 << 7
evexW1 = 1 << 7
evexM = 0x30 // b2[..mm ...]
evex0F = 1 << 4
evex0F38 = 2 << 4
evex0F3A = 3 << 4
evexL = 0x0C // b1[.... LL..]
evexLIG = 0 << 2
evex128 = 0 << 2
evex256 = 1 << 2
evex512 = 2 << 2
evexP = 0x03 // b1[.... ..pp]
evex66 = 1 << 0
evexF3 = 2 << 0
evexF2 = 3 << 0
// Precalculated Disp8 N value.
// N acts like a multiplier for 8bit displacement.
// Note that some N are not used, but their bits are reserved.
evexN = 0xE0 // b2[NNN. ....]
evexN1 = 0 << 5
evexN2 = 1 << 5
evexN4 = 2 << 5
evexN8 = 3 << 5
evexN16 = 4 << 5
evexN32 = 5 << 5
evexN64 = 6 << 5
evexN128 = 7 << 5
// Disp8 for broadcasts.
evexBcst = 0x18 // b2[...b b...]
evexBcstN4 = 1 << 3
evexBcstN8 = 2 << 3
// Flags that permit certain AVX512 features.
// It's semantically illegal to combine evexZeroing and evexSae.
evexZeroing = 0x4 // b2[.... .Z..]
evexZeroingEnabled = 1 << 2
evexRounding = 0x2 // b2[.... ..R.]
evexRoundingEnabled = 1 << 1
evexSae = 0x1 // b2[.... ...S]
evexSaeEnabled = 1 << 0
)
// compressedDisp8 calculates EVEX compressed displacement, if applicable.
func compressedDisp8(disp, elemSize int32) (disp8 byte, ok bool) {
if disp%elemSize == 0 {
v := disp / elemSize
if v >= -128 && v <= 127 {
return byte(v), true
}
}
return 0, false
}
// evexZcase reports whether given Z-case belongs to EVEX group.
func evexZcase(zcase uint8) bool {
return zcase > Zevex_first && zcase < Zevex_last
}
// evexSuffixBits carries instruction EVEX suffix set flags.
//
// Examples:
// "RU_SAE.Z" => {rounding: 3, zeroing: true}
// "Z" => {zeroing: true}
// "BCST" => {broadcast: true}
// "SAE.Z" => {sae: true, zeroing: true}
type evexSuffix struct {
rounding byte
sae bool
zeroing bool
broadcast bool
}
// Rounding control values.
// Match exact value for EVEX.L'L field (with exception of rcUnset).
const (
rcRNSAE = 0 // Round towards nearest
rcRDSAE = 1 // Round towards -Inf
rcRUSAE = 2 // Round towards +Inf
rcRZSAE = 3 // Round towards zero
rcUnset = 4
)
// newEVEXSuffix returns proper zero value for evexSuffix.
func newEVEXSuffix() evexSuffix {
return evexSuffix{rounding: rcUnset}
}
// evexSuffixMap maps obj.X86suffix to it's decoded version.
// Filled during init().
var evexSuffixMap [255]evexSuffix
func init() {
// Decode all valid suffixes for later use.
for i := range opSuffixTable {
suffix := newEVEXSuffix()
parts := strings.Split(opSuffixTable[i], ".")
for j := range parts {
switch parts[j] {
case "Z":
suffix.zeroing = true
case "BCST":
suffix.broadcast = true
case "SAE":
suffix.sae = true
case "RN_SAE":
suffix.rounding = rcRNSAE
case "RD_SAE":
suffix.rounding = rcRDSAE
case "RU_SAE":
suffix.rounding = rcRUSAE
case "RZ_SAE":
suffix.rounding = rcRZSAE
}
}
evexSuffixMap[i] = suffix
}
}
// toDisp8 tries to convert disp to proper 8-bit displacement value.
func toDisp8(disp int32, p *obj.Prog, asmbuf *AsmBuf) (disp8 byte, ok bool) {
if asmbuf.evexflag {
bcst := evexSuffixMap[p.Scond].broadcast
elemSize := asmbuf.evex.DispMultiplier(bcst)
return compressedDisp8(disp, elemSize)
}
return byte(disp), disp >= -128 && disp < 128
}
// EncodeRegisterRange packs [reg0-reg1] list into 64-bit value that
// is intended to be stored inside obj.Addr.Offset with TYPE_REGLIST.
func EncodeRegisterRange(reg0, reg1 int16) int64 {
return (int64(reg0) << 0) |
(int64(reg1) << 16) |
obj.RegListX86Lo
}
// decodeRegisterRange unpacks [reg0-reg1] list from 64-bit value created by EncodeRegisterRange.
func decodeRegisterRange(list int64) (reg0, reg1 int) {
return int((list >> 0) & 0xFFFF),
int((list >> 16) & 0xFFFF)
}
// ParseSuffix handles the special suffix for the 386/AMD64.
// Suffix bits are stored into p.Scond.
//
// Leading "." in cond is ignored.
func ParseSuffix(p *obj.Prog, cond string) error {
cond = strings.TrimPrefix(cond, ".")
suffix := newOpSuffix(cond)
if !suffix.IsValid() {
return inferSuffixError(cond)
}
p.Scond = uint8(suffix)
return nil
}
// inferSuffixError returns non-nil error that describes what could be
// the cause of suffix parse failure.
//
// At the point this function is executed there is already assembly error,
// so we can burn some clocks to construct good error message.
//
// Reported issues:
// - duplicated suffixes
// - illegal rounding/SAE+broadcast combinations
// - unknown suffixes
// - misplaced suffix (e.g. wrong Z suffix position)
func inferSuffixError(cond string) error {
suffixSet := make(map[string]bool) // Set for duplicates detection.
unknownSet := make(map[string]bool) // Set of unknown suffixes.
hasBcst := false
hasRoundSae := false
var msg []string // Error message parts
suffixes := strings.Split(cond, ".")
for i, suffix := range suffixes {
switch suffix {
case "Z":
if i != len(suffixes)-1 {
msg = append(msg, "Z suffix should be the last")
}
case "BCST":
hasBcst = true
case "SAE", "RN_SAE", "RZ_SAE", "RD_SAE", "RU_SAE":
hasRoundSae = true
default:
if !unknownSet[suffix] {
msg = append(msg, fmt.Sprintf("unknown suffix %q", suffix))
}
unknownSet[suffix] = true
}
if suffixSet[suffix] {
msg = append(msg, fmt.Sprintf("duplicate suffix %q", suffix))
}
suffixSet[suffix] = true
}
if hasBcst && hasRoundSae {
msg = append(msg, "can't combine rounding/SAE and broadcast")
}
if len(msg) == 0 {
return errors.New("bad suffix combination")
}
return errors.New(strings.Join(msg, "; "))
}
// opSuffixTable is a complete list of possible opcode suffix combinations.
// It "maps" uint8 suffix bits to their string representation.
// With the exception of first and last elements, order is not important.
var opSuffixTable = [...]string{
"", // Map empty suffix to empty string.
"Z",
"SAE",
"SAE.Z",
"RN_SAE",
"RZ_SAE",
"RD_SAE",
"RU_SAE",
"RN_SAE.Z",
"RZ_SAE.Z",
"RD_SAE.Z",
"RU_SAE.Z",
"BCST",
"BCST.Z",
"<bad suffix>",
}
// opSuffix represents instruction opcode suffix.
// Compound (multi-part) suffixes expressed with single opSuffix value.
//
// uint8 type is used to fit obj.Prog.Scond.
type opSuffix uint8
// badOpSuffix is used to represent all invalid suffix combinations.
const badOpSuffix = opSuffix(len(opSuffixTable) - 1)
// newOpSuffix returns opSuffix object that matches suffixes string.
//
// If no matching suffix is found, special "invalid" suffix is returned.
// Use IsValid method to check against this case.
func newOpSuffix(suffixes string) opSuffix {
for i := range opSuffixTable {
if opSuffixTable[i] == suffixes {
return opSuffix(i)
}
}
return badOpSuffix
}
// IsValid reports whether suffix is valid.
// Empty suffixes are valid.
func (suffix opSuffix) IsValid() bool {
return suffix != badOpSuffix
}
// String returns suffix printed representation.
//
// It matches the string that was used to create suffix with NewX86Suffix()
// for valid suffixes.
// For all invalid suffixes, special marker is returned.
func (suffix opSuffix) String() string {
return opSuffixTable[suffix]
}
...@@ -88,6 +88,14 @@ var Register = []string{ ...@@ -88,6 +88,14 @@ var Register = []string{
"M5", "M5",
"M6", "M6",
"M7", "M7",
"K0",
"K1",
"K2",
"K3",
"K4",
"K5",
"K6",
"K7",
"X0", "X0",
"X1", "X1",
"X2", "X2",
...@@ -104,6 +112,22 @@ var Register = []string{ ...@@ -104,6 +112,22 @@ var Register = []string{
"X13", "X13",
"X14", "X14",
"X15", "X15",
"X16",
"X17",
"X18",
"X19",
"X20",
"X21",
"X22",
"X23",
"X24",
"X25",
"X26",
"X27",
"X28",
"X29",
"X30",
"X31",
"Y0", "Y0",
"Y1", "Y1",
"Y2", "Y2",
...@@ -120,6 +144,54 @@ var Register = []string{ ...@@ -120,6 +144,54 @@ var Register = []string{
"Y13", "Y13",
"Y14", "Y14",
"Y15", "Y15",
"Y16",
"Y17",
"Y18",
"Y19",
"Y20",
"Y21",
"Y22",
"Y23",
"Y24",
"Y25",
"Y26",
"Y27",
"Y28",
"Y29",
"Y30",
"Y31",
"Z0",
"Z1",
"Z2",
"Z3",
"Z4",
"Z5",
"Z6",
"Z7",
"Z8",
"Z9",
"Z10",
"Z11",
"Z12",
"Z13",
"Z14",
"Z15",
"Z16",
"Z17",
"Z18",
"Z19",
"Z20",
"Z21",
"Z22",
"Z23",
"Z24",
"Z25",
"Z26",
"Z27",
"Z28",
"Z29",
"Z30",
"Z31",
"CS", // [D_CS] "CS", // [D_CS]
"SS", "SS",
"DS", "DS",
...@@ -170,6 +242,9 @@ var Register = []string{ ...@@ -170,6 +242,9 @@ var Register = []string{
func init() { func init() {
obj.RegisterRegister(REG_AL, REG_AL+len(Register), rconv) obj.RegisterRegister(REG_AL, REG_AL+len(Register), rconv)
obj.RegisterOpcode(obj.ABaseAMD64, Anames) obj.RegisterOpcode(obj.ABaseAMD64, Anames)
obj.RegisterRegisterList(obj.RegListX86Lo, obj.RegListX86Hi, rlconv)
obj.RegisterOpSuffix("386", opSuffixString)
obj.RegisterOpSuffix("amd64", opSuffixString)
} }
func rconv(r int) string { func rconv(r int) string {
...@@ -178,3 +253,12 @@ func rconv(r int) string { ...@@ -178,3 +253,12 @@ func rconv(r int) string {
} }
return fmt.Sprintf("Rgok(%d)", r-obj.RBaseAMD64) return fmt.Sprintf("Rgok(%d)", r-obj.RBaseAMD64)
} }
func rlconv(bits int64) string {
reg0, reg1 := decodeRegisterRange(bits)
return fmt.Sprintf("[%s-%s]", rconv(reg0), rconv(reg1))
}
func opSuffixString(s uint8) string {
return "." + opSuffix(s).String()
}
// Code generated by x86avxgen. DO NOT EDIT.
package x86
var vexOptab = [...]Optab{
{AANDNL, yvex_r3, Pvex, [23]uint8{vexNDS | vexLZ | vex0F38 | vexW0, 0xF2}},
{AANDNQ, yvex_r3, Pvex, [23]uint8{vexNDS | vexLZ | vex0F38 | vexW1, 0xF2}},
{ABEXTRL, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vex0F38 | vexW0, 0xF7}},
{ABEXTRQ, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vex0F38 | vexW1, 0xF7}},
{ABLSIL, yvex_r2, Pvex, [23]uint8{vexNDD | vexLZ | vex0F38 | vexW0, 0xF3, 03}},
{ABLSIQ, yvex_r2, Pvex, [23]uint8{vexNDD | vexLZ | vex0F38 | vexW1, 0xF3, 03}},
{ABLSMSKL, yvex_r2, Pvex, [23]uint8{vexNDD | vexLZ | vex0F38 | vexW0, 0xF3, 02}},
{ABLSMSKQ, yvex_r2, Pvex, [23]uint8{vexNDD | vexLZ | vex0F38 | vexW1, 0xF3, 02}},
{ABLSRL, yvex_r2, Pvex, [23]uint8{vexNDD | vexLZ | vex0F38 | vexW0, 0xF3, 01}},
{ABLSRQ, yvex_r2, Pvex, [23]uint8{vexNDD | vexLZ | vex0F38 | vexW1, 0xF3, 01}},
{ABZHIL, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vex0F38 | vexW0, 0xF5}},
{ABZHIQ, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vex0F38 | vexW1, 0xF5}},
{AMULXL, yvex_r3, Pvex, [23]uint8{vexNDD | vexLZ | vexF2 | vex0F38 | vexW0, 0xF6}},
{AMULXQ, yvex_r3, Pvex, [23]uint8{vexNDD | vexLZ | vexF2 | vex0F38 | vexW1, 0xF6}},
{APDEPL, yvex_r3, Pvex, [23]uint8{vexNDS | vexLZ | vexF2 | vex0F38 | vexW0, 0xF5}},
{APDEPQ, yvex_r3, Pvex, [23]uint8{vexNDS | vexLZ | vexF2 | vex0F38 | vexW1, 0xF5}},
{APEXTL, yvex_r3, Pvex, [23]uint8{vexNDS | vexLZ | vexF3 | vex0F38 | vexW0, 0xF5}},
{APEXTQ, yvex_r3, Pvex, [23]uint8{vexNDS | vexLZ | vexF3 | vex0F38 | vexW1, 0xF5}},
{ARORXL, yvex_ri3, Pvex, [23]uint8{vexNOVSR | vexLZ | vexF2 | vex0F3A | vexW0, 0xF0}},
{ARORXQ, yvex_ri3, Pvex, [23]uint8{vexNOVSR | vexLZ | vexF2 | vex0F3A | vexW1, 0xF0}},
{ASARXL, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vexF3 | vex0F38 | vexW0, 0xF7}},
{ASARXQ, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vexF3 | vex0F38 | vexW1, 0xF7}},
{ASHLXL, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vex66 | vex0F38 | vexW0, 0xF7}},
{ASHLXQ, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vex66 | vex0F38 | vexW1, 0xF7}},
{ASHRXL, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vexF2 | vex0F38 | vexW0, 0xF7}},
{ASHRXQ, yvex_vmr3, Pvex, [23]uint8{vexNDS | vexLZ | vexF2 | vex0F38 | vexW1, 0xF7}},
{AVADDPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x58, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x58}},
{AVADDPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x58, vexNDS | vex256 | vex0F | vexWIG, 0x58}},
{AVADDSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x58}},
{AVADDSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x58}},
{AVADDSUBPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD0}},
{AVADDSUBPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vexF2 | vex0F | vexWIG, 0xD0, vexNDS | vex256 | vexF2 | vex0F | vexWIG, 0xD0}},
{AVAESDEC, yvex_x3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0xDE}},
{AVAESDECLAST, yvex_x3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0xDF}},
{AVAESENC, yvex_x3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0xDC}},
{AVAESENCLAST, yvex_x3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0xDD}},
{AVAESIMC, yvex_x2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0xDB}},
{AVAESKEYGENASSIST, yvex_xi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0xDF}},
{AVANDNPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x55, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x55}},
{AVANDNPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x55, vexNDS | vex256 | vex0F | vexWIG, 0x55}},
{AVANDPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x54, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x54}},
{AVANDPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x54, vexNDS | vex256 | vex0F | vexWIG, 0x54}},
{AVBLENDPD, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x0D, vexNDS | vex256 | vex66 | vex0F3A | vexWIG, 0x0D}},
{AVBLENDPS, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x0C, vexNDS | vex256 | vex66 | vex0F3A | vexWIG, 0x0C}},
{AVBLENDVPD, yvex_xy4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW0, 0x4B, vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x4B}},
{AVBLENDVPS, yvex_xy4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW0, 0x4A, vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x4A}},
{AVBROADCASTF128, yvex_vbroadcastf, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x1A}},
{AVBROADCASTI128, yvex_vbroadcastf, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x5A}},
{AVBROADCASTSD, yvex_vpbroadcast_sd, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x19, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x19}},
{AVBROADCASTSS, yvex_vpbroadcast_ss, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x18, vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x18, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x18, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x18}},
{AVCMPPD, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xC2, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xC2}},
{AVCMPPS, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0xC2, vexNDS | vex256 | vex0F | vexWIG, 0xC2}},
{AVCMPSD, yvex_xxi4, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0xC2}},
{AVCMPSS, yvex_xxi4, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0xC2}},
{AVCOMISD, yvex_x2, Pvex, [23]uint8{vexNOVSR | vexLIG | vex66 | vex0F | vexWIG, 0x2F}},
{AVCOMISS, yvex_x2, Pvex, [23]uint8{vexNOVSR | vexLIG | vex0F | vexWIG, 0x2F}},
{AVCVTDQ2PD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0xE6, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0xE6}},
{AVCVTDQ2PS, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x5B, vexNOVSR | vex256 | vex0F | vexWIG, 0x5B}},
{AVCVTPD2DQX, yvex_x2, Pvex, [23]uint8{vexNOVSR | vex128 | vexF2 | vex0F | vexWIG, 0xE6}},
{AVCVTPD2DQY, yvex_y2, Pvex, [23]uint8{vexNOVSR | vex256 | vexF2 | vex0F | vexWIG, 0xE6}},
{AVCVTPD2PSX, yvex_x2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x5A}},
{AVCVTPD2PSY, yvex_y2, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x5A}},
{AVCVTPH2PS, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x13, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x13}},
{AVCVTPS2DQ, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x5B, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x5B}},
{AVCVTPS2PD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x5A, vexNOVSR | vex256 | vex0F | vexWIG, 0x5A}},
{AVCVTPS2PH, yvex_vcvtps2ph, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F3A | vexW0, 0x1D, vexNOVSR | vex128 | vex66 | vex0F3A | vexW0, 0x1D}},
{AVCVTSD2SI, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF2 | vex0F | vexW0, 0x2D}},
{AVCVTSD2SIQ, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF2 | vex0F | vexW1, 0x2D}},
{AVCVTSD2SS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x5A}},
{AVCVTSI2SDL, yvex_rx3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexW0, 0x2A}},
{AVCVTSI2SDQ, yvex_rx3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexW1, 0x2A}},
{AVCVTSI2SSL, yvex_rx3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexW0, 0x2A}},
{AVCVTSI2SSQ, yvex_rx3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexW1, 0x2A}},
{AVCVTSS2SD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x5A}},
{AVCVTSS2SI, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF3 | vex0F | vexW0, 0x2D}},
{AVCVTSS2SIQ, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF3 | vex0F | vexW1, 0x2D}},
{AVCVTTPD2DQX, yvex_x2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0xE6}},
{AVCVTTPD2DQY, yvex_y2, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0xE6}},
{AVCVTTPS2DQ, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x5B, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0x5B}},
{AVCVTTSD2SI, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF2 | vex0F | vexW0, 0x2C}},
{AVCVTTSD2SIQ, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF2 | vex0F | vexW1, 0x2C}},
{AVCVTTSS2SI, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF3 | vex0F | vexW0, 0x2C}},
{AVCVTTSS2SIQ, yvex_vcvtsd2si, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF3 | vex0F | vexW1, 0x2C}},
{AVDIVPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x5E, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x5E}},
{AVDIVPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x5E, vexNDS | vex256 | vex0F | vexWIG, 0x5E}},
{AVDIVSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x5E}},
{AVDIVSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x5E}},
{AVDPPD, yvex_xxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x41}},
{AVDPPS, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x40, vexNDS | vex256 | vex66 | vex0F3A | vexWIG, 0x40}},
{AVEXTRACTF128, yvex_yi3, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F3A | vexW0, 0x19}},
{AVEXTRACTI128, yvex_yi3, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F3A | vexW0, 0x39}},
{AVEXTRACTPS, yvex_vpextr, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x17}},
{AVFMADD132PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0x98, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0x98}},
{AVFMADD132PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0x98, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0x98}},
{AVFMADD132SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0x99}},
{AVFMADD132SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0x99}},
{AVFMADD213PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xA8, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xA8}},
{AVFMADD213PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xA8, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xA8}},
{AVFMADD213SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xA9}},
{AVFMADD213SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xA9}},
{AVFMADD231PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xB8, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xB8}},
{AVFMADD231PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xB8, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xB8}},
{AVFMADD231SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xB9}},
{AVFMADD231SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xB9}},
{AVFMADDSUB132PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0x96, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0x96}},
{AVFMADDSUB132PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0x96, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0x96}},
{AVFMADDSUB213PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xA6, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xA6}},
{AVFMADDSUB213PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xA6, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xA6}},
{AVFMADDSUB231PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xB6, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xB6}},
{AVFMADDSUB231PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xB6, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xB6}},
{AVFMSUB132PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0x9A, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0x9A}},
{AVFMSUB132PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0x9A, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0x9A}},
{AVFMSUB132SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0x9B}},
{AVFMSUB132SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0x9B}},
{AVFMSUB213PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xAA, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xAA}},
{AVFMSUB213PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xAA, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xAA}},
{AVFMSUB213SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xAB}},
{AVFMSUB213SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xAB}},
{AVFMSUB231PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xBA, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xBA}},
{AVFMSUB231PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xBA, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xBA}},
{AVFMSUB231SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xBB}},
{AVFMSUB231SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xBB}},
{AVFMSUBADD132PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0x97, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0x97}},
{AVFMSUBADD132PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0x97, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0x97}},
{AVFMSUBADD213PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xA7, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xA7}},
{AVFMSUBADD213PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xA7, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xA7}},
{AVFMSUBADD231PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xB7, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xB7}},
{AVFMSUBADD231PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xB7, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xB7}},
{AVFNMADD132PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0x9C, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0x9C}},
{AVFNMADD132PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0x9C, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0x9C}},
{AVFNMADD132SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0x9D}},
{AVFNMADD132SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0x9D}},
{AVFNMADD213PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xAC, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xAC}},
{AVFNMADD213PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xAC, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xAC}},
{AVFNMADD213SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xAD}},
{AVFNMADD213SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xAD}},
{AVFNMADD231PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xBC, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xBC}},
{AVFNMADD231PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xBC, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xBC}},
{AVFNMADD231SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xBD}},
{AVFNMADD231SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xBD}},
{AVFNMSUB132PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0x9E, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0x9E}},
{AVFNMSUB132PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0x9E, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0x9E}},
{AVFNMSUB132SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0x9F}},
{AVFNMSUB132SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0x9F}},
{AVFNMSUB213PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xAE, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xAE}},
{AVFNMSUB213PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xAE, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xAE}},
{AVFNMSUB213SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xAF}},
{AVFNMSUB213SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xAF}},
{AVFNMSUB231PD, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW1, 0xBE, vexDDS | vex256 | vex66 | vex0F38 | vexW1, 0xBE}},
{AVFNMSUB231PS, yvex_xy3, Pvex, [23]uint8{vexDDS | vex128 | vex66 | vex0F38 | vexW0, 0xBE, vexDDS | vex256 | vex66 | vex0F38 | vexW0, 0xBE}},
{AVFNMSUB231SD, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW1, 0xBF}},
{AVFNMSUB231SS, yvex_x3, Pvex, [23]uint8{vexDDS | vexLIG | vex66 | vex0F38 | vexW0, 0xBF}},
{AVHADDPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x7C, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x7C}},
{AVHADDPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vexF2 | vex0F | vexWIG, 0x7C, vexNDS | vex256 | vexF2 | vex0F | vexWIG, 0x7C}},
{AVHSUBPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x7D, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x7D}},
{AVHSUBPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vexF2 | vex0F | vexWIG, 0x7D, vexNDS | vex256 | vexF2 | vex0F | vexWIG, 0x7D}},
{AVINSERTF128, yvex_xyi4, Pvex, [23]uint8{vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x18}},
{AVINSERTI128, yvex_xyi4, Pvex, [23]uint8{vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x38}},
{AVINSERTPS, yvex_xxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x21}},
{AVLDDQU, yvex_mxy, Pvex, [23]uint8{vexNOVSR | vex128 | vexF2 | vex0F | vexWIG, 0xF0, vexNOVSR | vex256 | vexF2 | vex0F | vexWIG, 0xF0}},
{AVLDMXCSR, yvex_m, Pvex, [23]uint8{vexNOVSR | vexLZ | vex0F | vexWIG, 0xAE, 02}},
{AVMASKMOVDQU, yvex_xx2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0xF7}},
{AVMASKMOVPD, yvex_vblendvpd, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x2F, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x2F, vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x2D, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x2D}},
{AVMASKMOVPS, yvex_vblendvpd, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x2E, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x2E, vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x2C, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x2C}},
{AVMAXPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x5F, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x5F}},
{AVMAXPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x5F, vexNDS | vex256 | vex0F | vexWIG, 0x5F}},
{AVMAXSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x5F}},
{AVMAXSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x5F}},
{AVMINPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x5D, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x5D}},
{AVMINPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x5D, vexNDS | vex256 | vex0F | vexWIG, 0x5D}},
{AVMINSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x5D}},
{AVMINSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x5D}},
{AVMOVAPD, yvex_vmovdqa, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x28, vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x29, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x28, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x29}},
{AVMOVAPS, yvex_vmovdqa, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x28, vexNOVSR | vex128 | vex0F | vexWIG, 0x29, vexNOVSR | vex256 | vex0F | vexWIG, 0x28, vexNOVSR | vex256 | vex0F | vexWIG, 0x29}},
{AVMOVD, yvex_vmovd, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexW0, 0x7E, vexNOVSR | vex128 | vex66 | vex0F | vexW0, 0x6E}},
{AVMOVDDUP, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vexF2 | vex0F | vexWIG, 0x12, vexNOVSR | vex256 | vexF2 | vex0F | vexWIG, 0x12}},
{AVMOVDQA, yvex_vmovdqa, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x6F, vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x7F, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x6F, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x7F}},
{AVMOVDQU, yvex_vmovdqa, Pvex, [23]uint8{vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x6F, vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x7F, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0x6F, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0x7F}},
{AVMOVHLPS, yvex_xx3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x12}},
{AVMOVHPD, yvex_vmovhpd, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x17, vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x16}},
{AVMOVHPS, yvex_vmovhpd, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x17, vexNDS | vex128 | vex0F | vexWIG, 0x16}},
{AVMOVLHPS, yvex_xx3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x16}},
{AVMOVLPD, yvex_vmovhpd, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x13, vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x12}},
{AVMOVLPS, yvex_vmovhpd, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x13, vexNDS | vex128 | vex0F | vexWIG, 0x12}},
{AVMOVMSKPD, yvex_xyr2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x50, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x50}},
{AVMOVMSKPS, yvex_xyr2, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x50, vexNOVSR | vex256 | vex0F | vexWIG, 0x50}},
{AVMOVNTDQ, yvex_vmovntdq, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0xE7, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0xE7}},
{AVMOVNTDQA, yvex_mxy, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x2A, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x2A}},
{AVMOVNTPD, yvex_vmovntdq, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x2B, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x2B}},
{AVMOVNTPS, yvex_vmovntdq, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x2B, vexNOVSR | vex256 | vex0F | vexWIG, 0x2B}},
{AVMOVQ, yvex_vmovq, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexW1, 0x7E, vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x7E, vexNOVSR | vex128 | vex66 | vex0F | vexW1, 0x6E, vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x7E, vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0xD6}},
{AVMOVSD, yvex_vmov, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF2 | vex0F | vexWIG, 0x11, vexNOVSR | vexLIG | vexF2 | vex0F | vexWIG, 0x10, vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x10, vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x11}},
{AVMOVSHDUP, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x16, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0x16}},
{AVMOVSLDUP, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x12, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0x12}},
{AVMOVSS, yvex_vmov, Pvex, [23]uint8{vexNOVSR | vexLIG | vexF3 | vex0F | vexWIG, 0x11, vexNOVSR | vexLIG | vexF3 | vex0F | vexWIG, 0x10, vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x10, vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x11}},
{AVMOVUPD, yvex_vmovdqa, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x10, vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x11, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x10, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x11}},
{AVMOVUPS, yvex_vmovdqa, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x10, vexNOVSR | vex128 | vex0F | vexWIG, 0x11, vexNOVSR | vex256 | vex0F | vexWIG, 0x10, vexNOVSR | vex256 | vex0F | vexWIG, 0x11}},
{AVMPSADBW, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x42, vexNDS | vex256 | vex66 | vex0F3A | vexWIG, 0x42}},
{AVMULPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x59, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x59}},
{AVMULPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x59, vexNDS | vex256 | vex0F | vexWIG, 0x59}},
{AVMULSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x59}},
{AVMULSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x59}},
{AVORPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x56, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x56}},
{AVORPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x56, vexNDS | vex256 | vex0F | vexWIG, 0x56}},
{AVPABSB, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x1C, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x1C}},
{AVPABSD, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x1E, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x1E}},
{AVPABSW, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x1D, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x1D}},
{AVPACKSSDW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x6B, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x6B}},
{AVPACKSSWB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x63, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x63}},
{AVPACKUSDW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x2B, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x2B}},
{AVPACKUSWB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x67, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x67}},
{AVPADDB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xFC, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xFC}},
{AVPADDD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xFE, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xFE}},
{AVPADDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD4, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD4}},
{AVPADDSB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xEC, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xEC}},
{AVPADDSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xED, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xED}},
{AVPADDUSB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xDC, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xDC}},
{AVPADDUSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xDD, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xDD}},
{AVPADDW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xFD, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xFD}},
{AVPALIGNR, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x0F, vexNDS | vex256 | vex66 | vex0F3A | vexWIG, 0x0F}},
{AVPAND, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xDB, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xDB}},
{AVPANDN, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xDF, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xDF}},
{AVPAVGB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE0}},
{AVPAVGW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE3, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE3}},
{AVPBLENDD, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW0, 0x02, vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x02}},
{AVPBLENDVB, yvex_xy4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW0, 0x4C, vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x4C}},
{AVPBLENDW, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x0E, vexNDS | vex256 | vex66 | vex0F3A | vexWIG, 0x0E}},
{AVPBROADCASTB, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x78, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x78}},
{AVPBROADCASTD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x58, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x58}},
{AVPBROADCASTQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x59, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x59}},
{AVPBROADCASTW, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x79, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x79}},
{AVPCLMULQDQ, yvex_xxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexWIG, 0x44}},
{AVPCMPEQB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x74, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x74}},
{AVPCMPEQD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x76, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x76}},
{AVPCMPEQQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x29, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x29}},
{AVPCMPEQW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x75, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x75}},
{AVPCMPESTRI, yvex_xi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x61}},
{AVPCMPESTRM, yvex_xi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x60}},
{AVPCMPGTB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x64, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x64}},
{AVPCMPGTD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x66, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x66}},
{AVPCMPGTQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x37, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x37}},
{AVPCMPGTW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x65, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x65}},
{AVPCMPISTRI, yvex_xi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x63}},
{AVPCMPISTRM, yvex_xi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x62}},
{AVPERM2F128, yvex_yyi4, Pvex, [23]uint8{vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x06}},
{AVPERM2I128, yvex_yyi4, Pvex, [23]uint8{vexNDS | vex256 | vex66 | vex0F3A | vexW0, 0x46}},
{AVPERMD, yvex_yy3, Pvex, [23]uint8{vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x36}},
{AVPERMILPD, yvex_vpermilp, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexW0, 0x05, vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x0D, vexNOVSR | vex256 | vex66 | vex0F3A | vexW0, 0x05, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x0D}},
{AVPERMILPS, yvex_vpermilp, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexW0, 0x04, vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x0C, vexNOVSR | vex256 | vex66 | vex0F3A | vexW0, 0x04, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x0C}},
{AVPERMPD, yvex_vpermpd, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F3A | vexW1, 0x01}},
{AVPERMPS, yvex_yy3, Pvex, [23]uint8{vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x16}},
{AVPERMQ, yvex_vpermpd, Pvex, [23]uint8{vexNOVSR | vex256 | vex66 | vex0F3A | vexW1, 0x00}},
{AVPEXTRB, yvex_vpextr, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexW0, 0x14}},
{AVPEXTRD, yvex_vpextr, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexW0, 0x16}},
{AVPEXTRQ, yvex_vpextr, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexW1, 0x16}},
{AVPEXTRW, yvex_vpextrw, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexW0, 0xC5, vexNOVSR | vex128 | vex66 | vex0F3A | vexW0, 0x15}},
{AVPHADDD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x02, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x02}},
{AVPHADDSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x03, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x03}},
{AVPHADDW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x01, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x01}},
{AVPHMINPOSUW, yvex_x2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x41}},
{AVPHSUBD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x06, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x06}},
{AVPHSUBSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x07, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x07}},
{AVPHSUBW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x05, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x05}},
{AVPINSRB, yvex_rxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW0, 0x20}},
{AVPINSRD, yvex_rxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW0, 0x22}},
{AVPINSRQ, yvex_rxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F3A | vexW1, 0x22}},
{AVPINSRW, yvex_rxi4, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexW0, 0xC4}},
{AVPMADDUBSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x04, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x04}},
{AVPMADDWD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF5, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF5}},
{AVPMASKMOVD, yvex_vblendvpd, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x8E, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x8E, vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x8C, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x8C}},
{AVPMASKMOVQ, yvex_vblendvpd, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW1, 0x8E, vexNDS | vex256 | vex66 | vex0F38 | vexW1, 0x8E, vexNDS | vex128 | vex66 | vex0F38 | vexW1, 0x8C, vexNDS | vex256 | vex66 | vex0F38 | vexW1, 0x8C}},
{AVPMAXSB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x3C, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x3C}},
{AVPMAXSD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x3D, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x3D}},
{AVPMAXSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xEE, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xEE}},
{AVPMAXUB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xDE, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xDE}},
{AVPMAXUD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x3F, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x3F}},
{AVPMAXUW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x3E, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x3E}},
{AVPMINSB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x38, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x38}},
{AVPMINSD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x39, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x39}},
{AVPMINSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xEA, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xEA}},
{AVPMINUB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xDA, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xDA}},
{AVPMINUD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x3B, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x3B}},
{AVPMINUW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x3A, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x3A}},
{AVPMOVMSKB, yvex_xyr2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0xD7, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0xD7}},
{AVPMOVSXBD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x21, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x21}},
{AVPMOVSXBQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x22, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x22}},
{AVPMOVSXBW, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x20, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x20}},
{AVPMOVSXDQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x25, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x25}},
{AVPMOVSXWD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x23, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x23}},
{AVPMOVSXWQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x24, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x24}},
{AVPMOVZXBD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x31, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x31}},
{AVPMOVZXBQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x32, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x32}},
{AVPMOVZXBW, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x30, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x30}},
{AVPMOVZXDQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x35, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x35}},
{AVPMOVZXWD, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x33, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x33}},
{AVPMOVZXWQ, yvex_vpbroadcast, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x34, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x34}},
{AVPMULDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x28, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x28}},
{AVPMULHRSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x0B, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x0B}},
{AVPMULHUW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE4, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE4}},
{AVPMULHW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE5, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE5}},
{AVPMULLD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x40, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x40}},
{AVPMULLW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD5, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD5}},
{AVPMULUDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF4, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF4}},
{AVPOR, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xEB, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xEB}},
{AVPSADBW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF6, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF6}},
{AVPSHUFB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x00, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x00}},
{AVPSHUFD, yvex_xyi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x70, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x70, vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x70, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x70}},
{AVPSHUFHW, yvex_xyi3, Pvex, [23]uint8{vexNOVSR | vex128 | vexF3 | vex0F | vexWIG, 0x70, vexNOVSR | vex256 | vexF3 | vex0F | vexWIG, 0x70}},
{AVPSHUFLW, yvex_xyi3, Pvex, [23]uint8{vexNOVSR | vex128 | vexF2 | vex0F | vexWIG, 0x70, vexNOVSR | vex256 | vexF2 | vex0F | vexWIG, 0x70}},
{AVPSIGNB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x08, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x08}},
{AVPSIGND, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x0A, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x0A}},
{AVPSIGNW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexWIG, 0x09, vexNDS | vex256 | vex66 | vex0F38 | vexWIG, 0x09}},
{AVPSLLD, yvex_shift, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x72, 0xF0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x72, 0xF0, vexNDD | vex128 | vex66 | vex0F | vexWIG, 0xF2, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0xF2}},
{AVPSLLDQ, yvex_shift_dq, Pvex, [23]uint8{vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x73, 0xF8, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x73, 0xF8}},
{AVPSLLQ, yvex_shift, Pvex, [23]uint8{vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x73, 0xF0, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x73, 0xF0, vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF3, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF3}},
{AVPSLLVD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x47, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x47}},
{AVPSLLVQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW1, 0x47, vexNDS | vex256 | vex66 | vex0F38 | vexW1, 0x47}},
{AVPSLLW, yvex_vps, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF1, vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x71, 0xF0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF1, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x71, 0xF0}},
{AVPSRAD, yvex_vps, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE2, vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x72, 0xE0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE2, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x72, 0xE0}},
{AVPSRAVD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x46, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x46}},
{AVPSRAW, yvex_vps, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE1, vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x71, 0xE0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE1, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x71, 0xE0}},
{AVPSRLD, yvex_shift, Pvex, [23]uint8{vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x72, 0xD0, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x72, 0xD0, vexNDD | vex128 | vex66 | vex0F | vexWIG, 0xD2, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0xD2}},
{AVPSRLDQ, yvex_shift_dq, Pvex, [23]uint8{vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x73, 0xD8, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x73, 0xD8}},
{AVPSRLQ, yvex_shift, Pvex, [23]uint8{vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x73, 0xD0, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x73, 0xD0, vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD3, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD3}},
{AVPSRLVD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW0, 0x45, vexNDS | vex256 | vex66 | vex0F38 | vexW0, 0x45}},
{AVPSRLVQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F38 | vexW1, 0x45, vexNDS | vex256 | vex66 | vex0F38 | vexW1, 0x45}},
{AVPSRLW, yvex_vps, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD1, vexNDD | vex128 | vex66 | vex0F | vexWIG, 0x71, 0xD0, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD1, vexNDD | vex256 | vex66 | vex0F | vexWIG, 0x71, 0xD0}},
{AVPSUBB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF8, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF8}},
{AVPSUBD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xFA, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xFA}},
{AVPSUBQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xFB, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xFB}},
{AVPSUBSB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE8, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE8}},
{AVPSUBSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xE9, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xE9}},
{AVPSUBUSB, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD8, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD8}},
{AVPSUBUSW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xD9, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xD9}},
{AVPSUBW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xF9, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xF9}},
{AVPTEST, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexWIG, 0x17, vexNOVSR | vex256 | vex66 | vex0F38 | vexWIG, 0x17}},
{AVPUNPCKHBW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x68, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x68}},
{AVPUNPCKHDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x6A, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x6A}},
{AVPUNPCKHQDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x6D, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x6D}},
{AVPUNPCKHWD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x69, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x69}},
{AVPUNPCKLBW, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x60, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x60}},
{AVPUNPCKLDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x62, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x62}},
{AVPUNPCKLQDQ, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x6C, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x6C}},
{AVPUNPCKLWD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x61, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x61}},
{AVPXOR, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xEF, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xEF}},
{AVRCPPS, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x53, vexNOVSR | vex256 | vex0F | vexWIG, 0x53}},
{AVRCPSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x53}},
{AVROUNDPD, yvex_xyi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x09, vexNOVSR | vex256 | vex66 | vex0F3A | vexWIG, 0x09}},
{AVROUNDPS, yvex_xyi3, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F3A | vexWIG, 0x08, vexNOVSR | vex256 | vex66 | vex0F3A | vexWIG, 0x08}},
{AVROUNDSD, yvex_xxi4, Pvex, [23]uint8{vexNDS | vexLIG | vex66 | vex0F3A | vexWIG, 0x0B}},
{AVROUNDSS, yvex_xxi4, Pvex, [23]uint8{vexNDS | vexLIG | vex66 | vex0F3A | vexWIG, 0x0A}},
{AVRSQRTPS, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x52, vexNOVSR | vex256 | vex0F | vexWIG, 0x52}},
{AVRSQRTSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x52}},
{AVSHUFPD, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0xC6, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0xC6}},
{AVSHUFPS, yvex_vpalignr, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0xC6, vexNDS | vex256 | vex0F | vexWIG, 0xC6}},
{AVSQRTPD, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F | vexWIG, 0x51, vexNOVSR | vex256 | vex66 | vex0F | vexWIG, 0x51}},
{AVSQRTPS, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x51, vexNOVSR | vex256 | vex0F | vexWIG, 0x51}},
{AVSQRTSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x51}},
{AVSQRTSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x51}},
{AVSTMXCSR, yvex_m, Pvex, [23]uint8{vexNOVSR | vexLZ | vex0F | vexWIG, 0xAE, 03}},
{AVSUBPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x5C, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x5C}},
{AVSUBPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x5C, vexNDS | vex256 | vex0F | vexWIG, 0x5C}},
{AVSUBSD, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF2 | vex0F | vexWIG, 0x5C}},
{AVSUBSS, yvex_x3, Pvex, [23]uint8{vexNDS | vexLIG | vexF3 | vex0F | vexWIG, 0x5C}},
{AVTESTPD, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x0F, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x0F}},
{AVTESTPS, yvex_xy2, Pvex, [23]uint8{vexNOVSR | vex128 | vex66 | vex0F38 | vexW0, 0x0E, vexNOVSR | vex256 | vex66 | vex0F38 | vexW0, 0x0E}},
{AVUCOMISD, yvex_x2, Pvex, [23]uint8{vexNOVSR | vexLIG | vex66 | vex0F | vexWIG, 0x2E}},
{AVUCOMISS, yvex_x2, Pvex, [23]uint8{vexNOVSR | vexLIG | vex0F | vexWIG, 0x2E}},
{AVUNPCKHPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x15, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x15}},
{AVUNPCKHPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x15, vexNDS | vex256 | vex0F | vexWIG, 0x15}},
{AVUNPCKLPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x14, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x14}},
{AVUNPCKLPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x14, vexNDS | vex256 | vex0F | vexWIG, 0x14}},
{AVXORPD, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex66 | vex0F | vexWIG, 0x57, vexNDS | vex256 | vex66 | vex0F | vexWIG, 0x57}},
{AVXORPS, yvex_xy3, Pvex, [23]uint8{vexNDS | vex128 | vex0F | vexWIG, 0x57, vexNDS | vex256 | vex0F | vexWIG, 0x57}},
{AVZEROALL, yvex, Pvex, [23]uint8{vexNOVSR | vex256 | vex0F | vexWIG, 0x77}},
{AVZEROUPPER, yvex, Pvex, [23]uint8{vexNOVSR | vex128 | vex0F | vexWIG, 0x77}},
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment