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 (
"cmd/asm/internal/flags"
"cmd/asm/internal/lex"
"cmd/internal/obj"
"cmd/internal/obj/x86"
"cmd/internal/objabi"
"cmd/internal/sys"
)
......@@ -38,6 +39,12 @@ func (p *Parser) append(prog *obj.Prog, cond string, doLabel bool) {
return
}
case sys.AMD64, sys.I386:
if err := x86.ParseSuffix(prog, cond); err != nil {
p.errorf("%v", err)
return
}
default:
p.errorf("unrecognized suffix .%q", cond)
return
......@@ -740,6 +747,12 @@ func (p *Parser) asmInstruction(op obj.As, cond string, a []obj.Addr) {
prog.To = a[4]
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)
return
case 6:
......
......@@ -97,10 +97,6 @@ var badExprTests = []badExprTest{
}
func TestBadExpr(t *testing.T) {
panicOnError = true
defer func() {
panicOnError = false
}()
for i, test := range badExprTests {
err := runBadTest(i, test, t)
if err == nil {
......@@ -119,13 +115,7 @@ func TestBadExpr(t *testing.T) {
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.start(lex.Tokenize(test.input))
defer func() {
e := recover()
var ok bool
if err, ok = e.(error); e != nil && !ok {
t.Fatal(e)
}
}()
return tryParse(t, func() {
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 @@
package asm
import (
"strings"
"testing"
"cmd/asm/internal/arch"
......@@ -30,6 +31,45 @@ func newParser(goarch string) *Parser {
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) {
for _, test := range tests {
parser.start(lex.Tokenize(test.input))
......@@ -45,6 +85,7 @@ func testOperandParser(t *testing.T, parser *Parser, tests []operandTest) {
func TestAMD64OperandParser(t *testing.T) {
parser := newParser("amd64")
testOperandParser(t, parser, amd64OperandTests)
testBadOperandParser(t, parser, amd64BadOperandTests)
}
func Test386OperandParser(t *testing.T) {
......@@ -85,6 +126,10 @@ type operandTest struct {
input, output string
}
type badOperandTest struct {
input, error string
}
// Examples collected by scanning all the assembly in the standard repo.
var amd64OperandTests = []operandTest{
......@@ -202,9 +247,28 @@ var amd64OperandTests = []operandTest{
{"y+56(FP)", "y+56(FP)"},
{"·AddUint32(SB)", "\"\".AddUint32(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.
}
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{
{"$(2.928932188134524e-01)", "$(0.29289321881345243)"},
{"$-1", "$-1"},
......
......@@ -19,6 +19,7 @@ import (
"cmd/asm/internal/flags"
"cmd/asm/internal/lex"
"cmd/internal/obj"
"cmd/internal/obj/x86"
"cmd/internal/src"
"cmd/internal/sys"
)
......@@ -134,12 +135,12 @@ func (p *Parser) line() bool {
for {
tok = p.lex.Next()
if len(operands) == 0 && len(items) == 0 {
if p.arch.InFamily(sys.ARM, sys.ARM64) && tok == '.' {
// ARM conditionals.
if p.arch.InFamily(sys.ARM, sys.ARM64, sys.AMD64, sys.I386) && tok == '.' {
// Suffixes: ARM conditionals or x86 modifiers.
tok = p.lex.Next()
str := p.lex.Text()
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
continue
......@@ -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].
// For ARM, only R0 through R15 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.
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.
var maxReg int
var bits uint16
......@@ -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.
func (p *Parser) registerNumber(name string) uint16 {
if p.arch.Family == sys.ARM && name == "g" {
......
......@@ -23,6 +23,10 @@ TEXT errors(SB),$0
// No VSIB for legacy instructions.
MOVL (AX)(X0*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.
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"
......@@ -70,4 +74,62 @@ TEXT errors(SB),$0
MOVQ (AX), DR3 // ERROR "invalid instruction"
MOVQ (AX), DR6 // 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
......@@ -3,334 +3,334 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_aes_avx512f(SB), NOSPLIT, $0
//TODO: VAESDEC X24, X7, X11 // 62124508ded8 or 6212c508ded8
//TODO: VAESDEC X20, X7, X11 // 62324508dedc or 6232c508dedc
//TODO: VAESDEC X24, X0, X11 // 62127d08ded8 or 6212fd08ded8
//TODO: VAESDEC X20, X0, X11 // 62327d08dedc or 6232fd08dedc
//TODO: VAESDEC X24, X7, X31 // 62024508def8 or 6202c508def8
//TODO: VAESDEC X20, X7, X31 // 62224508defc or 6222c508defc
//TODO: VAESDEC X7, X7, X31 // 62624508deff or 6262c508deff
//TODO: VAESDEC -7(DI)(R8*1), X7, X31 // 62224508debc07f9ffffff or 6222c508debc07f9ffffff
//TODO: VAESDEC (SP), X7, X31 // 62624508de3c24 or 6262c508de3c24
//TODO: VAESDEC X24, X0, X31 // 62027d08def8 or 6202fd08def8
//TODO: VAESDEC X20, X0, X31 // 62227d08defc or 6222fd08defc
//TODO: VAESDEC X7, X0, X31 // 62627d08deff or 6262fd08deff
//TODO: VAESDEC -7(DI)(R8*1), X0, X31 // 62227d08debc07f9ffffff or 6222fd08debc07f9ffffff
//TODO: VAESDEC (SP), X0, X31 // 62627d08de3c24 or 6262fd08de3c24
//TODO: VAESDEC X24, X7, X3 // 62924508ded8 or 6292c508ded8
//TODO: VAESDEC X20, X7, X3 // 62b24508dedc or 62b2c508dedc
//TODO: VAESDEC X24, X0, X3 // 62927d08ded8 or 6292fd08ded8
//TODO: VAESDEC X20, X0, X3 // 62b27d08dedc or 62b2fd08dedc
//TODO: VAESDEC Y5, Y31, Y22 // 62e20520def5 or 62e28520def5
//TODO: VAESDEC Y19, Y31, Y22 // 62a20520def3 or 62a28520def3
//TODO: VAESDEC Y31, Y31, Y22 // 62820520def7 or 62828520def7
//TODO: VAESDEC 99(R15)(R15*1), Y31, Y22 // 62820520deb43f63000000 or 62828520deb43f63000000
//TODO: VAESDEC (DX), Y31, Y22 // 62e20520de32 or 62e28520de32
//TODO: VAESDEC Y5, Y5, Y22 // 62e25528def5 or 62e2d528def5
//TODO: VAESDEC Y19, Y5, Y22 // 62a25528def3 or 62a2d528def3
//TODO: VAESDEC Y31, Y5, Y22 // 62825528def7 or 6282d528def7
//TODO: VAESDEC 99(R15)(R15*1), Y5, Y22 // 62825528deb43f63000000 or 6282d528deb43f63000000
//TODO: VAESDEC (DX), Y5, Y22 // 62e25528de32 or 62e2d528de32
//TODO: VAESDEC Y5, Y0, Y22 // 62e27d28def5 or 62e2fd28def5
//TODO: VAESDEC Y19, Y0, Y22 // 62a27d28def3 or 62a2fd28def3
//TODO: VAESDEC Y31, Y0, Y22 // 62827d28def7 or 6282fd28def7
//TODO: VAESDEC 99(R15)(R15*1), Y0, Y22 // 62827d28deb43f63000000 or 6282fd28deb43f63000000
//TODO: VAESDEC (DX), Y0, Y22 // 62e27d28de32 or 62e2fd28de32
//TODO: VAESDEC Y5, Y31, Y9 // 62720520decd or 62728520decd
//TODO: VAESDEC Y19, Y31, Y9 // 62320520decb or 62328520decb
//TODO: VAESDEC Y31, Y31, Y9 // 62120520decf or 62128520decf
//TODO: VAESDEC 99(R15)(R15*1), Y31, Y9 // 62120520de8c3f63000000 or 62128520de8c3f63000000
//TODO: VAESDEC (DX), Y31, Y9 // 62720520de0a or 62728520de0a
//TODO: VAESDEC Y19, Y5, Y9 // 62325528decb or 6232d528decb
//TODO: VAESDEC Y31, Y5, Y9 // 62125528decf or 6212d528decf
//TODO: VAESDEC Y19, Y0, Y9 // 62327d28decb or 6232fd28decb
//TODO: VAESDEC Y31, Y0, Y9 // 62127d28decf or 6212fd28decf
//TODO: VAESDEC Y5, Y31, Y23 // 62e20520defd or 62e28520defd
//TODO: VAESDEC Y19, Y31, Y23 // 62a20520defb or 62a28520defb
//TODO: VAESDEC Y31, Y31, Y23 // 62820520deff or 62828520deff
//TODO: VAESDEC 99(R15)(R15*1), Y31, Y23 // 62820520debc3f63000000 or 62828520debc3f63000000
//TODO: VAESDEC (DX), Y31, Y23 // 62e20520de3a or 62e28520de3a
//TODO: VAESDEC Y5, Y5, Y23 // 62e25528defd or 62e2d528defd
//TODO: VAESDEC Y19, Y5, Y23 // 62a25528defb or 62a2d528defb
//TODO: VAESDEC Y31, Y5, Y23 // 62825528deff or 6282d528deff
//TODO: VAESDEC 99(R15)(R15*1), Y5, Y23 // 62825528debc3f63000000 or 6282d528debc3f63000000
//TODO: VAESDEC (DX), Y5, Y23 // 62e25528de3a or 62e2d528de3a
//TODO: VAESDEC Y5, Y0, Y23 // 62e27d28defd or 62e2fd28defd
//TODO: VAESDEC Y19, Y0, Y23 // 62a27d28defb or 62a2fd28defb
//TODO: VAESDEC Y31, Y0, Y23 // 62827d28deff or 6282fd28deff
//TODO: VAESDEC 99(R15)(R15*1), Y0, Y23 // 62827d28debc3f63000000 or 6282fd28debc3f63000000
//TODO: VAESDEC (DX), Y0, Y23 // 62e27d28de3a or 62e2fd28de3a
//TODO: VAESDEC Z27, Z3, Z11 // 62126548dedb or 6212e548dedb
//TODO: VAESDEC Z15, Z3, Z11 // 62526548dedf or 6252e548dedf
//TODO: VAESDEC 99(R15)(R15*1), Z3, Z11 // 62126548de9c3f63000000 or 6212e548de9c3f63000000
//TODO: VAESDEC (DX), Z3, Z11 // 62726548de1a or 6272e548de1a
//TODO: VAESDEC Z27, Z12, Z11 // 62121d48dedb or 62129d48dedb
//TODO: VAESDEC Z15, Z12, Z11 // 62521d48dedf or 62529d48dedf
//TODO: VAESDEC 99(R15)(R15*1), Z12, Z11 // 62121d48de9c3f63000000 or 62129d48de9c3f63000000
//TODO: VAESDEC (DX), Z12, Z11 // 62721d48de1a or 62729d48de1a
//TODO: VAESDEC Z27, Z3, Z25 // 62026548decb or 6202e548decb
//TODO: VAESDEC Z15, Z3, Z25 // 62426548decf or 6242e548decf
//TODO: VAESDEC 99(R15)(R15*1), Z3, Z25 // 62026548de8c3f63000000 or 6202e548de8c3f63000000
//TODO: VAESDEC (DX), Z3, Z25 // 62626548de0a or 6262e548de0a
//TODO: VAESDEC Z27, Z12, Z25 // 62021d48decb or 62029d48decb
//TODO: VAESDEC Z15, Z12, Z25 // 62421d48decf or 62429d48decf
//TODO: VAESDEC 99(R15)(R15*1), Z12, Z25 // 62021d48de8c3f63000000 or 62029d48de8c3f63000000
//TODO: VAESDEC (DX), Z12, Z25 // 62621d48de0a or 62629d48de0a
//TODO: VAESDECLAST X21, X5, X9 // 62325508dfcd or 6232d508dfcd
//TODO: VAESDECLAST X21, X31, X9 // 62320500dfcd or 62328500dfcd
//TODO: VAESDECLAST X1, X31, X9 // 62720500dfc9 or 62728500dfc9
//TODO: VAESDECLAST X11, X31, X9 // 62520500dfcb or 62528500dfcb
//TODO: VAESDECLAST -7(CX), X31, X9 // 62720500df89f9ffffff or 62728500df89f9ffffff
//TODO: VAESDECLAST 15(DX)(BX*4), X31, X9 // 62720500df8c9a0f000000 or 62728500df8c9a0f000000
//TODO: VAESDECLAST X21, X3, X9 // 62326508dfcd or 6232e508dfcd
//TODO: VAESDECLAST X21, X5, X7 // 62b25508dffd or 62b2d508dffd
//TODO: VAESDECLAST X21, X31, X7 // 62b20500dffd or 62b28500dffd
//TODO: VAESDECLAST X1, X31, X7 // 62f20500dff9 or 62f28500dff9
//TODO: VAESDECLAST X11, X31, X7 // 62d20500dffb or 62d28500dffb
//TODO: VAESDECLAST -7(CX), X31, X7 // 62f20500dfb9f9ffffff or 62f28500dfb9f9ffffff
//TODO: VAESDECLAST 15(DX)(BX*4), X31, X7 // 62f20500dfbc9a0f000000 or 62f28500dfbc9a0f000000
//TODO: VAESDECLAST X21, X3, X7 // 62b26508dffd or 62b2e508dffd
//TODO: VAESDECLAST X21, X5, X14 // 62325508dff5 or 6232d508dff5
//TODO: VAESDECLAST X21, X31, X14 // 62320500dff5 or 62328500dff5
//TODO: VAESDECLAST X1, X31, X14 // 62720500dff1 or 62728500dff1
//TODO: VAESDECLAST X11, X31, X14 // 62520500dff3 or 62528500dff3
//TODO: VAESDECLAST -7(CX), X31, X14 // 62720500dfb1f9ffffff or 62728500dfb1f9ffffff
//TODO: VAESDECLAST 15(DX)(BX*4), X31, X14 // 62720500dfb49a0f000000 or 62728500dfb49a0f000000
//TODO: VAESDECLAST X21, X3, X14 // 62326508dff5 or 6232e508dff5
//TODO: VAESDECLAST Y31, Y27, Y28 // 62022520dfe7 or 6202a520dfe7
//TODO: VAESDECLAST Y3, Y27, Y28 // 62622520dfe3 or 6262a520dfe3
//TODO: VAESDECLAST Y14, Y27, Y28 // 62422520dfe6 or 6242a520dfe6
//TODO: VAESDECLAST -17(BP)(SI*8), Y27, Y28 // 62622520dfa4f5efffffff or 6262a520dfa4f5efffffff
//TODO: VAESDECLAST (R15), Y27, Y28 // 62422520df27 or 6242a520df27
//TODO: VAESDECLAST Y31, Y0, Y28 // 62027d28dfe7 or 6202fd28dfe7
//TODO: VAESDECLAST Y3, Y0, Y28 // 62627d28dfe3 or 6262fd28dfe3
//TODO: VAESDECLAST Y14, Y0, Y28 // 62427d28dfe6 or 6242fd28dfe6
//TODO: VAESDECLAST -17(BP)(SI*8), Y0, Y28 // 62627d28dfa4f5efffffff or 6262fd28dfa4f5efffffff
//TODO: VAESDECLAST (R15), Y0, Y28 // 62427d28df27 or 6242fd28df27
//TODO: VAESDECLAST Y31, Y11, Y28 // 62022528dfe7 or 6202a528dfe7
//TODO: VAESDECLAST Y3, Y11, Y28 // 62622528dfe3 or 6262a528dfe3
//TODO: VAESDECLAST Y14, Y11, Y28 // 62422528dfe6 or 6242a528dfe6
//TODO: VAESDECLAST -17(BP)(SI*8), Y11, Y28 // 62622528dfa4f5efffffff or 6262a528dfa4f5efffffff
//TODO: VAESDECLAST (R15), Y11, Y28 // 62422528df27 or 6242a528df27
//TODO: VAESDECLAST Y31, Y27, Y2 // 62922520dfd7 or 6292a520dfd7
//TODO: VAESDECLAST Y3, Y27, Y2 // 62f22520dfd3 or 62f2a520dfd3
//TODO: VAESDECLAST Y14, Y27, Y2 // 62d22520dfd6 or 62d2a520dfd6
//TODO: VAESDECLAST -17(BP)(SI*8), Y27, Y2 // 62f22520df94f5efffffff or 62f2a520df94f5efffffff
//TODO: VAESDECLAST (R15), Y27, Y2 // 62d22520df17 or 62d2a520df17
//TODO: VAESDECLAST Y31, Y0, Y2 // 62927d28dfd7 or 6292fd28dfd7
//TODO: VAESDECLAST Y31, Y11, Y2 // 62922528dfd7 or 6292a528dfd7
//TODO: VAESDECLAST Y31, Y27, Y24 // 62022520dfc7 or 6202a520dfc7
//TODO: VAESDECLAST Y3, Y27, Y24 // 62622520dfc3 or 6262a520dfc3
//TODO: VAESDECLAST Y14, Y27, Y24 // 62422520dfc6 or 6242a520dfc6
//TODO: VAESDECLAST -17(BP)(SI*8), Y27, Y24 // 62622520df84f5efffffff or 6262a520df84f5efffffff
//TODO: VAESDECLAST (R15), Y27, Y24 // 62422520df07 or 6242a520df07
//TODO: VAESDECLAST Y31, Y0, Y24 // 62027d28dfc7 or 6202fd28dfc7
//TODO: VAESDECLAST Y3, Y0, Y24 // 62627d28dfc3 or 6262fd28dfc3
//TODO: VAESDECLAST Y14, Y0, Y24 // 62427d28dfc6 or 6242fd28dfc6
//TODO: VAESDECLAST -17(BP)(SI*8), Y0, Y24 // 62627d28df84f5efffffff or 6262fd28df84f5efffffff
//TODO: VAESDECLAST (R15), Y0, Y24 // 62427d28df07 or 6242fd28df07
//TODO: VAESDECLAST Y31, Y11, Y24 // 62022528dfc7 or 6202a528dfc7
//TODO: VAESDECLAST Y3, Y11, Y24 // 62622528dfc3 or 6262a528dfc3
//TODO: VAESDECLAST Y14, Y11, Y24 // 62422528dfc6 or 6242a528dfc6
//TODO: VAESDECLAST -17(BP)(SI*8), Y11, Y24 // 62622528df84f5efffffff or 6262a528df84f5efffffff
//TODO: VAESDECLAST (R15), Y11, Y24 // 62422528df07 or 6242a528df07
//TODO: VAESDECLAST Z8, Z23, Z23 // 62c24540dff8 or 62c2c540dff8
//TODO: VAESDECLAST Z28, Z23, Z23 // 62824540dffc or 6282c540dffc
//TODO: VAESDECLAST -17(BP)(SI*8), Z23, Z23 // 62e24540dfbcf5efffffff or 62e2c540dfbcf5efffffff
//TODO: VAESDECLAST (R15), Z23, Z23 // 62c24540df3f or 62c2c540df3f
//TODO: VAESDECLAST Z8, Z6, Z23 // 62c24d48dff8 or 62c2cd48dff8
//TODO: VAESDECLAST Z28, Z6, Z23 // 62824d48dffc or 6282cd48dffc
//TODO: VAESDECLAST -17(BP)(SI*8), Z6, Z23 // 62e24d48dfbcf5efffffff or 62e2cd48dfbcf5efffffff
//TODO: VAESDECLAST (R15), Z6, Z23 // 62c24d48df3f or 62c2cd48df3f
//TODO: VAESDECLAST Z8, Z23, Z5 // 62d24540dfe8 or 62d2c540dfe8
//TODO: VAESDECLAST Z28, Z23, Z5 // 62924540dfec or 6292c540dfec
//TODO: VAESDECLAST -17(BP)(SI*8), Z23, Z5 // 62f24540dfacf5efffffff or 62f2c540dfacf5efffffff
//TODO: VAESDECLAST (R15), Z23, Z5 // 62d24540df2f or 62d2c540df2f
//TODO: VAESDECLAST Z8, Z6, Z5 // 62d24d48dfe8 or 62d2cd48dfe8
//TODO: VAESDECLAST Z28, Z6, Z5 // 62924d48dfec or 6292cd48dfec
//TODO: VAESDECLAST -17(BP)(SI*8), Z6, Z5 // 62f24d48dfacf5efffffff or 62f2cd48dfacf5efffffff
//TODO: VAESDECLAST (R15), Z6, Z5 // 62d24d48df2f or 62d2cd48df2f
//TODO: VAESENC X14, X16, X13 // 62527d00dcee or 6252fd00dcee
//TODO: VAESENC X19, X16, X13 // 62327d00dceb or 6232fd00dceb
//TODO: VAESENC X8, X16, X13 // 62527d00dce8 or 6252fd00dce8
//TODO: VAESENC 99(R15)(R15*8), X16, X13 // 62127d00dcacff63000000 or 6212fd00dcacff63000000
//TODO: VAESENC 7(AX)(CX*8), X16, X13 // 62727d00dcacc807000000 or 6272fd00dcacc807000000
//TODO: VAESENC X19, X14, X13 // 62320d08dceb or 62328d08dceb
//TODO: VAESENC X19, X11, X13 // 62322508dceb or 6232a508dceb
//TODO: VAESENC X14, X16, X0 // 62d27d00dcc6 or 62d2fd00dcc6
//TODO: VAESENC X19, X16, X0 // 62b27d00dcc3 or 62b2fd00dcc3
//TODO: VAESENC X8, X16, X0 // 62d27d00dcc0 or 62d2fd00dcc0
//TODO: VAESENC 99(R15)(R15*8), X16, X0 // 62927d00dc84ff63000000 or 6292fd00dc84ff63000000
//TODO: VAESENC 7(AX)(CX*8), X16, X0 // 62f27d00dc84c807000000 or 62f2fd00dc84c807000000
//TODO: VAESENC X19, X14, X0 // 62b20d08dcc3 or 62b28d08dcc3
//TODO: VAESENC X19, X11, X0 // 62b22508dcc3 or 62b2a508dcc3
//TODO: VAESENC X14, X16, X30 // 62427d00dcf6 or 6242fd00dcf6
//TODO: VAESENC X19, X16, X30 // 62227d00dcf3 or 6222fd00dcf3
//TODO: VAESENC X8, X16, X30 // 62427d00dcf0 or 6242fd00dcf0
//TODO: VAESENC 99(R15)(R15*8), X16, X30 // 62027d00dcb4ff63000000 or 6202fd00dcb4ff63000000
//TODO: VAESENC 7(AX)(CX*8), X16, X30 // 62627d00dcb4c807000000 or 6262fd00dcb4c807000000
//TODO: VAESENC X14, X14, X30 // 62420d08dcf6 or 62428d08dcf6
//TODO: VAESENC X19, X14, X30 // 62220d08dcf3 or 62228d08dcf3
//TODO: VAESENC X8, X14, X30 // 62420d08dcf0 or 62428d08dcf0
//TODO: VAESENC 99(R15)(R15*8), X14, X30 // 62020d08dcb4ff63000000 or 62028d08dcb4ff63000000
//TODO: VAESENC 7(AX)(CX*8), X14, X30 // 62620d08dcb4c807000000 or 62628d08dcb4c807000000
//TODO: VAESENC X14, X11, X30 // 62422508dcf6 or 6242a508dcf6
//TODO: VAESENC X19, X11, X30 // 62222508dcf3 or 6222a508dcf3
//TODO: VAESENC X8, X11, X30 // 62422508dcf0 or 6242a508dcf0
//TODO: VAESENC 99(R15)(R15*8), X11, X30 // 62022508dcb4ff63000000 or 6202a508dcb4ff63000000
//TODO: VAESENC 7(AX)(CX*8), X11, X30 // 62622508dcb4c807000000 or 6262a508dcb4c807000000
//TODO: VAESENC Y18, Y15, Y2 // 62b20528dcd2 or 62b28528dcd2
//TODO: VAESENC Y24, Y15, Y2 // 62920528dcd0 or 62928528dcd0
//TODO: VAESENC Y18, Y22, Y2 // 62b24d20dcd2 or 62b2cd20dcd2
//TODO: VAESENC Y24, Y22, Y2 // 62924d20dcd0 or 6292cd20dcd0
//TODO: VAESENC Y9, Y22, Y2 // 62d24d20dcd1 or 62d2cd20dcd1
//TODO: VAESENC 7(SI)(DI*8), Y22, Y2 // 62f24d20dc94fe07000000 or 62f2cd20dc94fe07000000
//TODO: VAESENC -15(R14), Y22, Y2 // 62d24d20dc96f1ffffff or 62d2cd20dc96f1ffffff
//TODO: VAESENC Y18, Y20, Y2 // 62b25d20dcd2 or 62b2dd20dcd2
//TODO: VAESENC Y24, Y20, Y2 // 62925d20dcd0 or 6292dd20dcd0
//TODO: VAESENC Y9, Y20, Y2 // 62d25d20dcd1 or 62d2dd20dcd1
//TODO: VAESENC 7(SI)(DI*8), Y20, Y2 // 62f25d20dc94fe07000000 or 62f2dd20dc94fe07000000
//TODO: VAESENC -15(R14), Y20, Y2 // 62d25d20dc96f1ffffff or 62d2dd20dc96f1ffffff
//TODO: VAESENC Y18, Y15, Y13 // 62320528dcea or 62328528dcea
//TODO: VAESENC Y24, Y15, Y13 // 62120528dce8 or 62128528dce8
//TODO: VAESENC Y18, Y22, Y13 // 62324d20dcea or 6232cd20dcea
//TODO: VAESENC Y24, Y22, Y13 // 62124d20dce8 or 6212cd20dce8
//TODO: VAESENC Y9, Y22, Y13 // 62524d20dce9 or 6252cd20dce9
//TODO: VAESENC 7(SI)(DI*8), Y22, Y13 // 62724d20dcacfe07000000 or 6272cd20dcacfe07000000
//TODO: VAESENC -15(R14), Y22, Y13 // 62524d20dcaef1ffffff or 6252cd20dcaef1ffffff
//TODO: VAESENC Y18, Y20, Y13 // 62325d20dcea or 6232dd20dcea
//TODO: VAESENC Y24, Y20, Y13 // 62125d20dce8 or 6212dd20dce8
//TODO: VAESENC Y9, Y20, Y13 // 62525d20dce9 or 6252dd20dce9
//TODO: VAESENC 7(SI)(DI*8), Y20, Y13 // 62725d20dcacfe07000000 or 6272dd20dcacfe07000000
//TODO: VAESENC -15(R14), Y20, Y13 // 62525d20dcaef1ffffff or 6252dd20dcaef1ffffff
//TODO: VAESENC Y18, Y15, Y27 // 62220528dcda or 62228528dcda
//TODO: VAESENC Y24, Y15, Y27 // 62020528dcd8 or 62028528dcd8
//TODO: VAESENC Y9, Y15, Y27 // 62420528dcd9 or 62428528dcd9
//TODO: VAESENC 7(SI)(DI*8), Y15, Y27 // 62620528dc9cfe07000000 or 62628528dc9cfe07000000
//TODO: VAESENC -15(R14), Y15, Y27 // 62420528dc9ef1ffffff or 62428528dc9ef1ffffff
//TODO: VAESENC Y18, Y22, Y27 // 62224d20dcda or 6222cd20dcda
//TODO: VAESENC Y24, Y22, Y27 // 62024d20dcd8 or 6202cd20dcd8
//TODO: VAESENC Y9, Y22, Y27 // 62424d20dcd9 or 6242cd20dcd9
//TODO: VAESENC 7(SI)(DI*8), Y22, Y27 // 62624d20dc9cfe07000000 or 6262cd20dc9cfe07000000
//TODO: VAESENC -15(R14), Y22, Y27 // 62424d20dc9ef1ffffff or 6242cd20dc9ef1ffffff
//TODO: VAESENC Y18, Y20, Y27 // 62225d20dcda or 6222dd20dcda
//TODO: VAESENC Y24, Y20, Y27 // 62025d20dcd8 or 6202dd20dcd8
//TODO: VAESENC Y9, Y20, Y27 // 62425d20dcd9 or 6242dd20dcd9
//TODO: VAESENC 7(SI)(DI*8), Y20, Y27 // 62625d20dc9cfe07000000 or 6262dd20dc9cfe07000000
//TODO: VAESENC -15(R14), Y20, Y27 // 62425d20dc9ef1ffffff or 6242dd20dc9ef1ffffff
//TODO: VAESENC Z12, Z16, Z21 // 62c27d40dcec or 62c2fd40dcec
//TODO: VAESENC Z27, Z16, Z21 // 62827d40dceb or 6282fd40dceb
//TODO: VAESENC 7(SI)(DI*8), Z16, Z21 // 62e27d40dcacfe07000000 or 62e2fd40dcacfe07000000
//TODO: VAESENC -15(R14), Z16, Z21 // 62c27d40dcaef1ffffff or 62c2fd40dcaef1ffffff
//TODO: VAESENC Z12, Z13, Z21 // 62c21548dcec or 62c29548dcec
//TODO: VAESENC Z27, Z13, Z21 // 62821548dceb or 62829548dceb
//TODO: VAESENC 7(SI)(DI*8), Z13, Z21 // 62e21548dcacfe07000000 or 62e29548dcacfe07000000
//TODO: VAESENC -15(R14), Z13, Z21 // 62c21548dcaef1ffffff or 62c29548dcaef1ffffff
//TODO: VAESENC Z12, Z16, Z5 // 62d27d40dcec or 62d2fd40dcec
//TODO: VAESENC Z27, Z16, Z5 // 62927d40dceb or 6292fd40dceb
//TODO: VAESENC 7(SI)(DI*8), Z16, Z5 // 62f27d40dcacfe07000000 or 62f2fd40dcacfe07000000
//TODO: VAESENC -15(R14), Z16, Z5 // 62d27d40dcaef1ffffff or 62d2fd40dcaef1ffffff
//TODO: VAESENC Z12, Z13, Z5 // 62d21548dcec or 62d29548dcec
//TODO: VAESENC Z27, Z13, Z5 // 62921548dceb or 62929548dceb
//TODO: VAESENC 7(SI)(DI*8), Z13, Z5 // 62f21548dcacfe07000000 or 62f29548dcacfe07000000
//TODO: VAESENC -15(R14), Z13, Z5 // 62d21548dcaef1ffffff or 62d29548dcaef1ffffff
//TODO: VAESENCLAST X23, X12, X8 // 62321d08ddc7 or 62329d08ddc7
//TODO: VAESENCLAST X31, X12, X8 // 62121d08ddc7 or 62129d08ddc7
//TODO: VAESENCLAST X23, X16, X8 // 62327d00ddc7 or 6232fd00ddc7
//TODO: VAESENCLAST X11, X16, X8 // 62527d00ddc3 or 6252fd00ddc3
//TODO: VAESENCLAST X31, X16, X8 // 62127d00ddc7 or 6212fd00ddc7
//TODO: VAESENCLAST (AX), X16, X8 // 62727d00dd00 or 6272fd00dd00
//TODO: VAESENCLAST 7(SI), X16, X8 // 62727d00dd8607000000 or 6272fd00dd8607000000
//TODO: VAESENCLAST X23, X23, X8 // 62324500ddc7 or 6232c500ddc7
//TODO: VAESENCLAST X11, X23, X8 // 62524500ddc3 or 6252c500ddc3
//TODO: VAESENCLAST X31, X23, X8 // 62124500ddc7 or 6212c500ddc7
//TODO: VAESENCLAST (AX), X23, X8 // 62724500dd00 or 6272c500dd00
//TODO: VAESENCLAST 7(SI), X23, X8 // 62724500dd8607000000 or 6272c500dd8607000000
//TODO: VAESENCLAST X23, X12, X26 // 62221d08ddd7 or 62229d08ddd7
//TODO: VAESENCLAST X11, X12, X26 // 62421d08ddd3 or 62429d08ddd3
//TODO: VAESENCLAST X31, X12, X26 // 62021d08ddd7 or 62029d08ddd7
//TODO: VAESENCLAST (AX), X12, X26 // 62621d08dd10 or 62629d08dd10
//TODO: VAESENCLAST 7(SI), X12, X26 // 62621d08dd9607000000 or 62629d08dd9607000000
//TODO: VAESENCLAST X23, X16, X26 // 62227d00ddd7 or 6222fd00ddd7
//TODO: VAESENCLAST X11, X16, X26 // 62427d00ddd3 or 6242fd00ddd3
//TODO: VAESENCLAST X31, X16, X26 // 62027d00ddd7 or 6202fd00ddd7
//TODO: VAESENCLAST (AX), X16, X26 // 62627d00dd10 or 6262fd00dd10
//TODO: VAESENCLAST 7(SI), X16, X26 // 62627d00dd9607000000 or 6262fd00dd9607000000
//TODO: VAESENCLAST X23, X23, X26 // 62224500ddd7 or 6222c500ddd7
//TODO: VAESENCLAST X11, X23, X26 // 62424500ddd3 or 6242c500ddd3
//TODO: VAESENCLAST X31, X23, X26 // 62024500ddd7 or 6202c500ddd7
//TODO: VAESENCLAST (AX), X23, X26 // 62624500dd10 or 6262c500dd10
//TODO: VAESENCLAST 7(SI), X23, X26 // 62624500dd9607000000 or 6262c500dd9607000000
//TODO: VAESENCLAST X23, X12, X23 // 62a21d08ddff or 62a29d08ddff
//TODO: VAESENCLAST X11, X12, X23 // 62c21d08ddfb or 62c29d08ddfb
//TODO: VAESENCLAST X31, X12, X23 // 62821d08ddff or 62829d08ddff
//TODO: VAESENCLAST (AX), X12, X23 // 62e21d08dd38 or 62e29d08dd38
//TODO: VAESENCLAST 7(SI), X12, X23 // 62e21d08ddbe07000000 or 62e29d08ddbe07000000
//TODO: VAESENCLAST X23, X16, X23 // 62a27d00ddff or 62a2fd00ddff
//TODO: VAESENCLAST X11, X16, X23 // 62c27d00ddfb or 62c2fd00ddfb
//TODO: VAESENCLAST X31, X16, X23 // 62827d00ddff or 6282fd00ddff
//TODO: VAESENCLAST (AX), X16, X23 // 62e27d00dd38 or 62e2fd00dd38
//TODO: VAESENCLAST 7(SI), X16, X23 // 62e27d00ddbe07000000 or 62e2fd00ddbe07000000
//TODO: VAESENCLAST X23, X23, X23 // 62a24500ddff or 62a2c500ddff
//TODO: VAESENCLAST X11, X23, X23 // 62c24500ddfb or 62c2c500ddfb
//TODO: VAESENCLAST X31, X23, X23 // 62824500ddff or 6282c500ddff
//TODO: VAESENCLAST (AX), X23, X23 // 62e24500dd38 or 62e2c500dd38
//TODO: VAESENCLAST 7(SI), X23, X23 // 62e24500ddbe07000000 or 62e2c500ddbe07000000
//TODO: VAESENCLAST Y5, Y19, Y3 // 62f26520dddd or 62f2e520dddd
//TODO: VAESENCLAST Y16, Y19, Y3 // 62b26520ddd8 or 62b2e520ddd8
//TODO: VAESENCLAST Y2, Y19, Y3 // 62f26520ddda or 62f2e520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y19, Y3 // 62f26520dd9c3e07000000 or 62f2e520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y19, Y3 // 62f26520dd9cda0f000000 or 62f2e520dd9cda0f000000
//TODO: VAESENCLAST Y16, Y14, Y3 // 62b20d28ddd8 or 62b28d28ddd8
//TODO: VAESENCLAST Y5, Y21, Y3 // 62f25520dddd or 62f2d520dddd
//TODO: VAESENCLAST Y16, Y21, Y3 // 62b25520ddd8 or 62b2d520ddd8
//TODO: VAESENCLAST Y2, Y21, Y3 // 62f25520ddda or 62f2d520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y21, Y3 // 62f25520dd9c3e07000000 or 62f2d520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y21, Y3 // 62f25520dd9cda0f000000 or 62f2d520dd9cda0f000000
//TODO: VAESENCLAST Y5, Y19, Y19 // 62e26520dddd or 62e2e520dddd
//TODO: VAESENCLAST Y16, Y19, Y19 // 62a26520ddd8 or 62a2e520ddd8
//TODO: VAESENCLAST Y2, Y19, Y19 // 62e26520ddda or 62e2e520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y19, Y19 // 62e26520dd9c3e07000000 or 62e2e520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y19, Y19 // 62e26520dd9cda0f000000 or 62e2e520dd9cda0f000000
//TODO: VAESENCLAST Y5, Y14, Y19 // 62e20d28dddd or 62e28d28dddd
//TODO: VAESENCLAST Y16, Y14, Y19 // 62a20d28ddd8 or 62a28d28ddd8
//TODO: VAESENCLAST Y2, Y14, Y19 // 62e20d28ddda or 62e28d28ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y14, Y19 // 62e20d28dd9c3e07000000 or 62e28d28dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y14, Y19 // 62e20d28dd9cda0f000000 or 62e28d28dd9cda0f000000
//TODO: VAESENCLAST Y5, Y21, Y19 // 62e25520dddd or 62e2d520dddd
//TODO: VAESENCLAST Y16, Y21, Y19 // 62a25520ddd8 or 62a2d520ddd8
//TODO: VAESENCLAST Y2, Y21, Y19 // 62e25520ddda or 62e2d520ddda
//TODO: VAESENCLAST 7(SI)(DI*1), Y21, Y19 // 62e25520dd9c3e07000000 or 62e2d520dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y21, Y19 // 62e25520dd9cda0f000000 or 62e2d520dd9cda0f000000
//TODO: VAESENCLAST Y5, Y19, Y23 // 62e26520ddfd or 62e2e520ddfd
//TODO: VAESENCLAST Y16, Y19, Y23 // 62a26520ddf8 or 62a2e520ddf8
//TODO: VAESENCLAST Y2, Y19, Y23 // 62e26520ddfa or 62e2e520ddfa
//TODO: VAESENCLAST 7(SI)(DI*1), Y19, Y23 // 62e26520ddbc3e07000000 or 62e2e520ddbc3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y19, Y23 // 62e26520ddbcda0f000000 or 62e2e520ddbcda0f000000
//TODO: VAESENCLAST Y5, Y14, Y23 // 62e20d28ddfd or 62e28d28ddfd
//TODO: VAESENCLAST Y16, Y14, Y23 // 62a20d28ddf8 or 62a28d28ddf8
//TODO: VAESENCLAST Y2, Y14, Y23 // 62e20d28ddfa or 62e28d28ddfa
//TODO: VAESENCLAST 7(SI)(DI*1), Y14, Y23 // 62e20d28ddbc3e07000000 or 62e28d28ddbc3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y14, Y23 // 62e20d28ddbcda0f000000 or 62e28d28ddbcda0f000000
//TODO: VAESENCLAST Y5, Y21, Y23 // 62e25520ddfd or 62e2d520ddfd
//TODO: VAESENCLAST Y16, Y21, Y23 // 62a25520ddf8 or 62a2d520ddf8
//TODO: VAESENCLAST Y2, Y21, Y23 // 62e25520ddfa or 62e2d520ddfa
//TODO: VAESENCLAST 7(SI)(DI*1), Y21, Y23 // 62e25520ddbc3e07000000 or 62e2d520ddbc3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Y21, Y23 // 62e25520ddbcda0f000000 or 62e2d520ddbcda0f000000
//TODO: VAESENCLAST Z25, Z6, Z22 // 62824d48ddf1 or 6282cd48ddf1
//TODO: VAESENCLAST Z12, Z6, Z22 // 62c24d48ddf4 or 62c2cd48ddf4
//TODO: VAESENCLAST 7(SI)(DI*1), Z6, Z22 // 62e24d48ddb43e07000000 or 62e2cd48ddb43e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z6, Z22 // 62e24d48ddb4da0f000000 or 62e2cd48ddb4da0f000000
//TODO: VAESENCLAST Z25, Z8, Z22 // 62823d48ddf1 or 6282bd48ddf1
//TODO: VAESENCLAST Z12, Z8, Z22 // 62c23d48ddf4 or 62c2bd48ddf4
//TODO: VAESENCLAST 7(SI)(DI*1), Z8, Z22 // 62e23d48ddb43e07000000 or 62e2bd48ddb43e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z8, Z22 // 62e23d48ddb4da0f000000 or 62e2bd48ddb4da0f000000
//TODO: VAESENCLAST Z25, Z6, Z11 // 62124d48ddd9 or 6212cd48ddd9
//TODO: VAESENCLAST Z12, Z6, Z11 // 62524d48dddc or 6252cd48dddc
//TODO: VAESENCLAST 7(SI)(DI*1), Z6, Z11 // 62724d48dd9c3e07000000 or 6272cd48dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z6, Z11 // 62724d48dd9cda0f000000 or 6272cd48dd9cda0f000000
//TODO: VAESENCLAST Z25, Z8, Z11 // 62123d48ddd9 or 6212bd48ddd9
//TODO: VAESENCLAST Z12, Z8, Z11 // 62523d48dddc or 6252bd48dddc
//TODO: VAESENCLAST 7(SI)(DI*1), Z8, Z11 // 62723d48dd9c3e07000000 or 6272bd48dd9c3e07000000
//TODO: VAESENCLAST 15(DX)(BX*8), Z8, Z11 // 62723d48dd9cda0f000000 or 6272bd48dd9cda0f000000
VAESDEC X24, X7, X11 // 62124508ded8 or 6212c508ded8
VAESDEC X20, X7, X11 // 62324508dedc or 6232c508dedc
VAESDEC X24, X0, X11 // 62127d08ded8 or 6212fd08ded8
VAESDEC X20, X0, X11 // 62327d08dedc or 6232fd08dedc
VAESDEC X24, X7, X31 // 62024508def8 or 6202c508def8
VAESDEC X20, X7, X31 // 62224508defc or 6222c508defc
VAESDEC X7, X7, X31 // 62624508deff or 6262c508deff
VAESDEC -7(DI)(R8*1), X7, X31 // 62224508debc07f9ffffff or 6222c508debc07f9ffffff
VAESDEC (SP), X7, X31 // 62624508de3c24 or 6262c508de3c24
VAESDEC X24, X0, X31 // 62027d08def8 or 6202fd08def8
VAESDEC X20, X0, X31 // 62227d08defc or 6222fd08defc
VAESDEC X7, X0, X31 // 62627d08deff or 6262fd08deff
VAESDEC -7(DI)(R8*1), X0, X31 // 62227d08debc07f9ffffff or 6222fd08debc07f9ffffff
VAESDEC (SP), X0, X31 // 62627d08de3c24 or 6262fd08de3c24
VAESDEC X24, X7, X3 // 62924508ded8 or 6292c508ded8
VAESDEC X20, X7, X3 // 62b24508dedc or 62b2c508dedc
VAESDEC X24, X0, X3 // 62927d08ded8 or 6292fd08ded8
VAESDEC X20, X0, X3 // 62b27d08dedc or 62b2fd08dedc
VAESDEC Y5, Y31, Y22 // 62e20520def5 or 62e28520def5
VAESDEC Y19, Y31, Y22 // 62a20520def3 or 62a28520def3
VAESDEC Y31, Y31, Y22 // 62820520def7 or 62828520def7
VAESDEC 99(R15)(R15*1), Y31, Y22 // 62820520deb43f63000000 or 62828520deb43f63000000
VAESDEC (DX), Y31, Y22 // 62e20520de32 or 62e28520de32
VAESDEC Y5, Y5, Y22 // 62e25528def5 or 62e2d528def5
VAESDEC Y19, Y5, Y22 // 62a25528def3 or 62a2d528def3
VAESDEC Y31, Y5, Y22 // 62825528def7 or 6282d528def7
VAESDEC 99(R15)(R15*1), Y5, Y22 // 62825528deb43f63000000 or 6282d528deb43f63000000
VAESDEC (DX), Y5, Y22 // 62e25528de32 or 62e2d528de32
VAESDEC Y5, Y0, Y22 // 62e27d28def5 or 62e2fd28def5
VAESDEC Y19, Y0, Y22 // 62a27d28def3 or 62a2fd28def3
VAESDEC Y31, Y0, Y22 // 62827d28def7 or 6282fd28def7
VAESDEC 99(R15)(R15*1), Y0, Y22 // 62827d28deb43f63000000 or 6282fd28deb43f63000000
VAESDEC (DX), Y0, Y22 // 62e27d28de32 or 62e2fd28de32
VAESDEC Y5, Y31, Y9 // 62720520decd or 62728520decd
VAESDEC Y19, Y31, Y9 // 62320520decb or 62328520decb
VAESDEC Y31, Y31, Y9 // 62120520decf or 62128520decf
VAESDEC 99(R15)(R15*1), Y31, Y9 // 62120520de8c3f63000000 or 62128520de8c3f63000000
VAESDEC (DX), Y31, Y9 // 62720520de0a or 62728520de0a
VAESDEC Y19, Y5, Y9 // 62325528decb or 6232d528decb
VAESDEC Y31, Y5, Y9 // 62125528decf or 6212d528decf
VAESDEC Y19, Y0, Y9 // 62327d28decb or 6232fd28decb
VAESDEC Y31, Y0, Y9 // 62127d28decf or 6212fd28decf
VAESDEC Y5, Y31, Y23 // 62e20520defd or 62e28520defd
VAESDEC Y19, Y31, Y23 // 62a20520defb or 62a28520defb
VAESDEC Y31, Y31, Y23 // 62820520deff or 62828520deff
VAESDEC 99(R15)(R15*1), Y31, Y23 // 62820520debc3f63000000 or 62828520debc3f63000000
VAESDEC (DX), Y31, Y23 // 62e20520de3a or 62e28520de3a
VAESDEC Y5, Y5, Y23 // 62e25528defd or 62e2d528defd
VAESDEC Y19, Y5, Y23 // 62a25528defb or 62a2d528defb
VAESDEC Y31, Y5, Y23 // 62825528deff or 6282d528deff
VAESDEC 99(R15)(R15*1), Y5, Y23 // 62825528debc3f63000000 or 6282d528debc3f63000000
VAESDEC (DX), Y5, Y23 // 62e25528de3a or 62e2d528de3a
VAESDEC Y5, Y0, Y23 // 62e27d28defd or 62e2fd28defd
VAESDEC Y19, Y0, Y23 // 62a27d28defb or 62a2fd28defb
VAESDEC Y31, Y0, Y23 // 62827d28deff or 6282fd28deff
VAESDEC 99(R15)(R15*1), Y0, Y23 // 62827d28debc3f63000000 or 6282fd28debc3f63000000
VAESDEC (DX), Y0, Y23 // 62e27d28de3a or 62e2fd28de3a
VAESDEC Z27, Z3, Z11 // 62126548dedb or 6212e548dedb
VAESDEC Z15, Z3, Z11 // 62526548dedf or 6252e548dedf
VAESDEC 99(R15)(R15*1), Z3, Z11 // 62126548de9c3f63000000 or 6212e548de9c3f63000000
VAESDEC (DX), Z3, Z11 // 62726548de1a or 6272e548de1a
VAESDEC Z27, Z12, Z11 // 62121d48dedb or 62129d48dedb
VAESDEC Z15, Z12, Z11 // 62521d48dedf or 62529d48dedf
VAESDEC 99(R15)(R15*1), Z12, Z11 // 62121d48de9c3f63000000 or 62129d48de9c3f63000000
VAESDEC (DX), Z12, Z11 // 62721d48de1a or 62729d48de1a
VAESDEC Z27, Z3, Z25 // 62026548decb or 6202e548decb
VAESDEC Z15, Z3, Z25 // 62426548decf or 6242e548decf
VAESDEC 99(R15)(R15*1), Z3, Z25 // 62026548de8c3f63000000 or 6202e548de8c3f63000000
VAESDEC (DX), Z3, Z25 // 62626548de0a or 6262e548de0a
VAESDEC Z27, Z12, Z25 // 62021d48decb or 62029d48decb
VAESDEC Z15, Z12, Z25 // 62421d48decf or 62429d48decf
VAESDEC 99(R15)(R15*1), Z12, Z25 // 62021d48de8c3f63000000 or 62029d48de8c3f63000000
VAESDEC (DX), Z12, Z25 // 62621d48de0a or 62629d48de0a
VAESDECLAST X21, X5, X9 // 62325508dfcd or 6232d508dfcd
VAESDECLAST X21, X31, X9 // 62320500dfcd or 62328500dfcd
VAESDECLAST X1, X31, X9 // 62720500dfc9 or 62728500dfc9
VAESDECLAST X11, X31, X9 // 62520500dfcb or 62528500dfcb
VAESDECLAST -7(CX), X31, X9 // 62720500df89f9ffffff or 62728500df89f9ffffff
VAESDECLAST 15(DX)(BX*4), X31, X9 // 62720500df8c9a0f000000 or 62728500df8c9a0f000000
VAESDECLAST X21, X3, X9 // 62326508dfcd or 6232e508dfcd
VAESDECLAST X21, X5, X7 // 62b25508dffd or 62b2d508dffd
VAESDECLAST X21, X31, X7 // 62b20500dffd or 62b28500dffd
VAESDECLAST X1, X31, X7 // 62f20500dff9 or 62f28500dff9
VAESDECLAST X11, X31, X7 // 62d20500dffb or 62d28500dffb
VAESDECLAST -7(CX), X31, X7 // 62f20500dfb9f9ffffff or 62f28500dfb9f9ffffff
VAESDECLAST 15(DX)(BX*4), X31, X7 // 62f20500dfbc9a0f000000 or 62f28500dfbc9a0f000000
VAESDECLAST X21, X3, X7 // 62b26508dffd or 62b2e508dffd
VAESDECLAST X21, X5, X14 // 62325508dff5 or 6232d508dff5
VAESDECLAST X21, X31, X14 // 62320500dff5 or 62328500dff5
VAESDECLAST X1, X31, X14 // 62720500dff1 or 62728500dff1
VAESDECLAST X11, X31, X14 // 62520500dff3 or 62528500dff3
VAESDECLAST -7(CX), X31, X14 // 62720500dfb1f9ffffff or 62728500dfb1f9ffffff
VAESDECLAST 15(DX)(BX*4), X31, X14 // 62720500dfb49a0f000000 or 62728500dfb49a0f000000
VAESDECLAST X21, X3, X14 // 62326508dff5 or 6232e508dff5
VAESDECLAST Y31, Y27, Y28 // 62022520dfe7 or 6202a520dfe7
VAESDECLAST Y3, Y27, Y28 // 62622520dfe3 or 6262a520dfe3
VAESDECLAST Y14, Y27, Y28 // 62422520dfe6 or 6242a520dfe6
VAESDECLAST -17(BP)(SI*8), Y27, Y28 // 62622520dfa4f5efffffff or 6262a520dfa4f5efffffff
VAESDECLAST (R15), Y27, Y28 // 62422520df27 or 6242a520df27
VAESDECLAST Y31, Y0, Y28 // 62027d28dfe7 or 6202fd28dfe7
VAESDECLAST Y3, Y0, Y28 // 62627d28dfe3 or 6262fd28dfe3
VAESDECLAST Y14, Y0, Y28 // 62427d28dfe6 or 6242fd28dfe6
VAESDECLAST -17(BP)(SI*8), Y0, Y28 // 62627d28dfa4f5efffffff or 6262fd28dfa4f5efffffff
VAESDECLAST (R15), Y0, Y28 // 62427d28df27 or 6242fd28df27
VAESDECLAST Y31, Y11, Y28 // 62022528dfe7 or 6202a528dfe7
VAESDECLAST Y3, Y11, Y28 // 62622528dfe3 or 6262a528dfe3
VAESDECLAST Y14, Y11, Y28 // 62422528dfe6 or 6242a528dfe6
VAESDECLAST -17(BP)(SI*8), Y11, Y28 // 62622528dfa4f5efffffff or 6262a528dfa4f5efffffff
VAESDECLAST (R15), Y11, Y28 // 62422528df27 or 6242a528df27
VAESDECLAST Y31, Y27, Y2 // 62922520dfd7 or 6292a520dfd7
VAESDECLAST Y3, Y27, Y2 // 62f22520dfd3 or 62f2a520dfd3
VAESDECLAST Y14, Y27, Y2 // 62d22520dfd6 or 62d2a520dfd6
VAESDECLAST -17(BP)(SI*8), Y27, Y2 // 62f22520df94f5efffffff or 62f2a520df94f5efffffff
VAESDECLAST (R15), Y27, Y2 // 62d22520df17 or 62d2a520df17
VAESDECLAST Y31, Y0, Y2 // 62927d28dfd7 or 6292fd28dfd7
VAESDECLAST Y31, Y11, Y2 // 62922528dfd7 or 6292a528dfd7
VAESDECLAST Y31, Y27, Y24 // 62022520dfc7 or 6202a520dfc7
VAESDECLAST Y3, Y27, Y24 // 62622520dfc3 or 6262a520dfc3
VAESDECLAST Y14, Y27, Y24 // 62422520dfc6 or 6242a520dfc6
VAESDECLAST -17(BP)(SI*8), Y27, Y24 // 62622520df84f5efffffff or 6262a520df84f5efffffff
VAESDECLAST (R15), Y27, Y24 // 62422520df07 or 6242a520df07
VAESDECLAST Y31, Y0, Y24 // 62027d28dfc7 or 6202fd28dfc7
VAESDECLAST Y3, Y0, Y24 // 62627d28dfc3 or 6262fd28dfc3
VAESDECLAST Y14, Y0, Y24 // 62427d28dfc6 or 6242fd28dfc6
VAESDECLAST -17(BP)(SI*8), Y0, Y24 // 62627d28df84f5efffffff or 6262fd28df84f5efffffff
VAESDECLAST (R15), Y0, Y24 // 62427d28df07 or 6242fd28df07
VAESDECLAST Y31, Y11, Y24 // 62022528dfc7 or 6202a528dfc7
VAESDECLAST Y3, Y11, Y24 // 62622528dfc3 or 6262a528dfc3
VAESDECLAST Y14, Y11, Y24 // 62422528dfc6 or 6242a528dfc6
VAESDECLAST -17(BP)(SI*8), Y11, Y24 // 62622528df84f5efffffff or 6262a528df84f5efffffff
VAESDECLAST (R15), Y11, Y24 // 62422528df07 or 6242a528df07
VAESDECLAST Z8, Z23, Z23 // 62c24540dff8 or 62c2c540dff8
VAESDECLAST Z28, Z23, Z23 // 62824540dffc or 6282c540dffc
VAESDECLAST -17(BP)(SI*8), Z23, Z23 // 62e24540dfbcf5efffffff or 62e2c540dfbcf5efffffff
VAESDECLAST (R15), Z23, Z23 // 62c24540df3f or 62c2c540df3f
VAESDECLAST Z8, Z6, Z23 // 62c24d48dff8 or 62c2cd48dff8
VAESDECLAST Z28, Z6, Z23 // 62824d48dffc or 6282cd48dffc
VAESDECLAST -17(BP)(SI*8), Z6, Z23 // 62e24d48dfbcf5efffffff or 62e2cd48dfbcf5efffffff
VAESDECLAST (R15), Z6, Z23 // 62c24d48df3f or 62c2cd48df3f
VAESDECLAST Z8, Z23, Z5 // 62d24540dfe8 or 62d2c540dfe8
VAESDECLAST Z28, Z23, Z5 // 62924540dfec or 6292c540dfec
VAESDECLAST -17(BP)(SI*8), Z23, Z5 // 62f24540dfacf5efffffff or 62f2c540dfacf5efffffff
VAESDECLAST (R15), Z23, Z5 // 62d24540df2f or 62d2c540df2f
VAESDECLAST Z8, Z6, Z5 // 62d24d48dfe8 or 62d2cd48dfe8
VAESDECLAST Z28, Z6, Z5 // 62924d48dfec or 6292cd48dfec
VAESDECLAST -17(BP)(SI*8), Z6, Z5 // 62f24d48dfacf5efffffff or 62f2cd48dfacf5efffffff
VAESDECLAST (R15), Z6, Z5 // 62d24d48df2f or 62d2cd48df2f
VAESENC X14, X16, X13 // 62527d00dcee or 6252fd00dcee
VAESENC X19, X16, X13 // 62327d00dceb or 6232fd00dceb
VAESENC X8, X16, X13 // 62527d00dce8 or 6252fd00dce8
VAESENC 99(R15)(R15*8), X16, X13 // 62127d00dcacff63000000 or 6212fd00dcacff63000000
VAESENC 7(AX)(CX*8), X16, X13 // 62727d00dcacc807000000 or 6272fd00dcacc807000000
VAESENC X19, X14, X13 // 62320d08dceb or 62328d08dceb
VAESENC X19, X11, X13 // 62322508dceb or 6232a508dceb
VAESENC X14, X16, X0 // 62d27d00dcc6 or 62d2fd00dcc6
VAESENC X19, X16, X0 // 62b27d00dcc3 or 62b2fd00dcc3
VAESENC X8, X16, X0 // 62d27d00dcc0 or 62d2fd00dcc0
VAESENC 99(R15)(R15*8), X16, X0 // 62927d00dc84ff63000000 or 6292fd00dc84ff63000000
VAESENC 7(AX)(CX*8), X16, X0 // 62f27d00dc84c807000000 or 62f2fd00dc84c807000000
VAESENC X19, X14, X0 // 62b20d08dcc3 or 62b28d08dcc3
VAESENC X19, X11, X0 // 62b22508dcc3 or 62b2a508dcc3
VAESENC X14, X16, X30 // 62427d00dcf6 or 6242fd00dcf6
VAESENC X19, X16, X30 // 62227d00dcf3 or 6222fd00dcf3
VAESENC X8, X16, X30 // 62427d00dcf0 or 6242fd00dcf0
VAESENC 99(R15)(R15*8), X16, X30 // 62027d00dcb4ff63000000 or 6202fd00dcb4ff63000000
VAESENC 7(AX)(CX*8), X16, X30 // 62627d00dcb4c807000000 or 6262fd00dcb4c807000000
VAESENC X14, X14, X30 // 62420d08dcf6 or 62428d08dcf6
VAESENC X19, X14, X30 // 62220d08dcf3 or 62228d08dcf3
VAESENC X8, X14, X30 // 62420d08dcf0 or 62428d08dcf0
VAESENC 99(R15)(R15*8), X14, X30 // 62020d08dcb4ff63000000 or 62028d08dcb4ff63000000
VAESENC 7(AX)(CX*8), X14, X30 // 62620d08dcb4c807000000 or 62628d08dcb4c807000000
VAESENC X14, X11, X30 // 62422508dcf6 or 6242a508dcf6
VAESENC X19, X11, X30 // 62222508dcf3 or 6222a508dcf3
VAESENC X8, X11, X30 // 62422508dcf0 or 6242a508dcf0
VAESENC 99(R15)(R15*8), X11, X30 // 62022508dcb4ff63000000 or 6202a508dcb4ff63000000
VAESENC 7(AX)(CX*8), X11, X30 // 62622508dcb4c807000000 or 6262a508dcb4c807000000
VAESENC Y18, Y15, Y2 // 62b20528dcd2 or 62b28528dcd2
VAESENC Y24, Y15, Y2 // 62920528dcd0 or 62928528dcd0
VAESENC Y18, Y22, Y2 // 62b24d20dcd2 or 62b2cd20dcd2
VAESENC Y24, Y22, Y2 // 62924d20dcd0 or 6292cd20dcd0
VAESENC Y9, Y22, Y2 // 62d24d20dcd1 or 62d2cd20dcd1
VAESENC 7(SI)(DI*8), Y22, Y2 // 62f24d20dc94fe07000000 or 62f2cd20dc94fe07000000
VAESENC -15(R14), Y22, Y2 // 62d24d20dc96f1ffffff or 62d2cd20dc96f1ffffff
VAESENC Y18, Y20, Y2 // 62b25d20dcd2 or 62b2dd20dcd2
VAESENC Y24, Y20, Y2 // 62925d20dcd0 or 6292dd20dcd0
VAESENC Y9, Y20, Y2 // 62d25d20dcd1 or 62d2dd20dcd1
VAESENC 7(SI)(DI*8), Y20, Y2 // 62f25d20dc94fe07000000 or 62f2dd20dc94fe07000000
VAESENC -15(R14), Y20, Y2 // 62d25d20dc96f1ffffff or 62d2dd20dc96f1ffffff
VAESENC Y18, Y15, Y13 // 62320528dcea or 62328528dcea
VAESENC Y24, Y15, Y13 // 62120528dce8 or 62128528dce8
VAESENC Y18, Y22, Y13 // 62324d20dcea or 6232cd20dcea
VAESENC Y24, Y22, Y13 // 62124d20dce8 or 6212cd20dce8
VAESENC Y9, Y22, Y13 // 62524d20dce9 or 6252cd20dce9
VAESENC 7(SI)(DI*8), Y22, Y13 // 62724d20dcacfe07000000 or 6272cd20dcacfe07000000
VAESENC -15(R14), Y22, Y13 // 62524d20dcaef1ffffff or 6252cd20dcaef1ffffff
VAESENC Y18, Y20, Y13 // 62325d20dcea or 6232dd20dcea
VAESENC Y24, Y20, Y13 // 62125d20dce8 or 6212dd20dce8
VAESENC Y9, Y20, Y13 // 62525d20dce9 or 6252dd20dce9
VAESENC 7(SI)(DI*8), Y20, Y13 // 62725d20dcacfe07000000 or 6272dd20dcacfe07000000
VAESENC -15(R14), Y20, Y13 // 62525d20dcaef1ffffff or 6252dd20dcaef1ffffff
VAESENC Y18, Y15, Y27 // 62220528dcda or 62228528dcda
VAESENC Y24, Y15, Y27 // 62020528dcd8 or 62028528dcd8
VAESENC Y9, Y15, Y27 // 62420528dcd9 or 62428528dcd9
VAESENC 7(SI)(DI*8), Y15, Y27 // 62620528dc9cfe07000000 or 62628528dc9cfe07000000
VAESENC -15(R14), Y15, Y27 // 62420528dc9ef1ffffff or 62428528dc9ef1ffffff
VAESENC Y18, Y22, Y27 // 62224d20dcda or 6222cd20dcda
VAESENC Y24, Y22, Y27 // 62024d20dcd8 or 6202cd20dcd8
VAESENC Y9, Y22, Y27 // 62424d20dcd9 or 6242cd20dcd9
VAESENC 7(SI)(DI*8), Y22, Y27 // 62624d20dc9cfe07000000 or 6262cd20dc9cfe07000000
VAESENC -15(R14), Y22, Y27 // 62424d20dc9ef1ffffff or 6242cd20dc9ef1ffffff
VAESENC Y18, Y20, Y27 // 62225d20dcda or 6222dd20dcda
VAESENC Y24, Y20, Y27 // 62025d20dcd8 or 6202dd20dcd8
VAESENC Y9, Y20, Y27 // 62425d20dcd9 or 6242dd20dcd9
VAESENC 7(SI)(DI*8), Y20, Y27 // 62625d20dc9cfe07000000 or 6262dd20dc9cfe07000000
VAESENC -15(R14), Y20, Y27 // 62425d20dc9ef1ffffff or 6242dd20dc9ef1ffffff
VAESENC Z12, Z16, Z21 // 62c27d40dcec or 62c2fd40dcec
VAESENC Z27, Z16, Z21 // 62827d40dceb or 6282fd40dceb
VAESENC 7(SI)(DI*8), Z16, Z21 // 62e27d40dcacfe07000000 or 62e2fd40dcacfe07000000
VAESENC -15(R14), Z16, Z21 // 62c27d40dcaef1ffffff or 62c2fd40dcaef1ffffff
VAESENC Z12, Z13, Z21 // 62c21548dcec or 62c29548dcec
VAESENC Z27, Z13, Z21 // 62821548dceb or 62829548dceb
VAESENC 7(SI)(DI*8), Z13, Z21 // 62e21548dcacfe07000000 or 62e29548dcacfe07000000
VAESENC -15(R14), Z13, Z21 // 62c21548dcaef1ffffff or 62c29548dcaef1ffffff
VAESENC Z12, Z16, Z5 // 62d27d40dcec or 62d2fd40dcec
VAESENC Z27, Z16, Z5 // 62927d40dceb or 6292fd40dceb
VAESENC 7(SI)(DI*8), Z16, Z5 // 62f27d40dcacfe07000000 or 62f2fd40dcacfe07000000
VAESENC -15(R14), Z16, Z5 // 62d27d40dcaef1ffffff or 62d2fd40dcaef1ffffff
VAESENC Z12, Z13, Z5 // 62d21548dcec or 62d29548dcec
VAESENC Z27, Z13, Z5 // 62921548dceb or 62929548dceb
VAESENC 7(SI)(DI*8), Z13, Z5 // 62f21548dcacfe07000000 or 62f29548dcacfe07000000
VAESENC -15(R14), Z13, Z5 // 62d21548dcaef1ffffff or 62d29548dcaef1ffffff
VAESENCLAST X23, X12, X8 // 62321d08ddc7 or 62329d08ddc7
VAESENCLAST X31, X12, X8 // 62121d08ddc7 or 62129d08ddc7
VAESENCLAST X23, X16, X8 // 62327d00ddc7 or 6232fd00ddc7
VAESENCLAST X11, X16, X8 // 62527d00ddc3 or 6252fd00ddc3
VAESENCLAST X31, X16, X8 // 62127d00ddc7 or 6212fd00ddc7
VAESENCLAST (AX), X16, X8 // 62727d00dd00 or 6272fd00dd00
VAESENCLAST 7(SI), X16, X8 // 62727d00dd8607000000 or 6272fd00dd8607000000
VAESENCLAST X23, X23, X8 // 62324500ddc7 or 6232c500ddc7
VAESENCLAST X11, X23, X8 // 62524500ddc3 or 6252c500ddc3
VAESENCLAST X31, X23, X8 // 62124500ddc7 or 6212c500ddc7
VAESENCLAST (AX), X23, X8 // 62724500dd00 or 6272c500dd00
VAESENCLAST 7(SI), X23, X8 // 62724500dd8607000000 or 6272c500dd8607000000
VAESENCLAST X23, X12, X26 // 62221d08ddd7 or 62229d08ddd7
VAESENCLAST X11, X12, X26 // 62421d08ddd3 or 62429d08ddd3
VAESENCLAST X31, X12, X26 // 62021d08ddd7 or 62029d08ddd7
VAESENCLAST (AX), X12, X26 // 62621d08dd10 or 62629d08dd10
VAESENCLAST 7(SI), X12, X26 // 62621d08dd9607000000 or 62629d08dd9607000000
VAESENCLAST X23, X16, X26 // 62227d00ddd7 or 6222fd00ddd7
VAESENCLAST X11, X16, X26 // 62427d00ddd3 or 6242fd00ddd3
VAESENCLAST X31, X16, X26 // 62027d00ddd7 or 6202fd00ddd7
VAESENCLAST (AX), X16, X26 // 62627d00dd10 or 6262fd00dd10
VAESENCLAST 7(SI), X16, X26 // 62627d00dd9607000000 or 6262fd00dd9607000000
VAESENCLAST X23, X23, X26 // 62224500ddd7 or 6222c500ddd7
VAESENCLAST X11, X23, X26 // 62424500ddd3 or 6242c500ddd3
VAESENCLAST X31, X23, X26 // 62024500ddd7 or 6202c500ddd7
VAESENCLAST (AX), X23, X26 // 62624500dd10 or 6262c500dd10
VAESENCLAST 7(SI), X23, X26 // 62624500dd9607000000 or 6262c500dd9607000000
VAESENCLAST X23, X12, X23 // 62a21d08ddff or 62a29d08ddff
VAESENCLAST X11, X12, X23 // 62c21d08ddfb or 62c29d08ddfb
VAESENCLAST X31, X12, X23 // 62821d08ddff or 62829d08ddff
VAESENCLAST (AX), X12, X23 // 62e21d08dd38 or 62e29d08dd38
VAESENCLAST 7(SI), X12, X23 // 62e21d08ddbe07000000 or 62e29d08ddbe07000000
VAESENCLAST X23, X16, X23 // 62a27d00ddff or 62a2fd00ddff
VAESENCLAST X11, X16, X23 // 62c27d00ddfb or 62c2fd00ddfb
VAESENCLAST X31, X16, X23 // 62827d00ddff or 6282fd00ddff
VAESENCLAST (AX), X16, X23 // 62e27d00dd38 or 62e2fd00dd38
VAESENCLAST 7(SI), X16, X23 // 62e27d00ddbe07000000 or 62e2fd00ddbe07000000
VAESENCLAST X23, X23, X23 // 62a24500ddff or 62a2c500ddff
VAESENCLAST X11, X23, X23 // 62c24500ddfb or 62c2c500ddfb
VAESENCLAST X31, X23, X23 // 62824500ddff or 6282c500ddff
VAESENCLAST (AX), X23, X23 // 62e24500dd38 or 62e2c500dd38
VAESENCLAST 7(SI), X23, X23 // 62e24500ddbe07000000 or 62e2c500ddbe07000000
VAESENCLAST Y5, Y19, Y3 // 62f26520dddd or 62f2e520dddd
VAESENCLAST Y16, Y19, Y3 // 62b26520ddd8 or 62b2e520ddd8
VAESENCLAST Y2, Y19, Y3 // 62f26520ddda or 62f2e520ddda
VAESENCLAST 7(SI)(DI*1), Y19, Y3 // 62f26520dd9c3e07000000 or 62f2e520dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Y19, Y3 // 62f26520dd9cda0f000000 or 62f2e520dd9cda0f000000
VAESENCLAST Y16, Y14, Y3 // 62b20d28ddd8 or 62b28d28ddd8
VAESENCLAST Y5, Y21, Y3 // 62f25520dddd or 62f2d520dddd
VAESENCLAST Y16, Y21, Y3 // 62b25520ddd8 or 62b2d520ddd8
VAESENCLAST Y2, Y21, Y3 // 62f25520ddda or 62f2d520ddda
VAESENCLAST 7(SI)(DI*1), Y21, Y3 // 62f25520dd9c3e07000000 or 62f2d520dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Y21, Y3 // 62f25520dd9cda0f000000 or 62f2d520dd9cda0f000000
VAESENCLAST Y5, Y19, Y19 // 62e26520dddd or 62e2e520dddd
VAESENCLAST Y16, Y19, Y19 // 62a26520ddd8 or 62a2e520ddd8
VAESENCLAST Y2, Y19, Y19 // 62e26520ddda or 62e2e520ddda
VAESENCLAST 7(SI)(DI*1), Y19, Y19 // 62e26520dd9c3e07000000 or 62e2e520dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Y19, Y19 // 62e26520dd9cda0f000000 or 62e2e520dd9cda0f000000
VAESENCLAST Y5, Y14, Y19 // 62e20d28dddd or 62e28d28dddd
VAESENCLAST Y16, Y14, Y19 // 62a20d28ddd8 or 62a28d28ddd8
VAESENCLAST Y2, Y14, Y19 // 62e20d28ddda or 62e28d28ddda
VAESENCLAST 7(SI)(DI*1), Y14, Y19 // 62e20d28dd9c3e07000000 or 62e28d28dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Y14, Y19 // 62e20d28dd9cda0f000000 or 62e28d28dd9cda0f000000
VAESENCLAST Y5, Y21, Y19 // 62e25520dddd or 62e2d520dddd
VAESENCLAST Y16, Y21, Y19 // 62a25520ddd8 or 62a2d520ddd8
VAESENCLAST Y2, Y21, Y19 // 62e25520ddda or 62e2d520ddda
VAESENCLAST 7(SI)(DI*1), Y21, Y19 // 62e25520dd9c3e07000000 or 62e2d520dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Y21, Y19 // 62e25520dd9cda0f000000 or 62e2d520dd9cda0f000000
VAESENCLAST Y5, Y19, Y23 // 62e26520ddfd or 62e2e520ddfd
VAESENCLAST Y16, Y19, Y23 // 62a26520ddf8 or 62a2e520ddf8
VAESENCLAST Y2, Y19, Y23 // 62e26520ddfa or 62e2e520ddfa
VAESENCLAST 7(SI)(DI*1), Y19, Y23 // 62e26520ddbc3e07000000 or 62e2e520ddbc3e07000000
VAESENCLAST 15(DX)(BX*8), Y19, Y23 // 62e26520ddbcda0f000000 or 62e2e520ddbcda0f000000
VAESENCLAST Y5, Y14, Y23 // 62e20d28ddfd or 62e28d28ddfd
VAESENCLAST Y16, Y14, Y23 // 62a20d28ddf8 or 62a28d28ddf8
VAESENCLAST Y2, Y14, Y23 // 62e20d28ddfa or 62e28d28ddfa
VAESENCLAST 7(SI)(DI*1), Y14, Y23 // 62e20d28ddbc3e07000000 or 62e28d28ddbc3e07000000
VAESENCLAST 15(DX)(BX*8), Y14, Y23 // 62e20d28ddbcda0f000000 or 62e28d28ddbcda0f000000
VAESENCLAST Y5, Y21, Y23 // 62e25520ddfd or 62e2d520ddfd
VAESENCLAST Y16, Y21, Y23 // 62a25520ddf8 or 62a2d520ddf8
VAESENCLAST Y2, Y21, Y23 // 62e25520ddfa or 62e2d520ddfa
VAESENCLAST 7(SI)(DI*1), Y21, Y23 // 62e25520ddbc3e07000000 or 62e2d520ddbc3e07000000
VAESENCLAST 15(DX)(BX*8), Y21, Y23 // 62e25520ddbcda0f000000 or 62e2d520ddbcda0f000000
VAESENCLAST Z25, Z6, Z22 // 62824d48ddf1 or 6282cd48ddf1
VAESENCLAST Z12, Z6, Z22 // 62c24d48ddf4 or 62c2cd48ddf4
VAESENCLAST 7(SI)(DI*1), Z6, Z22 // 62e24d48ddb43e07000000 or 62e2cd48ddb43e07000000
VAESENCLAST 15(DX)(BX*8), Z6, Z22 // 62e24d48ddb4da0f000000 or 62e2cd48ddb4da0f000000
VAESENCLAST Z25, Z8, Z22 // 62823d48ddf1 or 6282bd48ddf1
VAESENCLAST Z12, Z8, Z22 // 62c23d48ddf4 or 62c2bd48ddf4
VAESENCLAST 7(SI)(DI*1), Z8, Z22 // 62e23d48ddb43e07000000 or 62e2bd48ddb43e07000000
VAESENCLAST 15(DX)(BX*8), Z8, Z22 // 62e23d48ddb4da0f000000 or 62e2bd48ddb4da0f000000
VAESENCLAST Z25, Z6, Z11 // 62124d48ddd9 or 6212cd48ddd9
VAESENCLAST Z12, Z6, Z11 // 62524d48dddc or 6252cd48dddc
VAESENCLAST 7(SI)(DI*1), Z6, Z11 // 62724d48dd9c3e07000000 or 6272cd48dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Z6, Z11 // 62724d48dd9cda0f000000 or 6272cd48dd9cda0f000000
VAESENCLAST Z25, Z8, Z11 // 62123d48ddd9 or 6212bd48ddd9
VAESENCLAST Z12, Z8, Z11 // 62523d48dddc or 6252bd48dddc
VAESENCLAST 7(SI)(DI*1), Z8, Z11 // 62723d48dd9c3e07000000 or 6272bd48dd9c3e07000000
VAESENCLAST 15(DX)(BX*8), Z8, Z11 // 62723d48dd9cda0f000000 or 6272bd48dd9cda0f000000
RET
......@@ -3,64 +3,64 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_4fmaps(SB), NOSPLIT, $0
//TODO: V4FMADDPS 17(SP), [Z0-Z3], K2, Z0 // 62f27f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z0 // 62f27f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z10-Z13], K2, Z0 // 62f22f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z0 // 62f22f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z20-Z23], K2, Z0 // 62f25f429a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z0 // 62f25f429a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z0-Z3], K2, Z8 // 62727f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z8 // 62727f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z10-Z13], K2, Z8 // 62722f4a9a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z8 // 62722f4a9a84b5efffffff
//TODO: V4FMADDPS 17(SP), [Z20-Z23], K2, Z8 // 62725f429a842411000000
//TODO: V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z8 // 62725f429a84b5efffffff
//TODO: V4FMADDSS 7(AX), [X0-X3], K5, X22 // 62e27f0d9bb007000000 or 62e27f2d9bb007000000 or 62e27f4d9bb007000000
//TODO: V4FMADDSS (DI), [X0-X3], K5, X22 // 62e27f0d9b37 or 62e27f2d9b37 or 62e27f4d9b37
//TODO: V4FMADDSS 7(AX), [X10-X13], K5, X22 // 62e22f0d9bb007000000 or 62e22f2d9bb007000000 or 62e22f4d9bb007000000
//TODO: V4FMADDSS (DI), [X10-X13], K5, X22 // 62e22f0d9b37 or 62e22f2d9b37 or 62e22f4d9b37
//TODO: V4FMADDSS 7(AX), [X20-X23], K5, X22 // 62e25f059bb007000000 or 62e25f259bb007000000 or 62e25f459bb007000000
//TODO: V4FMADDSS (DI), [X20-X23], K5, X22 // 62e25f059b37 or 62e25f259b37 or 62e25f459b37
//TODO: V4FMADDSS 7(AX), [X0-X3], K5, X30 // 62627f0d9bb007000000 or 62627f2d9bb007000000 or 62627f4d9bb007000000
//TODO: V4FMADDSS (DI), [X0-X3], K5, X30 // 62627f0d9b37 or 62627f2d9b37 or 62627f4d9b37
//TODO: V4FMADDSS 7(AX), [X10-X13], K5, X30 // 62622f0d9bb007000000 or 62622f2d9bb007000000 or 62622f4d9bb007000000
//TODO: V4FMADDSS (DI), [X10-X13], K5, X30 // 62622f0d9b37 or 62622f2d9b37 or 62622f4d9b37
//TODO: V4FMADDSS 7(AX), [X20-X23], K5, X30 // 62625f059bb007000000 or 62625f259bb007000000 or 62625f459bb007000000
//TODO: V4FMADDSS (DI), [X20-X23], K5, X30 // 62625f059b37 or 62625f259b37 or 62625f459b37
//TODO: V4FMADDSS 7(AX), [X0-X3], K5, X3 // 62f27f0d9b9807000000 or 62f27f2d9b9807000000 or 62f27f4d9b9807000000
//TODO: V4FMADDSS (DI), [X0-X3], K5, X3 // 62f27f0d9b1f or 62f27f2d9b1f or 62f27f4d9b1f
//TODO: V4FMADDSS 7(AX), [X10-X13], K5, X3 // 62f22f0d9b9807000000 or 62f22f2d9b9807000000 or 62f22f4d9b9807000000
//TODO: V4FMADDSS (DI), [X10-X13], K5, X3 // 62f22f0d9b1f or 62f22f2d9b1f or 62f22f4d9b1f
//TODO: V4FMADDSS 7(AX), [X20-X23], K5, X3 // 62f25f059b9807000000 or 62f25f259b9807000000 or 62f25f459b9807000000
//TODO: V4FMADDSS (DI), [X20-X23], K5, X3 // 62f25f059b1f or 62f25f259b1f or 62f25f459b1f
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z15 // 6212774baabc3f63000000
//TODO: V4FNMADDPS (DX), [Z1-Z4], K3, Z15 // 6272774baa3a
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z15 // 6212274baabc3f63000000
//TODO: V4FNMADDPS (DX), [Z11-Z14], K3, Z15 // 6272274baa3a
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z15 // 62125743aabc3f63000000
//TODO: V4FNMADDPS (DX), [Z21-Z24], K3, Z15 // 62725743aa3a
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z12 // 6212774baaa43f63000000
//TODO: V4FNMADDPS (DX), [Z1-Z4], K3, Z12 // 6272774baa22
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z12 // 6212274baaa43f63000000
//TODO: V4FNMADDPS (DX), [Z11-Z14], K3, Z12 // 6272274baa22
//TODO: V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z12 // 62125743aaa43f63000000
//TODO: V4FNMADDPS (DX), [Z21-Z24], K3, Z12 // 62725743aa22
//TODO: 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
//TODO: 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
//TODO: 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
//TODO: 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
//TODO: 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
//TODO: 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
//TODO: 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
//TODO: 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
//TODO: 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
V4FMADDPS 17(SP), [Z0-Z3], K2, Z0 // 62f27f4a9a842411000000
V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z0 // 62f27f4a9a84b5efffffff
V4FMADDPS 17(SP), [Z10-Z13], K2, Z0 // 62f22f4a9a842411000000
V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z0 // 62f22f4a9a84b5efffffff
V4FMADDPS 17(SP), [Z20-Z23], K2, Z0 // 62f25f429a842411000000
V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z0 // 62f25f429a84b5efffffff
V4FMADDPS 17(SP), [Z0-Z3], K2, Z8 // 62727f4a9a842411000000
V4FMADDPS -17(BP)(SI*4), [Z0-Z3], K2, Z8 // 62727f4a9a84b5efffffff
V4FMADDPS 17(SP), [Z10-Z13], K2, Z8 // 62722f4a9a842411000000
V4FMADDPS -17(BP)(SI*4), [Z10-Z13], K2, Z8 // 62722f4a9a84b5efffffff
V4FMADDPS 17(SP), [Z20-Z23], K2, Z8 // 62725f429a842411000000
V4FMADDPS -17(BP)(SI*4), [Z20-Z23], K2, Z8 // 62725f429a84b5efffffff
V4FMADDSS 7(AX), [X0-X3], K5, X22 // 62e27f0d9bb007000000 or 62e27f2d9bb007000000 or 62e27f4d9bb007000000
V4FMADDSS (DI), [X0-X3], K5, X22 // 62e27f0d9b37 or 62e27f2d9b37 or 62e27f4d9b37
V4FMADDSS 7(AX), [X10-X13], K5, X22 // 62e22f0d9bb007000000 or 62e22f2d9bb007000000 or 62e22f4d9bb007000000
V4FMADDSS (DI), [X10-X13], K5, X22 // 62e22f0d9b37 or 62e22f2d9b37 or 62e22f4d9b37
V4FMADDSS 7(AX), [X20-X23], K5, X22 // 62e25f059bb007000000 or 62e25f259bb007000000 or 62e25f459bb007000000
V4FMADDSS (DI), [X20-X23], K5, X22 // 62e25f059b37 or 62e25f259b37 or 62e25f459b37
V4FMADDSS 7(AX), [X0-X3], K5, X30 // 62627f0d9bb007000000 or 62627f2d9bb007000000 or 62627f4d9bb007000000
V4FMADDSS (DI), [X0-X3], K5, X30 // 62627f0d9b37 or 62627f2d9b37 or 62627f4d9b37
V4FMADDSS 7(AX), [X10-X13], K5, X30 // 62622f0d9bb007000000 or 62622f2d9bb007000000 or 62622f4d9bb007000000
V4FMADDSS (DI), [X10-X13], K5, X30 // 62622f0d9b37 or 62622f2d9b37 or 62622f4d9b37
V4FMADDSS 7(AX), [X20-X23], K5, X30 // 62625f059bb007000000 or 62625f259bb007000000 or 62625f459bb007000000
V4FMADDSS (DI), [X20-X23], K5, X30 // 62625f059b37 or 62625f259b37 or 62625f459b37
V4FMADDSS 7(AX), [X0-X3], K5, X3 // 62f27f0d9b9807000000 or 62f27f2d9b9807000000 or 62f27f4d9b9807000000
V4FMADDSS (DI), [X0-X3], K5, X3 // 62f27f0d9b1f or 62f27f2d9b1f or 62f27f4d9b1f
V4FMADDSS 7(AX), [X10-X13], K5, X3 // 62f22f0d9b9807000000 or 62f22f2d9b9807000000 or 62f22f4d9b9807000000
V4FMADDSS (DI), [X10-X13], K5, X3 // 62f22f0d9b1f or 62f22f2d9b1f or 62f22f4d9b1f
V4FMADDSS 7(AX), [X20-X23], K5, X3 // 62f25f059b9807000000 or 62f25f259b9807000000 or 62f25f459b9807000000
V4FMADDSS (DI), [X20-X23], K5, X3 // 62f25f059b1f or 62f25f259b1f or 62f25f459b1f
V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z15 // 6212774baabc3f63000000
V4FNMADDPS (DX), [Z1-Z4], K3, Z15 // 6272774baa3a
V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z15 // 6212274baabc3f63000000
V4FNMADDPS (DX), [Z11-Z14], K3, Z15 // 6272274baa3a
V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z15 // 62125743aabc3f63000000
V4FNMADDPS (DX), [Z21-Z24], K3, Z15 // 62725743aa3a
V4FNMADDPS 99(R15)(R15*1), [Z1-Z4], K3, Z12 // 6212774baaa43f63000000
V4FNMADDPS (DX), [Z1-Z4], K3, Z12 // 6272774baa22
V4FNMADDPS 99(R15)(R15*1), [Z11-Z14], K3, Z12 // 6212274baaa43f63000000
V4FNMADDPS (DX), [Z11-Z14], K3, Z12 // 6272274baa22
V4FNMADDPS 99(R15)(R15*1), [Z21-Z24], K3, Z12 // 62125743aaa43f63000000
V4FNMADDPS (DX), [Z21-Z24], K3, Z12 // 62725743aa22
V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X11 // 6272770cab9cf5efffffff or 6272772cab9cf5efffffff or 6272774cab9cf5efffffff
V4FNMADDSS (R15), [X1-X4], K4, X11 // 6252770cab1f or 6252772cab1f or 6252774cab1f
V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X11 // 6272270cab9cf5efffffff or 6272272cab9cf5efffffff or 6272274cab9cf5efffffff
V4FNMADDSS (R15), [X11-X14], K4, X11 // 6252270cab1f or 6252272cab1f or 6252274cab1f
V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X11 // 62725704ab9cf5efffffff or 62725724ab9cf5efffffff or 62725744ab9cf5efffffff
V4FNMADDSS (R15), [X21-X24], K4, X11 // 62525704ab1f or 62525724ab1f or 62525744ab1f
V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X15 // 6272770cabbcf5efffffff or 6272772cabbcf5efffffff or 6272774cabbcf5efffffff
V4FNMADDSS (R15), [X1-X4], K4, X15 // 6252770cab3f or 6252772cab3f or 6252774cab3f
V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X15 // 6272270cabbcf5efffffff or 6272272cabbcf5efffffff or 6272274cabbcf5efffffff
V4FNMADDSS (R15), [X11-X14], K4, X15 // 6252270cab3f or 6252272cab3f or 6252274cab3f
V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X15 // 62725704abbcf5efffffff or 62725724abbcf5efffffff or 62725744abbcf5efffffff
V4FNMADDSS (R15), [X21-X24], K4, X15 // 62525704ab3f or 62525724ab3f or 62525744ab3f
V4FNMADDSS -17(BP)(SI*8), [X1-X4], K4, X30 // 6262770cabb4f5efffffff or 6262772cabb4f5efffffff or 6262774cabb4f5efffffff
V4FNMADDSS (R15), [X1-X4], K4, X30 // 6242770cab37 or 6242772cab37 or 6242774cab37
V4FNMADDSS -17(BP)(SI*8), [X11-X14], K4, X30 // 6262270cabb4f5efffffff or 6262272cabb4f5efffffff or 6262274cabb4f5efffffff
V4FNMADDSS (R15), [X11-X14], K4, X30 // 6242270cab37 or 6242272cab37 or 6242274cab37
V4FNMADDSS -17(BP)(SI*8), [X21-X24], K4, X30 // 62625704abb4f5efffffff or 62625724abb4f5efffffff or 62625744abb4f5efffffff
V4FNMADDSS (R15), [X21-X24], K4, X30 // 62425704ab37 or 62425724ab37 or 62425744ab37
RET
......@@ -3,28 +3,28 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_4vnniw(SB), NOSPLIT, $0
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z17 // 62e26f4c528c3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z17 // 62e26f4c528cda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z17 // 62e21f4c528c3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z17 // 62e21f4c528cda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z17 // 62e24f44528c3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z17 // 62e24f44528cda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z23 // 62e26f4c52bc3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z23 // 62e26f4c52bcda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z23 // 62e21f4c52bc3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z23 // 62e21f4c52bcda0f000000
//TODO: VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z23 // 62e24f4452bc3e07000000
//TODO: VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z23 // 62e24f4452bcda0f000000
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z31 // 62225f4953bc07f9ffffff
//TODO: VP4DPWSSDS (SP), [Z4-Z7], K1, Z31 // 62625f49533c24
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z31 // 62220f4953bc07f9ffffff
//TODO: VP4DPWSSDS (SP), [Z14-Z17], K1, Z31 // 62620f49533c24
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z31 // 62223f4153bc07f9ffffff
//TODO: VP4DPWSSDS (SP), [Z24-Z27], K1, Z31 // 62623f41533c24
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z0 // 62b25f49538407f9ffffff
//TODO: VP4DPWSSDS (SP), [Z4-Z7], K1, Z0 // 62f25f49530424
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z0 // 62b20f49538407f9ffffff
//TODO: VP4DPWSSDS (SP), [Z14-Z17], K1, Z0 // 62f20f49530424
//TODO: VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z0 // 62b23f41538407f9ffffff
//TODO: VP4DPWSSDS (SP), [Z24-Z27], K1, Z0 // 62f23f41530424
VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z17 // 62e26f4c528c3e07000000
VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z17 // 62e26f4c528cda0f000000
VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z17 // 62e21f4c528c3e07000000
VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z17 // 62e21f4c528cda0f000000
VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z17 // 62e24f44528c3e07000000
VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z17 // 62e24f44528cda0f000000
VP4DPWSSD 7(SI)(DI*1), [Z2-Z5], K4, Z23 // 62e26f4c52bc3e07000000
VP4DPWSSD 15(DX)(BX*8), [Z2-Z5], K4, Z23 // 62e26f4c52bcda0f000000
VP4DPWSSD 7(SI)(DI*1), [Z12-Z15], K4, Z23 // 62e21f4c52bc3e07000000
VP4DPWSSD 15(DX)(BX*8), [Z12-Z15], K4, Z23 // 62e21f4c52bcda0f000000
VP4DPWSSD 7(SI)(DI*1), [Z22-Z25], K4, Z23 // 62e24f4452bc3e07000000
VP4DPWSSD 15(DX)(BX*8), [Z22-Z25], K4, Z23 // 62e24f4452bcda0f000000
VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z31 // 62225f4953bc07f9ffffff
VP4DPWSSDS (SP), [Z4-Z7], K1, Z31 // 62625f49533c24
VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z31 // 62220f4953bc07f9ffffff
VP4DPWSSDS (SP), [Z14-Z17], K1, Z31 // 62620f49533c24
VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z31 // 62223f4153bc07f9ffffff
VP4DPWSSDS (SP), [Z24-Z27], K1, Z31 // 62623f41533c24
VP4DPWSSDS -7(DI)(R8*1), [Z4-Z7], K1, Z0 // 62b25f49538407f9ffffff
VP4DPWSSDS (SP), [Z4-Z7], K1, Z0 // 62f25f49530424
VP4DPWSSDS -7(DI)(R8*1), [Z14-Z17], K1, Z0 // 62b20f49538407f9ffffff
VP4DPWSSDS (SP), [Z14-Z17], K1, Z0 // 62f20f49530424
VP4DPWSSDS -7(DI)(R8*1), [Z24-Z27], K1, Z0 // 62b23f41538407f9ffffff
VP4DPWSSDS (SP), [Z24-Z27], K1, Z0 // 62f23f41530424
RET
......@@ -3,152 +3,152 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_bitalg(SB), NOSPLIT, $0
//TODO: VPOPCNTB X14, K4, X16 // 62c27d0c54c6
//TODO: VPOPCNTB X19, K4, X16 // 62a27d0c54c3
//TODO: VPOPCNTB X8, K4, X16 // 62c27d0c54c0
//TODO: VPOPCNTB 15(R8)(R14*1), K4, X16 // 62827d0c5484300f000000
//TODO: VPOPCNTB 15(R8)(R14*2), K4, X16 // 62827d0c5484700f000000
//TODO: VPOPCNTB X14, K4, X14 // 62527d0c54f6
//TODO: VPOPCNTB X19, K4, X14 // 62327d0c54f3
//TODO: VPOPCNTB X8, K4, X14 // 62527d0c54f0
//TODO: VPOPCNTB 15(R8)(R14*1), K4, X14 // 62127d0c54b4300f000000
//TODO: VPOPCNTB 15(R8)(R14*2), K4, X14 // 62127d0c54b4700f000000
//TODO: VPOPCNTB X14, K4, X11 // 62527d0c54de
//TODO: VPOPCNTB X19, K4, X11 // 62327d0c54db
//TODO: VPOPCNTB X8, K4, X11 // 62527d0c54d8
//TODO: VPOPCNTB 15(R8)(R14*1), K4, X11 // 62127d0c549c300f000000
//TODO: VPOPCNTB 15(R8)(R14*2), K4, X11 // 62127d0c549c700f000000
//TODO: VPOPCNTB Y14, K4, Y24 // 62427d2c54c6
//TODO: VPOPCNTB Y21, K4, Y24 // 62227d2c54c5
//TODO: VPOPCNTB Y1, K4, Y24 // 62627d2c54c1
//TODO: VPOPCNTB 15(R8)(R14*8), K4, Y24 // 62027d2c5484f00f000000
//TODO: VPOPCNTB -15(R14)(R15*2), K4, Y24 // 62027d2c54847ef1ffffff
//TODO: VPOPCNTB Y14, K4, Y13 // 62527d2c54ee
//TODO: VPOPCNTB Y21, K4, Y13 // 62327d2c54ed
//TODO: VPOPCNTB Y1, K4, Y13 // 62727d2c54e9
//TODO: VPOPCNTB 15(R8)(R14*8), K4, Y13 // 62127d2c54acf00f000000
//TODO: VPOPCNTB -15(R14)(R15*2), K4, Y13 // 62127d2c54ac7ef1ffffff
//TODO: VPOPCNTB Y14, K4, Y20 // 62c27d2c54e6
//TODO: VPOPCNTB Y21, K4, Y20 // 62a27d2c54e5
//TODO: VPOPCNTB Y1, K4, Y20 // 62e27d2c54e1
//TODO: VPOPCNTB 15(R8)(R14*8), K4, Y20 // 62827d2c54a4f00f000000
//TODO: VPOPCNTB -15(R14)(R15*2), K4, Y20 // 62827d2c54a47ef1ffffff
//TODO: VPOPCNTB Z18, K7, Z13 // 62327d4f54ea
//TODO: VPOPCNTB Z8, K7, Z13 // 62527d4f54e8
//TODO: VPOPCNTB 17(SP)(BP*8), K7, Z13 // 62727d4f54acec11000000
//TODO: VPOPCNTB 17(SP)(BP*4), K7, Z13 // 62727d4f54acac11000000
//TODO: VPOPCNTW X20, K3, X11 // 6232fd0b54dc
//TODO: VPOPCNTW X5, K3, X11 // 6272fd0b54dd
//TODO: VPOPCNTW X25, K3, X11 // 6212fd0b54d9
//TODO: VPOPCNTW (CX), K3, X11 // 6272fd0b5419
//TODO: VPOPCNTW 99(R15), K3, X11 // 6252fd0b549f63000000
//TODO: VPOPCNTW X20, K3, X23 // 62a2fd0b54fc
//TODO: VPOPCNTW X5, K3, X23 // 62e2fd0b54fd
//TODO: VPOPCNTW X25, K3, X23 // 6282fd0b54f9
//TODO: VPOPCNTW (CX), K3, X23 // 62e2fd0b5439
//TODO: VPOPCNTW 99(R15), K3, X23 // 62c2fd0b54bf63000000
//TODO: VPOPCNTW X20, K3, X2 // 62b2fd0b54d4
//TODO: VPOPCNTW X5, K3, X2 // 62f2fd0b54d5
//TODO: VPOPCNTW X25, K3, X2 // 6292fd0b54d1
//TODO: VPOPCNTW (CX), K3, X2 // 62f2fd0b5411
//TODO: VPOPCNTW 99(R15), K3, X2 // 62d2fd0b549763000000
//TODO: VPOPCNTW Y13, K3, Y21 // 62c2fd2b54ed
//TODO: VPOPCNTW Y18, K3, Y21 // 62a2fd2b54ea
//TODO: VPOPCNTW Y24, K3, Y21 // 6282fd2b54e8
//TODO: VPOPCNTW (SI), K3, Y21 // 62e2fd2b542e
//TODO: VPOPCNTW 7(SI)(DI*2), K3, Y21 // 62e2fd2b54ac7e07000000
//TODO: VPOPCNTW Y13, K3, Y7 // 62d2fd2b54fd
//TODO: VPOPCNTW Y18, K3, Y7 // 62b2fd2b54fa
//TODO: VPOPCNTW Y24, K3, Y7 // 6292fd2b54f8
//TODO: VPOPCNTW (SI), K3, Y7 // 62f2fd2b543e
//TODO: VPOPCNTW 7(SI)(DI*2), K3, Y7 // 62f2fd2b54bc7e07000000
//TODO: VPOPCNTW Y13, K3, Y30 // 6242fd2b54f5
//TODO: VPOPCNTW Y18, K3, Y30 // 6222fd2b54f2
//TODO: VPOPCNTW Y24, K3, Y30 // 6202fd2b54f0
//TODO: VPOPCNTW (SI), K3, Y30 // 6262fd2b5436
//TODO: VPOPCNTW 7(SI)(DI*2), K3, Y30 // 6262fd2b54b47e07000000
//TODO: VPOPCNTW Z28, K3, Z12 // 6212fd4b54e4
//TODO: VPOPCNTW Z13, K3, Z12 // 6252fd4b54e5
//TODO: VPOPCNTW 7(AX), K3, Z12 // 6272fd4b54a007000000
//TODO: VPOPCNTW (DI), K3, Z12 // 6272fd4b5427
//TODO: VPOPCNTW Z28, K3, Z16 // 6282fd4b54c4
//TODO: VPOPCNTW Z13, K3, Z16 // 62c2fd4b54c5
//TODO: VPOPCNTW 7(AX), K3, Z16 // 62e2fd4b548007000000
//TODO: VPOPCNTW (DI), K3, Z16 // 62e2fd4b5407
//TODO: VPSHUFBITQMB X24, X7, K6, K0 // 6292450e8fc0
//TODO: VPSHUFBITQMB X7, X7, K6, K0 // 62f2450e8fc7
//TODO: VPSHUFBITQMB X0, X7, K6, K0 // 62f2450e8fc0
//TODO: VPSHUFBITQMB (R8), X7, K6, K0 // 62d2450e8f00
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K0 // 62f2450e8f845a0f000000
//TODO: VPSHUFBITQMB X24, X13, K6, K0 // 6292150e8fc0
//TODO: VPSHUFBITQMB X7, X13, K6, K0 // 62f2150e8fc7
//TODO: VPSHUFBITQMB X0, X13, K6, K0 // 62f2150e8fc0
//TODO: VPSHUFBITQMB (R8), X13, K6, K0 // 62d2150e8f00
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K0 // 62f2150e8f845a0f000000
//TODO: VPSHUFBITQMB X24, X8, K6, K0 // 62923d0e8fc0
//TODO: VPSHUFBITQMB X7, X8, K6, K0 // 62f23d0e8fc7
//TODO: VPSHUFBITQMB X0, X8, K6, K0 // 62f23d0e8fc0
//TODO: VPSHUFBITQMB (R8), X8, K6, K0 // 62d23d0e8f00
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K0 // 62f23d0e8f845a0f000000
//TODO: VPSHUFBITQMB X24, X7, K6, K5 // 6292450e8fe8
//TODO: VPSHUFBITQMB X7, X7, K6, K5 // 62f2450e8fef
//TODO: VPSHUFBITQMB X0, X7, K6, K5 // 62f2450e8fe8
//TODO: VPSHUFBITQMB (R8), X7, K6, K5 // 62d2450e8f28
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K5 // 62f2450e8fac5a0f000000
//TODO: VPSHUFBITQMB X24, X13, K6, K5 // 6292150e8fe8
//TODO: VPSHUFBITQMB X7, X13, K6, K5 // 62f2150e8fef
//TODO: VPSHUFBITQMB X0, X13, K6, K5 // 62f2150e8fe8
//TODO: VPSHUFBITQMB (R8), X13, K6, K5 // 62d2150e8f28
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K5 // 62f2150e8fac5a0f000000
//TODO: VPSHUFBITQMB X24, X8, K6, K5 // 62923d0e8fe8
//TODO: VPSHUFBITQMB X7, X8, K6, K5 // 62f23d0e8fef
//TODO: VPSHUFBITQMB X0, X8, K6, K5 // 62f23d0e8fe8
//TODO: VPSHUFBITQMB (R8), X8, K6, K5 // 62d23d0e8f28
//TODO: VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K5 // 62f23d0e8fac5a0f000000
//TODO: VPSHUFBITQMB Y14, Y2, K3, K6 // 62d26d2b8ff6
//TODO: VPSHUFBITQMB Y8, Y2, K3, K6 // 62d26d2b8ff0
//TODO: VPSHUFBITQMB Y20, Y2, K3, K6 // 62b26d2b8ff4
//TODO: VPSHUFBITQMB -17(BP), Y2, K3, K6 // 62f26d2b8fb5efffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K6 // 62926d2b8fb4fef1ffffff
//TODO: VPSHUFBITQMB Y14, Y7, K3, K6 // 62d2452b8ff6
//TODO: VPSHUFBITQMB Y8, Y7, K3, K6 // 62d2452b8ff0
//TODO: VPSHUFBITQMB Y20, Y7, K3, K6 // 62b2452b8ff4
//TODO: VPSHUFBITQMB -17(BP), Y7, K3, K6 // 62f2452b8fb5efffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K6 // 6292452b8fb4fef1ffffff
//TODO: VPSHUFBITQMB Y14, Y21, K3, K6 // 62d255238ff6
//TODO: VPSHUFBITQMB Y8, Y21, K3, K6 // 62d255238ff0
//TODO: VPSHUFBITQMB Y20, Y21, K3, K6 // 62b255238ff4
//TODO: VPSHUFBITQMB -17(BP), Y21, K3, K6 // 62f255238fb5efffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K6 // 629255238fb4fef1ffffff
//TODO: VPSHUFBITQMB Y14, Y2, K3, K5 // 62d26d2b8fee
//TODO: VPSHUFBITQMB Y8, Y2, K3, K5 // 62d26d2b8fe8
//TODO: VPSHUFBITQMB Y20, Y2, K3, K5 // 62b26d2b8fec
//TODO: VPSHUFBITQMB -17(BP), Y2, K3, K5 // 62f26d2b8fadefffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K5 // 62926d2b8facfef1ffffff
//TODO: VPSHUFBITQMB Y14, Y7, K3, K5 // 62d2452b8fee
//TODO: VPSHUFBITQMB Y8, Y7, K3, K5 // 62d2452b8fe8
//TODO: VPSHUFBITQMB Y20, Y7, K3, K5 // 62b2452b8fec
//TODO: VPSHUFBITQMB -17(BP), Y7, K3, K5 // 62f2452b8fadefffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K5 // 6292452b8facfef1ffffff
//TODO: VPSHUFBITQMB Y14, Y21, K3, K5 // 62d255238fee
//TODO: VPSHUFBITQMB Y8, Y21, K3, K5 // 62d255238fe8
//TODO: VPSHUFBITQMB Y20, Y21, K3, K5 // 62b255238fec
//TODO: VPSHUFBITQMB -17(BP), Y21, K3, K5 // 62f255238fadefffffff
//TODO: VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K5 // 629255238facfef1ffffff
//TODO: VPSHUFBITQMB Z3, Z6, K7, K1 // 62f24d4f8fcb
//TODO: VPSHUFBITQMB Z21, Z6, K7, K1 // 62b24d4f8fcd
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K1 // 62924d4f8f8c3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z6, K7, K1 // 62f24d4f8f8bf1ffffff
//TODO: VPSHUFBITQMB Z3, Z25, K7, K1 // 62f235478fcb
//TODO: VPSHUFBITQMB Z21, Z25, K7, K1 // 62b235478fcd
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K1 // 629235478f8c3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z25, K7, K1 // 62f235478f8bf1ffffff
//TODO: VPSHUFBITQMB Z3, Z6, K7, K5 // 62f24d4f8feb
//TODO: VPSHUFBITQMB Z21, Z6, K7, K5 // 62b24d4f8fed
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K5 // 62924d4f8fac3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z6, K7, K5 // 62f24d4f8fabf1ffffff
//TODO: VPSHUFBITQMB Z3, Z25, K7, K5 // 62f235478feb
//TODO: VPSHUFBITQMB Z21, Z25, K7, K5 // 62b235478fed
//TODO: VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K5 // 629235478fac3ef1ffffff
//TODO: VPSHUFBITQMB -15(BX), Z25, K7, K5 // 62f235478fabf1ffffff
VPOPCNTB X14, K4, X16 // 62c27d0c54c6
VPOPCNTB X19, K4, X16 // 62a27d0c54c3
VPOPCNTB X8, K4, X16 // 62c27d0c54c0
VPOPCNTB 15(R8)(R14*1), K4, X16 // 62827d0c5484300f000000
VPOPCNTB 15(R8)(R14*2), K4, X16 // 62827d0c5484700f000000
VPOPCNTB X14, K4, X14 // 62527d0c54f6
VPOPCNTB X19, K4, X14 // 62327d0c54f3
VPOPCNTB X8, K4, X14 // 62527d0c54f0
VPOPCNTB 15(R8)(R14*1), K4, X14 // 62127d0c54b4300f000000
VPOPCNTB 15(R8)(R14*2), K4, X14 // 62127d0c54b4700f000000
VPOPCNTB X14, K4, X11 // 62527d0c54de
VPOPCNTB X19, K4, X11 // 62327d0c54db
VPOPCNTB X8, K4, X11 // 62527d0c54d8
VPOPCNTB 15(R8)(R14*1), K4, X11 // 62127d0c549c300f000000
VPOPCNTB 15(R8)(R14*2), K4, X11 // 62127d0c549c700f000000
VPOPCNTB Y14, K4, Y24 // 62427d2c54c6
VPOPCNTB Y21, K4, Y24 // 62227d2c54c5
VPOPCNTB Y1, K4, Y24 // 62627d2c54c1
VPOPCNTB 15(R8)(R14*8), K4, Y24 // 62027d2c5484f00f000000
VPOPCNTB -15(R14)(R15*2), K4, Y24 // 62027d2c54847ef1ffffff
VPOPCNTB Y14, K4, Y13 // 62527d2c54ee
VPOPCNTB Y21, K4, Y13 // 62327d2c54ed
VPOPCNTB Y1, K4, Y13 // 62727d2c54e9
VPOPCNTB 15(R8)(R14*8), K4, Y13 // 62127d2c54acf00f000000
VPOPCNTB -15(R14)(R15*2), K4, Y13 // 62127d2c54ac7ef1ffffff
VPOPCNTB Y14, K4, Y20 // 62c27d2c54e6
VPOPCNTB Y21, K4, Y20 // 62a27d2c54e5
VPOPCNTB Y1, K4, Y20 // 62e27d2c54e1
VPOPCNTB 15(R8)(R14*8), K4, Y20 // 62827d2c54a4f00f000000
VPOPCNTB -15(R14)(R15*2), K4, Y20 // 62827d2c54a47ef1ffffff
VPOPCNTB Z18, K7, Z13 // 62327d4f54ea
VPOPCNTB Z8, K7, Z13 // 62527d4f54e8
VPOPCNTB 17(SP)(BP*8), K7, Z13 // 62727d4f54acec11000000
VPOPCNTB 17(SP)(BP*4), K7, Z13 // 62727d4f54acac11000000
VPOPCNTW X20, K3, X11 // 6232fd0b54dc
VPOPCNTW X5, K3, X11 // 6272fd0b54dd
VPOPCNTW X25, K3, X11 // 6212fd0b54d9
VPOPCNTW (CX), K3, X11 // 6272fd0b5419
VPOPCNTW 99(R15), K3, X11 // 6252fd0b549f63000000
VPOPCNTW X20, K3, X23 // 62a2fd0b54fc
VPOPCNTW X5, K3, X23 // 62e2fd0b54fd
VPOPCNTW X25, K3, X23 // 6282fd0b54f9
VPOPCNTW (CX), K3, X23 // 62e2fd0b5439
VPOPCNTW 99(R15), K3, X23 // 62c2fd0b54bf63000000
VPOPCNTW X20, K3, X2 // 62b2fd0b54d4
VPOPCNTW X5, K3, X2 // 62f2fd0b54d5
VPOPCNTW X25, K3, X2 // 6292fd0b54d1
VPOPCNTW (CX), K3, X2 // 62f2fd0b5411
VPOPCNTW 99(R15), K3, X2 // 62d2fd0b549763000000
VPOPCNTW Y13, K3, Y21 // 62c2fd2b54ed
VPOPCNTW Y18, K3, Y21 // 62a2fd2b54ea
VPOPCNTW Y24, K3, Y21 // 6282fd2b54e8
VPOPCNTW (SI), K3, Y21 // 62e2fd2b542e
VPOPCNTW 7(SI)(DI*2), K3, Y21 // 62e2fd2b54ac7e07000000
VPOPCNTW Y13, K3, Y7 // 62d2fd2b54fd
VPOPCNTW Y18, K3, Y7 // 62b2fd2b54fa
VPOPCNTW Y24, K3, Y7 // 6292fd2b54f8
VPOPCNTW (SI), K3, Y7 // 62f2fd2b543e
VPOPCNTW 7(SI)(DI*2), K3, Y7 // 62f2fd2b54bc7e07000000
VPOPCNTW Y13, K3, Y30 // 6242fd2b54f5
VPOPCNTW Y18, K3, Y30 // 6222fd2b54f2
VPOPCNTW Y24, K3, Y30 // 6202fd2b54f0
VPOPCNTW (SI), K3, Y30 // 6262fd2b5436
VPOPCNTW 7(SI)(DI*2), K3, Y30 // 6262fd2b54b47e07000000
VPOPCNTW Z28, K3, Z12 // 6212fd4b54e4
VPOPCNTW Z13, K3, Z12 // 6252fd4b54e5
VPOPCNTW 7(AX), K3, Z12 // 6272fd4b54a007000000
VPOPCNTW (DI), K3, Z12 // 6272fd4b5427
VPOPCNTW Z28, K3, Z16 // 6282fd4b54c4
VPOPCNTW Z13, K3, Z16 // 62c2fd4b54c5
VPOPCNTW 7(AX), K3, Z16 // 62e2fd4b548007000000
VPOPCNTW (DI), K3, Z16 // 62e2fd4b5407
VPSHUFBITQMB X24, X7, K6, K0 // 6292450e8fc0
VPSHUFBITQMB X7, X7, K6, K0 // 62f2450e8fc7
VPSHUFBITQMB X0, X7, K6, K0 // 62f2450e8fc0
VPSHUFBITQMB (R8), X7, K6, K0 // 62d2450e8f00
VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K0 // 62f2450e8f845a0f000000
VPSHUFBITQMB X24, X13, K6, K0 // 6292150e8fc0
VPSHUFBITQMB X7, X13, K6, K0 // 62f2150e8fc7
VPSHUFBITQMB X0, X13, K6, K0 // 62f2150e8fc0
VPSHUFBITQMB (R8), X13, K6, K0 // 62d2150e8f00
VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K0 // 62f2150e8f845a0f000000
VPSHUFBITQMB X24, X8, K6, K0 // 62923d0e8fc0
VPSHUFBITQMB X7, X8, K6, K0 // 62f23d0e8fc7
VPSHUFBITQMB X0, X8, K6, K0 // 62f23d0e8fc0
VPSHUFBITQMB (R8), X8, K6, K0 // 62d23d0e8f00
VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K0 // 62f23d0e8f845a0f000000
VPSHUFBITQMB X24, X7, K6, K5 // 6292450e8fe8
VPSHUFBITQMB X7, X7, K6, K5 // 62f2450e8fef
VPSHUFBITQMB X0, X7, K6, K5 // 62f2450e8fe8
VPSHUFBITQMB (R8), X7, K6, K5 // 62d2450e8f28
VPSHUFBITQMB 15(DX)(BX*2), X7, K6, K5 // 62f2450e8fac5a0f000000
VPSHUFBITQMB X24, X13, K6, K5 // 6292150e8fe8
VPSHUFBITQMB X7, X13, K6, K5 // 62f2150e8fef
VPSHUFBITQMB X0, X13, K6, K5 // 62f2150e8fe8
VPSHUFBITQMB (R8), X13, K6, K5 // 62d2150e8f28
VPSHUFBITQMB 15(DX)(BX*2), X13, K6, K5 // 62f2150e8fac5a0f000000
VPSHUFBITQMB X24, X8, K6, K5 // 62923d0e8fe8
VPSHUFBITQMB X7, X8, K6, K5 // 62f23d0e8fef
VPSHUFBITQMB X0, X8, K6, K5 // 62f23d0e8fe8
VPSHUFBITQMB (R8), X8, K6, K5 // 62d23d0e8f28
VPSHUFBITQMB 15(DX)(BX*2), X8, K6, K5 // 62f23d0e8fac5a0f000000
VPSHUFBITQMB Y14, Y2, K3, K6 // 62d26d2b8ff6
VPSHUFBITQMB Y8, Y2, K3, K6 // 62d26d2b8ff0
VPSHUFBITQMB Y20, Y2, K3, K6 // 62b26d2b8ff4
VPSHUFBITQMB -17(BP), Y2, K3, K6 // 62f26d2b8fb5efffffff
VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K6 // 62926d2b8fb4fef1ffffff
VPSHUFBITQMB Y14, Y7, K3, K6 // 62d2452b8ff6
VPSHUFBITQMB Y8, Y7, K3, K6 // 62d2452b8ff0
VPSHUFBITQMB Y20, Y7, K3, K6 // 62b2452b8ff4
VPSHUFBITQMB -17(BP), Y7, K3, K6 // 62f2452b8fb5efffffff
VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K6 // 6292452b8fb4fef1ffffff
VPSHUFBITQMB Y14, Y21, K3, K6 // 62d255238ff6
VPSHUFBITQMB Y8, Y21, K3, K6 // 62d255238ff0
VPSHUFBITQMB Y20, Y21, K3, K6 // 62b255238ff4
VPSHUFBITQMB -17(BP), Y21, K3, K6 // 62f255238fb5efffffff
VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K6 // 629255238fb4fef1ffffff
VPSHUFBITQMB Y14, Y2, K3, K5 // 62d26d2b8fee
VPSHUFBITQMB Y8, Y2, K3, K5 // 62d26d2b8fe8
VPSHUFBITQMB Y20, Y2, K3, K5 // 62b26d2b8fec
VPSHUFBITQMB -17(BP), Y2, K3, K5 // 62f26d2b8fadefffffff
VPSHUFBITQMB -15(R14)(R15*8), Y2, K3, K5 // 62926d2b8facfef1ffffff
VPSHUFBITQMB Y14, Y7, K3, K5 // 62d2452b8fee
VPSHUFBITQMB Y8, Y7, K3, K5 // 62d2452b8fe8
VPSHUFBITQMB Y20, Y7, K3, K5 // 62b2452b8fec
VPSHUFBITQMB -17(BP), Y7, K3, K5 // 62f2452b8fadefffffff
VPSHUFBITQMB -15(R14)(R15*8), Y7, K3, K5 // 6292452b8facfef1ffffff
VPSHUFBITQMB Y14, Y21, K3, K5 // 62d255238fee
VPSHUFBITQMB Y8, Y21, K3, K5 // 62d255238fe8
VPSHUFBITQMB Y20, Y21, K3, K5 // 62b255238fec
VPSHUFBITQMB -17(BP), Y21, K3, K5 // 62f255238fadefffffff
VPSHUFBITQMB -15(R14)(R15*8), Y21, K3, K5 // 629255238facfef1ffffff
VPSHUFBITQMB Z3, Z6, K7, K1 // 62f24d4f8fcb
VPSHUFBITQMB Z21, Z6, K7, K1 // 62b24d4f8fcd
VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K1 // 62924d4f8f8c3ef1ffffff
VPSHUFBITQMB -15(BX), Z6, K7, K1 // 62f24d4f8f8bf1ffffff
VPSHUFBITQMB Z3, Z25, K7, K1 // 62f235478fcb
VPSHUFBITQMB Z21, Z25, K7, K1 // 62b235478fcd
VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K1 // 629235478f8c3ef1ffffff
VPSHUFBITQMB -15(BX), Z25, K7, K1 // 62f235478f8bf1ffffff
VPSHUFBITQMB Z3, Z6, K7, K5 // 62f24d4f8feb
VPSHUFBITQMB Z21, Z6, K7, K5 // 62b24d4f8fed
VPSHUFBITQMB -15(R14)(R15*1), Z6, K7, K5 // 62924d4f8fac3ef1ffffff
VPSHUFBITQMB -15(BX), Z6, K7, K5 // 62f24d4f8fabf1ffffff
VPSHUFBITQMB Z3, Z25, K7, K5 // 62f235478feb
VPSHUFBITQMB Z21, Z25, K7, K5 // 62b235478fed
VPSHUFBITQMB -15(R14)(R15*1), Z25, K7, K5 // 629235478fac3ef1ffffff
VPSHUFBITQMB -15(BX), Z25, K7, K5 // 62f235478fabf1ffffff
RET
......@@ -3,192 +3,192 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_ifma(SB), NOSPLIT, $0
//TODO: VPMADD52HUQ X7, X11, K1, X18 // 62e2a509b5d7
//TODO: VPMADD52HUQ X0, X11, K1, X18 // 62e2a509b5d0
//TODO: VPMADD52HUQ 17(SP)(BP*2), X11, K1, X18 // 62e2a509b5946c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X11, K1, X18 // 62a2a509b59487f9ffffff
//TODO: VPMADD52HUQ X7, X31, K1, X18 // 62e28501b5d7
//TODO: VPMADD52HUQ X0, X31, K1, X18 // 62e28501b5d0
//TODO: VPMADD52HUQ 17(SP)(BP*2), X31, K1, X18 // 62e28501b5946c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X31, K1, X18 // 62a28501b59487f9ffffff
//TODO: VPMADD52HUQ X7, X3, K1, X18 // 62e2e509b5d7
//TODO: VPMADD52HUQ X0, X3, K1, X18 // 62e2e509b5d0
//TODO: VPMADD52HUQ 17(SP)(BP*2), X3, K1, X18 // 62e2e509b5946c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X3, K1, X18 // 62a2e509b59487f9ffffff
//TODO: VPMADD52HUQ X7, X11, K1, X21 // 62e2a509b5ef
//TODO: VPMADD52HUQ X0, X11, K1, X21 // 62e2a509b5e8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X11, K1, X21 // 62e2a509b5ac6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X11, K1, X21 // 62a2a509b5ac87f9ffffff
//TODO: VPMADD52HUQ X7, X31, K1, X21 // 62e28501b5ef
//TODO: VPMADD52HUQ X0, X31, K1, X21 // 62e28501b5e8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X31, K1, X21 // 62e28501b5ac6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X31, K1, X21 // 62a28501b5ac87f9ffffff
//TODO: VPMADD52HUQ X7, X3, K1, X21 // 62e2e509b5ef
//TODO: VPMADD52HUQ X0, X3, K1, X21 // 62e2e509b5e8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X3, K1, X21 // 62e2e509b5ac6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X3, K1, X21 // 62a2e509b5ac87f9ffffff
//TODO: VPMADD52HUQ X7, X11, K1, X1 // 62f2a509b5cf
//TODO: VPMADD52HUQ X0, X11, K1, X1 // 62f2a509b5c8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X11, K1, X1 // 62f2a509b58c6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X11, K1, X1 // 62b2a509b58c87f9ffffff
//TODO: VPMADD52HUQ X7, X31, K1, X1 // 62f28501b5cf
//TODO: VPMADD52HUQ X0, X31, K1, X1 // 62f28501b5c8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X31, K1, X1 // 62f28501b58c6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X31, K1, X1 // 62b28501b58c87f9ffffff
//TODO: VPMADD52HUQ X7, X3, K1, X1 // 62f2e509b5cf
//TODO: VPMADD52HUQ X0, X3, K1, X1 // 62f2e509b5c8
//TODO: VPMADD52HUQ 17(SP)(BP*2), X3, K1, X1 // 62f2e509b58c6c11000000
//TODO: VPMADD52HUQ -7(DI)(R8*4), X3, K1, X1 // 62b2e509b58c87f9ffffff
//TODO: VPMADD52HUQ Y28, Y31, K7, Y17 // 62828527b5cc
//TODO: VPMADD52HUQ Y13, Y31, K7, Y17 // 62c28527b5cd
//TODO: VPMADD52HUQ Y7, Y31, K7, Y17 // 62e28527b5cf
//TODO: VPMADD52HUQ (R8), Y31, K7, Y17 // 62c28527b508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y17 // 62e28527b58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y8, K7, Y17 // 6282bd2fb5cc
//TODO: VPMADD52HUQ Y13, Y8, K7, Y17 // 62c2bd2fb5cd
//TODO: VPMADD52HUQ Y7, Y8, K7, Y17 // 62e2bd2fb5cf
//TODO: VPMADD52HUQ (R8), Y8, K7, Y17 // 62c2bd2fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y17 // 62e2bd2fb58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y1, K7, Y17 // 6282f52fb5cc
//TODO: VPMADD52HUQ Y13, Y1, K7, Y17 // 62c2f52fb5cd
//TODO: VPMADD52HUQ Y7, Y1, K7, Y17 // 62e2f52fb5cf
//TODO: VPMADD52HUQ (R8), Y1, K7, Y17 // 62c2f52fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y17 // 62e2f52fb58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y31, K7, Y7 // 62928527b5fc
//TODO: VPMADD52HUQ Y13, Y31, K7, Y7 // 62d28527b5fd
//TODO: VPMADD52HUQ Y7, Y31, K7, Y7 // 62f28527b5ff
//TODO: VPMADD52HUQ (R8), Y31, K7, Y7 // 62d28527b538
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y7 // 62f28527b5bc5a0f000000
//TODO: VPMADD52HUQ Y28, Y8, K7, Y7 // 6292bd2fb5fc
//TODO: VPMADD52HUQ Y13, Y8, K7, Y7 // 62d2bd2fb5fd
//TODO: VPMADD52HUQ Y7, Y8, K7, Y7 // 62f2bd2fb5ff
//TODO: VPMADD52HUQ (R8), Y8, K7, Y7 // 62d2bd2fb538
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y7 // 62f2bd2fb5bc5a0f000000
//TODO: VPMADD52HUQ Y28, Y1, K7, Y7 // 6292f52fb5fc
//TODO: VPMADD52HUQ Y13, Y1, K7, Y7 // 62d2f52fb5fd
//TODO: VPMADD52HUQ Y7, Y1, K7, Y7 // 62f2f52fb5ff
//TODO: VPMADD52HUQ (R8), Y1, K7, Y7 // 62d2f52fb538
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y7 // 62f2f52fb5bc5a0f000000
//TODO: VPMADD52HUQ Y28, Y31, K7, Y9 // 62128527b5cc
//TODO: VPMADD52HUQ Y13, Y31, K7, Y9 // 62528527b5cd
//TODO: VPMADD52HUQ Y7, Y31, K7, Y9 // 62728527b5cf
//TODO: VPMADD52HUQ (R8), Y31, K7, Y9 // 62528527b508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y9 // 62728527b58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y8, K7, Y9 // 6212bd2fb5cc
//TODO: VPMADD52HUQ Y13, Y8, K7, Y9 // 6252bd2fb5cd
//TODO: VPMADD52HUQ Y7, Y8, K7, Y9 // 6272bd2fb5cf
//TODO: VPMADD52HUQ (R8), Y8, K7, Y9 // 6252bd2fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y9 // 6272bd2fb58c5a0f000000
//TODO: VPMADD52HUQ Y28, Y1, K7, Y9 // 6212f52fb5cc
//TODO: VPMADD52HUQ Y13, Y1, K7, Y9 // 6252f52fb5cd
//TODO: VPMADD52HUQ Y7, Y1, K7, Y9 // 6272f52fb5cf
//TODO: VPMADD52HUQ (R8), Y1, K7, Y9 // 6252f52fb508
//TODO: VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y9 // 6272f52fb58c5a0f000000
//TODO: VPMADD52HUQ Z23, Z23, K1, Z27 // 6222c541b5df
//TODO: VPMADD52HUQ Z6, Z23, K1, Z27 // 6262c541b5de
//TODO: VPMADD52HUQ 17(SP), Z23, K1, Z27 // 6262c541b59c2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z27 // 6262c541b59cb5efffffff
//TODO: VPMADD52HUQ Z23, Z5, K1, Z27 // 6222d549b5df
//TODO: VPMADD52HUQ Z6, Z5, K1, Z27 // 6262d549b5de
//TODO: VPMADD52HUQ 17(SP), Z5, K1, Z27 // 6262d549b59c2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z27 // 6262d549b59cb5efffffff
//TODO: VPMADD52HUQ Z23, Z23, K1, Z15 // 6232c541b5ff
//TODO: VPMADD52HUQ Z6, Z23, K1, Z15 // 6272c541b5fe
//TODO: VPMADD52HUQ 17(SP), Z23, K1, Z15 // 6272c541b5bc2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z15 // 6272c541b5bcb5efffffff
//TODO: VPMADD52HUQ Z23, Z5, K1, Z15 // 6232d549b5ff
//TODO: VPMADD52HUQ Z6, Z5, K1, Z15 // 6272d549b5fe
//TODO: VPMADD52HUQ 17(SP), Z5, K1, Z15 // 6272d549b5bc2411000000
//TODO: VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z15 // 6272d549b5bcb5efffffff
//TODO: VPMADD52LUQ X5, X9, K1, X24 // 6262b509b4c5
//TODO: VPMADD52LUQ X31, X9, K1, X24 // 6202b509b4c7
//TODO: VPMADD52LUQ X3, X9, K1, X24 // 6262b509b4c3
//TODO: VPMADD52LUQ 15(R8), X9, K1, X24 // 6242b509b4800f000000
//TODO: VPMADD52LUQ (BP), X9, K1, X24 // 6262b509b44500
//TODO: VPMADD52LUQ X5, X7, K1, X24 // 6262c509b4c5
//TODO: VPMADD52LUQ X31, X7, K1, X24 // 6202c509b4c7
//TODO: VPMADD52LUQ X3, X7, K1, X24 // 6262c509b4c3
//TODO: VPMADD52LUQ 15(R8), X7, K1, X24 // 6242c509b4800f000000
//TODO: VPMADD52LUQ (BP), X7, K1, X24 // 6262c509b44500
//TODO: VPMADD52LUQ X5, X14, K1, X24 // 62628d09b4c5
//TODO: VPMADD52LUQ X31, X14, K1, X24 // 62028d09b4c7
//TODO: VPMADD52LUQ X3, X14, K1, X24 // 62628d09b4c3
//TODO: VPMADD52LUQ 15(R8), X14, K1, X24 // 62428d09b4800f000000
//TODO: VPMADD52LUQ (BP), X14, K1, X24 // 62628d09b44500
//TODO: VPMADD52LUQ X5, X9, K1, X20 // 62e2b509b4e5
//TODO: VPMADD52LUQ X31, X9, K1, X20 // 6282b509b4e7
//TODO: VPMADD52LUQ X3, X9, K1, X20 // 62e2b509b4e3
//TODO: VPMADD52LUQ 15(R8), X9, K1, X20 // 62c2b509b4a00f000000
//TODO: VPMADD52LUQ (BP), X9, K1, X20 // 62e2b509b46500
//TODO: VPMADD52LUQ X5, X7, K1, X20 // 62e2c509b4e5
//TODO: VPMADD52LUQ X31, X7, K1, X20 // 6282c509b4e7
//TODO: VPMADD52LUQ X3, X7, K1, X20 // 62e2c509b4e3
//TODO: VPMADD52LUQ 15(R8), X7, K1, X20 // 62c2c509b4a00f000000
//TODO: VPMADD52LUQ (BP), X7, K1, X20 // 62e2c509b46500
//TODO: VPMADD52LUQ X5, X14, K1, X20 // 62e28d09b4e5
//TODO: VPMADD52LUQ X31, X14, K1, X20 // 62828d09b4e7
//TODO: VPMADD52LUQ X3, X14, K1, X20 // 62e28d09b4e3
//TODO: VPMADD52LUQ 15(R8), X14, K1, X20 // 62c28d09b4a00f000000
//TODO: VPMADD52LUQ (BP), X14, K1, X20 // 62e28d09b46500
//TODO: VPMADD52LUQ X5, X9, K1, X7 // 62f2b509b4fd
//TODO: VPMADD52LUQ X31, X9, K1, X7 // 6292b509b4ff
//TODO: VPMADD52LUQ X3, X9, K1, X7 // 62f2b509b4fb
//TODO: VPMADD52LUQ 15(R8), X9, K1, X7 // 62d2b509b4b80f000000
//TODO: VPMADD52LUQ (BP), X9, K1, X7 // 62f2b509b47d00
//TODO: VPMADD52LUQ X5, X7, K1, X7 // 62f2c509b4fd
//TODO: VPMADD52LUQ X31, X7, K1, X7 // 6292c509b4ff
//TODO: VPMADD52LUQ X3, X7, K1, X7 // 62f2c509b4fb
//TODO: VPMADD52LUQ 15(R8), X7, K1, X7 // 62d2c509b4b80f000000
//TODO: VPMADD52LUQ (BP), X7, K1, X7 // 62f2c509b47d00
//TODO: VPMADD52LUQ X5, X14, K1, X7 // 62f28d09b4fd
//TODO: VPMADD52LUQ X31, X14, K1, X7 // 62928d09b4ff
//TODO: VPMADD52LUQ X3, X14, K1, X7 // 62f28d09b4fb
//TODO: VPMADD52LUQ 15(R8), X14, K1, X7 // 62d28d09b4b80f000000
//TODO: VPMADD52LUQ (BP), X14, K1, X7 // 62f28d09b47d00
//TODO: VPMADD52LUQ Y3, Y9, K1, Y2 // 62f2b529b4d3
//TODO: VPMADD52LUQ Y2, Y9, K1, Y2 // 62f2b529b4d2
//TODO: VPMADD52LUQ Y9, Y9, K1, Y2 // 62d2b529b4d1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y2 // 62f2b529b4942c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y2 // 62f2b529b494d1f9ffffff
//TODO: VPMADD52LUQ Y3, Y1, K1, Y2 // 62f2f529b4d3
//TODO: VPMADD52LUQ Y2, Y1, K1, Y2 // 62f2f529b4d2
//TODO: VPMADD52LUQ Y9, Y1, K1, Y2 // 62d2f529b4d1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y2 // 62f2f529b4942c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y2 // 62f2f529b494d1f9ffffff
//TODO: VPMADD52LUQ Y3, Y9, K1, Y21 // 62e2b529b4eb
//TODO: VPMADD52LUQ Y2, Y9, K1, Y21 // 62e2b529b4ea
//TODO: VPMADD52LUQ Y9, Y9, K1, Y21 // 62c2b529b4e9
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y21 // 62e2b529b4ac2c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y21 // 62e2b529b4acd1f9ffffff
//TODO: VPMADD52LUQ Y3, Y1, K1, Y21 // 62e2f529b4eb
//TODO: VPMADD52LUQ Y2, Y1, K1, Y21 // 62e2f529b4ea
//TODO: VPMADD52LUQ Y9, Y1, K1, Y21 // 62c2f529b4e9
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y21 // 62e2f529b4ac2c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y21 // 62e2f529b4acd1f9ffffff
//TODO: VPMADD52LUQ Y3, Y9, K1, Y12 // 6272b529b4e3
//TODO: VPMADD52LUQ Y2, Y9, K1, Y12 // 6272b529b4e2
//TODO: VPMADD52LUQ Y9, Y9, K1, Y12 // 6252b529b4e1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y12 // 6272b529b4a42c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y12 // 6272b529b4a4d1f9ffffff
//TODO: VPMADD52LUQ Y3, Y1, K1, Y12 // 6272f529b4e3
//TODO: VPMADD52LUQ Y2, Y1, K1, Y12 // 6272f529b4e2
//TODO: VPMADD52LUQ Y9, Y1, K1, Y12 // 6252f529b4e1
//TODO: VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y12 // 6272f529b4a42c11000000
//TODO: VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y12 // 6272f529b4a4d1f9ffffff
//TODO: VPMADD52LUQ Z16, Z21, K7, Z8 // 6232d547b4c0
//TODO: VPMADD52LUQ Z13, Z21, K7, Z8 // 6252d547b4c5
//TODO: VPMADD52LUQ 7(AX), Z21, K7, Z8 // 6272d547b48007000000
//TODO: VPMADD52LUQ (DI), Z21, K7, Z8 // 6272d547b407
//TODO: VPMADD52LUQ Z16, Z5, K7, Z8 // 6232d54fb4c0
//TODO: VPMADD52LUQ Z13, Z5, K7, Z8 // 6252d54fb4c5
//TODO: VPMADD52LUQ 7(AX), Z5, K7, Z8 // 6272d54fb48007000000
//TODO: VPMADD52LUQ (DI), Z5, K7, Z8 // 6272d54fb407
//TODO: VPMADD52LUQ Z16, Z21, K7, Z28 // 6222d547b4e0
//TODO: VPMADD52LUQ Z13, Z21, K7, Z28 // 6242d547b4e5
//TODO: VPMADD52LUQ 7(AX), Z21, K7, Z28 // 6262d547b4a007000000
//TODO: VPMADD52LUQ (DI), Z21, K7, Z28 // 6262d547b427
//TODO: VPMADD52LUQ Z16, Z5, K7, Z28 // 6222d54fb4e0
//TODO: VPMADD52LUQ Z13, Z5, K7, Z28 // 6242d54fb4e5
//TODO: VPMADD52LUQ 7(AX), Z5, K7, Z28 // 6262d54fb4a007000000
//TODO: VPMADD52LUQ (DI), Z5, K7, Z28 // 6262d54fb427
VPMADD52HUQ X7, X11, K1, X18 // 62e2a509b5d7
VPMADD52HUQ X0, X11, K1, X18 // 62e2a509b5d0
VPMADD52HUQ 17(SP)(BP*2), X11, K1, X18 // 62e2a509b5946c11000000
VPMADD52HUQ -7(DI)(R8*4), X11, K1, X18 // 62a2a509b59487f9ffffff
VPMADD52HUQ X7, X31, K1, X18 // 62e28501b5d7
VPMADD52HUQ X0, X31, K1, X18 // 62e28501b5d0
VPMADD52HUQ 17(SP)(BP*2), X31, K1, X18 // 62e28501b5946c11000000
VPMADD52HUQ -7(DI)(R8*4), X31, K1, X18 // 62a28501b59487f9ffffff
VPMADD52HUQ X7, X3, K1, X18 // 62e2e509b5d7
VPMADD52HUQ X0, X3, K1, X18 // 62e2e509b5d0
VPMADD52HUQ 17(SP)(BP*2), X3, K1, X18 // 62e2e509b5946c11000000
VPMADD52HUQ -7(DI)(R8*4), X3, K1, X18 // 62a2e509b59487f9ffffff
VPMADD52HUQ X7, X11, K1, X21 // 62e2a509b5ef
VPMADD52HUQ X0, X11, K1, X21 // 62e2a509b5e8
VPMADD52HUQ 17(SP)(BP*2), X11, K1, X21 // 62e2a509b5ac6c11000000
VPMADD52HUQ -7(DI)(R8*4), X11, K1, X21 // 62a2a509b5ac87f9ffffff
VPMADD52HUQ X7, X31, K1, X21 // 62e28501b5ef
VPMADD52HUQ X0, X31, K1, X21 // 62e28501b5e8
VPMADD52HUQ 17(SP)(BP*2), X31, K1, X21 // 62e28501b5ac6c11000000
VPMADD52HUQ -7(DI)(R8*4), X31, K1, X21 // 62a28501b5ac87f9ffffff
VPMADD52HUQ X7, X3, K1, X21 // 62e2e509b5ef
VPMADD52HUQ X0, X3, K1, X21 // 62e2e509b5e8
VPMADD52HUQ 17(SP)(BP*2), X3, K1, X21 // 62e2e509b5ac6c11000000
VPMADD52HUQ -7(DI)(R8*4), X3, K1, X21 // 62a2e509b5ac87f9ffffff
VPMADD52HUQ X7, X11, K1, X1 // 62f2a509b5cf
VPMADD52HUQ X0, X11, K1, X1 // 62f2a509b5c8
VPMADD52HUQ 17(SP)(BP*2), X11, K1, X1 // 62f2a509b58c6c11000000
VPMADD52HUQ -7(DI)(R8*4), X11, K1, X1 // 62b2a509b58c87f9ffffff
VPMADD52HUQ X7, X31, K1, X1 // 62f28501b5cf
VPMADD52HUQ X0, X31, K1, X1 // 62f28501b5c8
VPMADD52HUQ 17(SP)(BP*2), X31, K1, X1 // 62f28501b58c6c11000000
VPMADD52HUQ -7(DI)(R8*4), X31, K1, X1 // 62b28501b58c87f9ffffff
VPMADD52HUQ X7, X3, K1, X1 // 62f2e509b5cf
VPMADD52HUQ X0, X3, K1, X1 // 62f2e509b5c8
VPMADD52HUQ 17(SP)(BP*2), X3, K1, X1 // 62f2e509b58c6c11000000
VPMADD52HUQ -7(DI)(R8*4), X3, K1, X1 // 62b2e509b58c87f9ffffff
VPMADD52HUQ Y28, Y31, K7, Y17 // 62828527b5cc
VPMADD52HUQ Y13, Y31, K7, Y17 // 62c28527b5cd
VPMADD52HUQ Y7, Y31, K7, Y17 // 62e28527b5cf
VPMADD52HUQ (R8), Y31, K7, Y17 // 62c28527b508
VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y17 // 62e28527b58c5a0f000000
VPMADD52HUQ Y28, Y8, K7, Y17 // 6282bd2fb5cc
VPMADD52HUQ Y13, Y8, K7, Y17 // 62c2bd2fb5cd
VPMADD52HUQ Y7, Y8, K7, Y17 // 62e2bd2fb5cf
VPMADD52HUQ (R8), Y8, K7, Y17 // 62c2bd2fb508
VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y17 // 62e2bd2fb58c5a0f000000
VPMADD52HUQ Y28, Y1, K7, Y17 // 6282f52fb5cc
VPMADD52HUQ Y13, Y1, K7, Y17 // 62c2f52fb5cd
VPMADD52HUQ Y7, Y1, K7, Y17 // 62e2f52fb5cf
VPMADD52HUQ (R8), Y1, K7, Y17 // 62c2f52fb508
VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y17 // 62e2f52fb58c5a0f000000
VPMADD52HUQ Y28, Y31, K7, Y7 // 62928527b5fc
VPMADD52HUQ Y13, Y31, K7, Y7 // 62d28527b5fd
VPMADD52HUQ Y7, Y31, K7, Y7 // 62f28527b5ff
VPMADD52HUQ (R8), Y31, K7, Y7 // 62d28527b538
VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y7 // 62f28527b5bc5a0f000000
VPMADD52HUQ Y28, Y8, K7, Y7 // 6292bd2fb5fc
VPMADD52HUQ Y13, Y8, K7, Y7 // 62d2bd2fb5fd
VPMADD52HUQ Y7, Y8, K7, Y7 // 62f2bd2fb5ff
VPMADD52HUQ (R8), Y8, K7, Y7 // 62d2bd2fb538
VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y7 // 62f2bd2fb5bc5a0f000000
VPMADD52HUQ Y28, Y1, K7, Y7 // 6292f52fb5fc
VPMADD52HUQ Y13, Y1, K7, Y7 // 62d2f52fb5fd
VPMADD52HUQ Y7, Y1, K7, Y7 // 62f2f52fb5ff
VPMADD52HUQ (R8), Y1, K7, Y7 // 62d2f52fb538
VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y7 // 62f2f52fb5bc5a0f000000
VPMADD52HUQ Y28, Y31, K7, Y9 // 62128527b5cc
VPMADD52HUQ Y13, Y31, K7, Y9 // 62528527b5cd
VPMADD52HUQ Y7, Y31, K7, Y9 // 62728527b5cf
VPMADD52HUQ (R8), Y31, K7, Y9 // 62528527b508
VPMADD52HUQ 15(DX)(BX*2), Y31, K7, Y9 // 62728527b58c5a0f000000
VPMADD52HUQ Y28, Y8, K7, Y9 // 6212bd2fb5cc
VPMADD52HUQ Y13, Y8, K7, Y9 // 6252bd2fb5cd
VPMADD52HUQ Y7, Y8, K7, Y9 // 6272bd2fb5cf
VPMADD52HUQ (R8), Y8, K7, Y9 // 6252bd2fb508
VPMADD52HUQ 15(DX)(BX*2), Y8, K7, Y9 // 6272bd2fb58c5a0f000000
VPMADD52HUQ Y28, Y1, K7, Y9 // 6212f52fb5cc
VPMADD52HUQ Y13, Y1, K7, Y9 // 6252f52fb5cd
VPMADD52HUQ Y7, Y1, K7, Y9 // 6272f52fb5cf
VPMADD52HUQ (R8), Y1, K7, Y9 // 6252f52fb508
VPMADD52HUQ 15(DX)(BX*2), Y1, K7, Y9 // 6272f52fb58c5a0f000000
VPMADD52HUQ Z23, Z23, K1, Z27 // 6222c541b5df
VPMADD52HUQ Z6, Z23, K1, Z27 // 6262c541b5de
VPMADD52HUQ 17(SP), Z23, K1, Z27 // 6262c541b59c2411000000
VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z27 // 6262c541b59cb5efffffff
VPMADD52HUQ Z23, Z5, K1, Z27 // 6222d549b5df
VPMADD52HUQ Z6, Z5, K1, Z27 // 6262d549b5de
VPMADD52HUQ 17(SP), Z5, K1, Z27 // 6262d549b59c2411000000
VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z27 // 6262d549b59cb5efffffff
VPMADD52HUQ Z23, Z23, K1, Z15 // 6232c541b5ff
VPMADD52HUQ Z6, Z23, K1, Z15 // 6272c541b5fe
VPMADD52HUQ 17(SP), Z23, K1, Z15 // 6272c541b5bc2411000000
VPMADD52HUQ -17(BP)(SI*4), Z23, K1, Z15 // 6272c541b5bcb5efffffff
VPMADD52HUQ Z23, Z5, K1, Z15 // 6232d549b5ff
VPMADD52HUQ Z6, Z5, K1, Z15 // 6272d549b5fe
VPMADD52HUQ 17(SP), Z5, K1, Z15 // 6272d549b5bc2411000000
VPMADD52HUQ -17(BP)(SI*4), Z5, K1, Z15 // 6272d549b5bcb5efffffff
VPMADD52LUQ X5, X9, K1, X24 // 6262b509b4c5
VPMADD52LUQ X31, X9, K1, X24 // 6202b509b4c7
VPMADD52LUQ X3, X9, K1, X24 // 6262b509b4c3
VPMADD52LUQ 15(R8), X9, K1, X24 // 6242b509b4800f000000
VPMADD52LUQ (BP), X9, K1, X24 // 6262b509b44500
VPMADD52LUQ X5, X7, K1, X24 // 6262c509b4c5
VPMADD52LUQ X31, X7, K1, X24 // 6202c509b4c7
VPMADD52LUQ X3, X7, K1, X24 // 6262c509b4c3
VPMADD52LUQ 15(R8), X7, K1, X24 // 6242c509b4800f000000
VPMADD52LUQ (BP), X7, K1, X24 // 6262c509b44500
VPMADD52LUQ X5, X14, K1, X24 // 62628d09b4c5
VPMADD52LUQ X31, X14, K1, X24 // 62028d09b4c7
VPMADD52LUQ X3, X14, K1, X24 // 62628d09b4c3
VPMADD52LUQ 15(R8), X14, K1, X24 // 62428d09b4800f000000
VPMADD52LUQ (BP), X14, K1, X24 // 62628d09b44500
VPMADD52LUQ X5, X9, K1, X20 // 62e2b509b4e5
VPMADD52LUQ X31, X9, K1, X20 // 6282b509b4e7
VPMADD52LUQ X3, X9, K1, X20 // 62e2b509b4e3
VPMADD52LUQ 15(R8), X9, K1, X20 // 62c2b509b4a00f000000
VPMADD52LUQ (BP), X9, K1, X20 // 62e2b509b46500
VPMADD52LUQ X5, X7, K1, X20 // 62e2c509b4e5
VPMADD52LUQ X31, X7, K1, X20 // 6282c509b4e7
VPMADD52LUQ X3, X7, K1, X20 // 62e2c509b4e3
VPMADD52LUQ 15(R8), X7, K1, X20 // 62c2c509b4a00f000000
VPMADD52LUQ (BP), X7, K1, X20 // 62e2c509b46500
VPMADD52LUQ X5, X14, K1, X20 // 62e28d09b4e5
VPMADD52LUQ X31, X14, K1, X20 // 62828d09b4e7
VPMADD52LUQ X3, X14, K1, X20 // 62e28d09b4e3
VPMADD52LUQ 15(R8), X14, K1, X20 // 62c28d09b4a00f000000
VPMADD52LUQ (BP), X14, K1, X20 // 62e28d09b46500
VPMADD52LUQ X5, X9, K1, X7 // 62f2b509b4fd
VPMADD52LUQ X31, X9, K1, X7 // 6292b509b4ff
VPMADD52LUQ X3, X9, K1, X7 // 62f2b509b4fb
VPMADD52LUQ 15(R8), X9, K1, X7 // 62d2b509b4b80f000000
VPMADD52LUQ (BP), X9, K1, X7 // 62f2b509b47d00
VPMADD52LUQ X5, X7, K1, X7 // 62f2c509b4fd
VPMADD52LUQ X31, X7, K1, X7 // 6292c509b4ff
VPMADD52LUQ X3, X7, K1, X7 // 62f2c509b4fb
VPMADD52LUQ 15(R8), X7, K1, X7 // 62d2c509b4b80f000000
VPMADD52LUQ (BP), X7, K1, X7 // 62f2c509b47d00
VPMADD52LUQ X5, X14, K1, X7 // 62f28d09b4fd
VPMADD52LUQ X31, X14, K1, X7 // 62928d09b4ff
VPMADD52LUQ X3, X14, K1, X7 // 62f28d09b4fb
VPMADD52LUQ 15(R8), X14, K1, X7 // 62d28d09b4b80f000000
VPMADD52LUQ (BP), X14, K1, X7 // 62f28d09b47d00
VPMADD52LUQ Y3, Y9, K1, Y2 // 62f2b529b4d3
VPMADD52LUQ Y2, Y9, K1, Y2 // 62f2b529b4d2
VPMADD52LUQ Y9, Y9, K1, Y2 // 62d2b529b4d1
VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y2 // 62f2b529b4942c11000000
VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y2 // 62f2b529b494d1f9ffffff
VPMADD52LUQ Y3, Y1, K1, Y2 // 62f2f529b4d3
VPMADD52LUQ Y2, Y1, K1, Y2 // 62f2f529b4d2
VPMADD52LUQ Y9, Y1, K1, Y2 // 62d2f529b4d1
VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y2 // 62f2f529b4942c11000000
VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y2 // 62f2f529b494d1f9ffffff
VPMADD52LUQ Y3, Y9, K1, Y21 // 62e2b529b4eb
VPMADD52LUQ Y2, Y9, K1, Y21 // 62e2b529b4ea
VPMADD52LUQ Y9, Y9, K1, Y21 // 62c2b529b4e9
VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y21 // 62e2b529b4ac2c11000000
VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y21 // 62e2b529b4acd1f9ffffff
VPMADD52LUQ Y3, Y1, K1, Y21 // 62e2f529b4eb
VPMADD52LUQ Y2, Y1, K1, Y21 // 62e2f529b4ea
VPMADD52LUQ Y9, Y1, K1, Y21 // 62c2f529b4e9
VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y21 // 62e2f529b4ac2c11000000
VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y21 // 62e2f529b4acd1f9ffffff
VPMADD52LUQ Y3, Y9, K1, Y12 // 6272b529b4e3
VPMADD52LUQ Y2, Y9, K1, Y12 // 6272b529b4e2
VPMADD52LUQ Y9, Y9, K1, Y12 // 6252b529b4e1
VPMADD52LUQ 17(SP)(BP*1), Y9, K1, Y12 // 6272b529b4a42c11000000
VPMADD52LUQ -7(CX)(DX*8), Y9, K1, Y12 // 6272b529b4a4d1f9ffffff
VPMADD52LUQ Y3, Y1, K1, Y12 // 6272f529b4e3
VPMADD52LUQ Y2, Y1, K1, Y12 // 6272f529b4e2
VPMADD52LUQ Y9, Y1, K1, Y12 // 6252f529b4e1
VPMADD52LUQ 17(SP)(BP*1), Y1, K1, Y12 // 6272f529b4a42c11000000
VPMADD52LUQ -7(CX)(DX*8), Y1, K1, Y12 // 6272f529b4a4d1f9ffffff
VPMADD52LUQ Z16, Z21, K7, Z8 // 6232d547b4c0
VPMADD52LUQ Z13, Z21, K7, Z8 // 6252d547b4c5
VPMADD52LUQ 7(AX), Z21, K7, Z8 // 6272d547b48007000000
VPMADD52LUQ (DI), Z21, K7, Z8 // 6272d547b407
VPMADD52LUQ Z16, Z5, K7, Z8 // 6232d54fb4c0
VPMADD52LUQ Z13, Z5, K7, Z8 // 6252d54fb4c5
VPMADD52LUQ 7(AX), Z5, K7, Z8 // 6272d54fb48007000000
VPMADD52LUQ (DI), Z5, K7, Z8 // 6272d54fb407
VPMADD52LUQ Z16, Z21, K7, Z28 // 6222d547b4e0
VPMADD52LUQ Z13, Z21, K7, Z28 // 6242d547b4e5
VPMADD52LUQ 7(AX), Z21, K7, Z28 // 6262d547b4a007000000
VPMADD52LUQ (DI), Z21, K7, Z28 // 6262d547b427
VPMADD52LUQ Z16, Z5, K7, Z28 // 6222d54fb4e0
VPMADD52LUQ Z13, Z5, K7, Z28 // 6242d54fb4e5
VPMADD52LUQ 7(AX), Z5, K7, Z28 // 6262d54fb4a007000000
VPMADD52LUQ (DI), Z5, K7, Z28 // 6262d54fb427
RET
......@@ -3,413 +3,413 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_vbmi(SB), NOSPLIT, $0
//TODO: VPERMB X26, X20, K1, X23 // 62825d018dfa
//TODO: VPERMB X19, X20, K1, X23 // 62a25d018dfb
//TODO: VPERMB X0, X20, K1, X23 // 62e25d018df8
//TODO: VPERMB 7(SI)(DI*4), X20, K1, X23 // 62e25d018dbcbe07000000
//TODO: VPERMB -7(DI)(R8*2), X20, K1, X23 // 62a25d018dbc47f9ffffff
//TODO: VPERMB X26, X2, K1, X23 // 62826d098dfa
//TODO: VPERMB X19, X2, K1, X23 // 62a26d098dfb
//TODO: VPERMB X0, X2, K1, X23 // 62e26d098df8
//TODO: VPERMB 7(SI)(DI*4), X2, K1, X23 // 62e26d098dbcbe07000000
//TODO: VPERMB -7(DI)(R8*2), X2, K1, X23 // 62a26d098dbc47f9ffffff
//TODO: VPERMB X26, X9, K1, X23 // 628235098dfa
//TODO: VPERMB X19, X9, K1, X23 // 62a235098dfb
//TODO: VPERMB X0, X9, K1, X23 // 62e235098df8
//TODO: VPERMB 7(SI)(DI*4), X9, K1, X23 // 62e235098dbcbe07000000
//TODO: VPERMB -7(DI)(R8*2), X9, K1, X23 // 62a235098dbc47f9ffffff
//TODO: VPERMB X26, X20, K1, X30 // 62025d018df2
//TODO: VPERMB X19, X20, K1, X30 // 62225d018df3
//TODO: VPERMB X0, X20, K1, X30 // 62625d018df0
//TODO: VPERMB 7(SI)(DI*4), X20, K1, X30 // 62625d018db4be07000000
//TODO: VPERMB -7(DI)(R8*2), X20, K1, X30 // 62225d018db447f9ffffff
//TODO: VPERMB X26, X2, K1, X30 // 62026d098df2
//TODO: VPERMB X19, X2, K1, X30 // 62226d098df3
//TODO: VPERMB X0, X2, K1, X30 // 62626d098df0
//TODO: VPERMB 7(SI)(DI*4), X2, K1, X30 // 62626d098db4be07000000
//TODO: VPERMB -7(DI)(R8*2), X2, K1, X30 // 62226d098db447f9ffffff
//TODO: VPERMB X26, X9, K1, X30 // 620235098df2
//TODO: VPERMB X19, X9, K1, X30 // 622235098df3
//TODO: VPERMB X0, X9, K1, X30 // 626235098df0
//TODO: VPERMB 7(SI)(DI*4), X9, K1, X30 // 626235098db4be07000000
//TODO: VPERMB -7(DI)(R8*2), X9, K1, X30 // 622235098db447f9ffffff
//TODO: VPERMB X26, X20, K1, X8 // 62125d018dc2
//TODO: VPERMB X19, X20, K1, X8 // 62325d018dc3
//TODO: VPERMB X0, X20, K1, X8 // 62725d018dc0
//TODO: VPERMB 7(SI)(DI*4), X20, K1, X8 // 62725d018d84be07000000
//TODO: VPERMB -7(DI)(R8*2), X20, K1, X8 // 62325d018d8447f9ffffff
//TODO: VPERMB X26, X2, K1, X8 // 62126d098dc2
//TODO: VPERMB X19, X2, K1, X8 // 62326d098dc3
//TODO: VPERMB X0, X2, K1, X8 // 62726d098dc0
//TODO: VPERMB 7(SI)(DI*4), X2, K1, X8 // 62726d098d84be07000000
//TODO: VPERMB -7(DI)(R8*2), X2, K1, X8 // 62326d098d8447f9ffffff
//TODO: VPERMB X26, X9, K1, X8 // 621235098dc2
//TODO: VPERMB X19, X9, K1, X8 // 623235098dc3
//TODO: VPERMB X0, X9, K1, X8 // 627235098dc0
//TODO: VPERMB 7(SI)(DI*4), X9, K1, X8 // 627235098d84be07000000
//TODO: VPERMB -7(DI)(R8*2), X9, K1, X8 // 623235098d8447f9ffffff
//TODO: VPERMB Y5, Y31, K7, Y22 // 62e205278df5
//TODO: VPERMB Y19, Y31, K7, Y22 // 62a205278df3
//TODO: VPERMB Y31, Y31, K7, Y22 // 628205278df7
//TODO: VPERMB 17(SP)(BP*1), Y31, K7, Y22 // 62e205278db42c11000000
//TODO: VPERMB -7(CX)(DX*8), Y31, K7, Y22 // 62e205278db4d1f9ffffff
//TODO: VPERMB Y5, Y5, K7, Y22 // 62e2552f8df5
//TODO: VPERMB Y19, Y5, K7, Y22 // 62a2552f8df3
//TODO: VPERMB Y31, Y5, K7, Y22 // 6282552f8df7
//TODO: VPERMB 17(SP)(BP*1), Y5, K7, Y22 // 62e2552f8db42c11000000
//TODO: VPERMB -7(CX)(DX*8), Y5, K7, Y22 // 62e2552f8db4d1f9ffffff
//TODO: VPERMB Y5, Y0, K7, Y22 // 62e27d2f8df5
//TODO: VPERMB Y19, Y0, K7, Y22 // 62a27d2f8df3
//TODO: VPERMB Y31, Y0, K7, Y22 // 62827d2f8df7
//TODO: VPERMB 17(SP)(BP*1), Y0, K7, Y22 // 62e27d2f8db42c11000000
//TODO: VPERMB -7(CX)(DX*8), Y0, K7, Y22 // 62e27d2f8db4d1f9ffffff
//TODO: VPERMB Y5, Y31, K7, Y9 // 627205278dcd
//TODO: VPERMB Y19, Y31, K7, Y9 // 623205278dcb
//TODO: VPERMB Y31, Y31, K7, Y9 // 621205278dcf
//TODO: VPERMB 17(SP)(BP*1), Y31, K7, Y9 // 627205278d8c2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y31, K7, Y9 // 627205278d8cd1f9ffffff
//TODO: VPERMB Y5, Y5, K7, Y9 // 6272552f8dcd
//TODO: VPERMB Y19, Y5, K7, Y9 // 6232552f8dcb
//TODO: VPERMB Y31, Y5, K7, Y9 // 6212552f8dcf
//TODO: VPERMB 17(SP)(BP*1), Y5, K7, Y9 // 6272552f8d8c2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y5, K7, Y9 // 6272552f8d8cd1f9ffffff
//TODO: VPERMB Y5, Y0, K7, Y9 // 62727d2f8dcd
//TODO: VPERMB Y19, Y0, K7, Y9 // 62327d2f8dcb
//TODO: VPERMB Y31, Y0, K7, Y9 // 62127d2f8dcf
//TODO: VPERMB 17(SP)(BP*1), Y0, K7, Y9 // 62727d2f8d8c2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y0, K7, Y9 // 62727d2f8d8cd1f9ffffff
//TODO: VPERMB Y5, Y31, K7, Y23 // 62e205278dfd
//TODO: VPERMB Y19, Y31, K7, Y23 // 62a205278dfb
//TODO: VPERMB Y31, Y31, K7, Y23 // 628205278dff
//TODO: VPERMB 17(SP)(BP*1), Y31, K7, Y23 // 62e205278dbc2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y31, K7, Y23 // 62e205278dbcd1f9ffffff
//TODO: VPERMB Y5, Y5, K7, Y23 // 62e2552f8dfd
//TODO: VPERMB Y19, Y5, K7, Y23 // 62a2552f8dfb
//TODO: VPERMB Y31, Y5, K7, Y23 // 6282552f8dff
//TODO: VPERMB 17(SP)(BP*1), Y5, K7, Y23 // 62e2552f8dbc2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y5, K7, Y23 // 62e2552f8dbcd1f9ffffff
//TODO: VPERMB Y5, Y0, K7, Y23 // 62e27d2f8dfd
//TODO: VPERMB Y19, Y0, K7, Y23 // 62a27d2f8dfb
//TODO: VPERMB Y31, Y0, K7, Y23 // 62827d2f8dff
//TODO: VPERMB 17(SP)(BP*1), Y0, K7, Y23 // 62e27d2f8dbc2c11000000
//TODO: VPERMB -7(CX)(DX*8), Y0, K7, Y23 // 62e27d2f8dbcd1f9ffffff
//TODO: VPERMB Z3, Z8, K1, Z3 // 62f23d498ddb
//TODO: VPERMB Z27, Z8, K1, Z3 // 62923d498ddb
//TODO: VPERMB 7(AX), Z8, K1, Z3 // 62f23d498d9807000000
//TODO: VPERMB (DI), Z8, K1, Z3 // 62f23d498d1f
//TODO: VPERMB Z3, Z2, K1, Z3 // 62f26d498ddb
//TODO: VPERMB Z27, Z2, K1, Z3 // 62926d498ddb
//TODO: VPERMB 7(AX), Z2, K1, Z3 // 62f26d498d9807000000
//TODO: VPERMB (DI), Z2, K1, Z3 // 62f26d498d1f
//TODO: VPERMB Z3, Z8, K1, Z21 // 62e23d498deb
//TODO: VPERMB Z27, Z8, K1, Z21 // 62823d498deb
//TODO: VPERMB 7(AX), Z8, K1, Z21 // 62e23d498da807000000
//TODO: VPERMB (DI), Z8, K1, Z21 // 62e23d498d2f
//TODO: VPERMB Z3, Z2, K1, Z21 // 62e26d498deb
//TODO: VPERMB Z27, Z2, K1, Z21 // 62826d498deb
//TODO: VPERMB 7(AX), Z2, K1, Z21 // 62e26d498da807000000
//TODO: VPERMB (DI), Z2, K1, Z21 // 62e26d498d2f
//TODO: VPERMI2B X15, X8, K7, X31 // 62423d0f75ff
//TODO: VPERMI2B X0, X8, K7, X31 // 62623d0f75f8
//TODO: VPERMI2B X16, X8, K7, X31 // 62223d0f75f8
//TODO: VPERMI2B 17(SP), X8, K7, X31 // 62623d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X8, K7, X31 // 62623d0f75bcb5efffffff
//TODO: VPERMI2B X15, X1, K7, X31 // 6242750f75ff
//TODO: VPERMI2B X0, X1, K7, X31 // 6262750f75f8
//TODO: VPERMI2B X16, X1, K7, X31 // 6222750f75f8
//TODO: VPERMI2B 17(SP), X1, K7, X31 // 6262750f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X1, K7, X31 // 6262750f75bcb5efffffff
//TODO: VPERMI2B X15, X0, K7, X31 // 62427d0f75ff
//TODO: VPERMI2B X0, X0, K7, X31 // 62627d0f75f8
//TODO: VPERMI2B X16, X0, K7, X31 // 62227d0f75f8
//TODO: VPERMI2B 17(SP), X0, K7, X31 // 62627d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X0, K7, X31 // 62627d0f75bcb5efffffff
//TODO: VPERMI2B X15, X8, K7, X16 // 62c23d0f75c7
//TODO: VPERMI2B X0, X8, K7, X16 // 62e23d0f75c0
//TODO: VPERMI2B X16, X8, K7, X16 // 62a23d0f75c0
//TODO: VPERMI2B 17(SP), X8, K7, X16 // 62e23d0f75842411000000
//TODO: VPERMI2B -17(BP)(SI*4), X8, K7, X16 // 62e23d0f7584b5efffffff
//TODO: VPERMI2B X15, X1, K7, X16 // 62c2750f75c7
//TODO: VPERMI2B X0, X1, K7, X16 // 62e2750f75c0
//TODO: VPERMI2B X16, X1, K7, X16 // 62a2750f75c0
//TODO: VPERMI2B 17(SP), X1, K7, X16 // 62e2750f75842411000000
//TODO: VPERMI2B -17(BP)(SI*4), X1, K7, X16 // 62e2750f7584b5efffffff
//TODO: VPERMI2B X15, X0, K7, X16 // 62c27d0f75c7
//TODO: VPERMI2B X0, X0, K7, X16 // 62e27d0f75c0
//TODO: VPERMI2B X16, X0, K7, X16 // 62a27d0f75c0
//TODO: VPERMI2B 17(SP), X0, K7, X16 // 62e27d0f75842411000000
//TODO: VPERMI2B -17(BP)(SI*4), X0, K7, X16 // 62e27d0f7584b5efffffff
//TODO: VPERMI2B X15, X8, K7, X7 // 62d23d0f75ff
//TODO: VPERMI2B X0, X8, K7, X7 // 62f23d0f75f8
//TODO: VPERMI2B X16, X8, K7, X7 // 62b23d0f75f8
//TODO: VPERMI2B 17(SP), X8, K7, X7 // 62f23d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X8, K7, X7 // 62f23d0f75bcb5efffffff
//TODO: VPERMI2B X15, X1, K7, X7 // 62d2750f75ff
//TODO: VPERMI2B X0, X1, K7, X7 // 62f2750f75f8
//TODO: VPERMI2B X16, X1, K7, X7 // 62b2750f75f8
//TODO: VPERMI2B 17(SP), X1, K7, X7 // 62f2750f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X1, K7, X7 // 62f2750f75bcb5efffffff
//TODO: VPERMI2B X15, X0, K7, X7 // 62d27d0f75ff
//TODO: VPERMI2B X0, X0, K7, X7 // 62f27d0f75f8
//TODO: VPERMI2B X16, X0, K7, X7 // 62b27d0f75f8
//TODO: VPERMI2B 17(SP), X0, K7, X7 // 62f27d0f75bc2411000000
//TODO: VPERMI2B -17(BP)(SI*4), X0, K7, X7 // 62f27d0f75bcb5efffffff
//TODO: VPERMI2B Y18, Y15, K2, Y2 // 62b2052a75d2
//TODO: VPERMI2B Y24, Y15, K2, Y2 // 6292052a75d0
//TODO: VPERMI2B Y9, Y15, K2, Y2 // 62d2052a75d1
//TODO: VPERMI2B 15(R8)(R14*1), Y15, K2, Y2 // 6292052a7594300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y15, K2, Y2 // 6292052a7594700f000000
//TODO: VPERMI2B Y18, Y22, K2, Y2 // 62b24d2275d2
//TODO: VPERMI2B Y24, Y22, K2, Y2 // 62924d2275d0
//TODO: VPERMI2B Y9, Y22, K2, Y2 // 62d24d2275d1
//TODO: VPERMI2B 15(R8)(R14*1), Y22, K2, Y2 // 62924d227594300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y22, K2, Y2 // 62924d227594700f000000
//TODO: VPERMI2B Y18, Y20, K2, Y2 // 62b25d2275d2
//TODO: VPERMI2B Y24, Y20, K2, Y2 // 62925d2275d0
//TODO: VPERMI2B Y9, Y20, K2, Y2 // 62d25d2275d1
//TODO: VPERMI2B 15(R8)(R14*1), Y20, K2, Y2 // 62925d227594300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y20, K2, Y2 // 62925d227594700f000000
//TODO: VPERMI2B Y18, Y15, K2, Y13 // 6232052a75ea
//TODO: VPERMI2B Y24, Y15, K2, Y13 // 6212052a75e8
//TODO: VPERMI2B Y9, Y15, K2, Y13 // 6252052a75e9
//TODO: VPERMI2B 15(R8)(R14*1), Y15, K2, Y13 // 6212052a75ac300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y15, K2, Y13 // 6212052a75ac700f000000
//TODO: VPERMI2B Y18, Y22, K2, Y13 // 62324d2275ea
//TODO: VPERMI2B Y24, Y22, K2, Y13 // 62124d2275e8
//TODO: VPERMI2B Y9, Y22, K2, Y13 // 62524d2275e9
//TODO: VPERMI2B 15(R8)(R14*1), Y22, K2, Y13 // 62124d2275ac300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y22, K2, Y13 // 62124d2275ac700f000000
//TODO: VPERMI2B Y18, Y20, K2, Y13 // 62325d2275ea
//TODO: VPERMI2B Y24, Y20, K2, Y13 // 62125d2275e8
//TODO: VPERMI2B Y9, Y20, K2, Y13 // 62525d2275e9
//TODO: VPERMI2B 15(R8)(R14*1), Y20, K2, Y13 // 62125d2275ac300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y20, K2, Y13 // 62125d2275ac700f000000
//TODO: VPERMI2B Y18, Y15, K2, Y27 // 6222052a75da
//TODO: VPERMI2B Y24, Y15, K2, Y27 // 6202052a75d8
//TODO: VPERMI2B Y9, Y15, K2, Y27 // 6242052a75d9
//TODO: VPERMI2B 15(R8)(R14*1), Y15, K2, Y27 // 6202052a759c300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y15, K2, Y27 // 6202052a759c700f000000
//TODO: VPERMI2B Y18, Y22, K2, Y27 // 62224d2275da
//TODO: VPERMI2B Y24, Y22, K2, Y27 // 62024d2275d8
//TODO: VPERMI2B Y9, Y22, K2, Y27 // 62424d2275d9
//TODO: VPERMI2B 15(R8)(R14*1), Y22, K2, Y27 // 62024d22759c300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y22, K2, Y27 // 62024d22759c700f000000
//TODO: VPERMI2B Y18, Y20, K2, Y27 // 62225d2275da
//TODO: VPERMI2B Y24, Y20, K2, Y27 // 62025d2275d8
//TODO: VPERMI2B Y9, Y20, K2, Y27 // 62425d2275d9
//TODO: VPERMI2B 15(R8)(R14*1), Y20, K2, Y27 // 62025d22759c300f000000
//TODO: VPERMI2B 15(R8)(R14*2), Y20, K2, Y27 // 62025d22759c700f000000
//TODO: VPERMI2B Z12, Z9, K4, Z3 // 62d2354c75dc
//TODO: VPERMI2B Z22, Z9, K4, Z3 // 62b2354c75de
//TODO: VPERMI2B -17(BP)(SI*8), Z9, K4, Z3 // 62f2354c759cf5efffffff
//TODO: VPERMI2B (R15), Z9, K4, Z3 // 62d2354c751f
//TODO: VPERMI2B Z12, Z19, K4, Z3 // 62d2654475dc
//TODO: VPERMI2B Z22, Z19, K4, Z3 // 62b2654475de
//TODO: VPERMI2B -17(BP)(SI*8), Z19, K4, Z3 // 62f26544759cf5efffffff
//TODO: VPERMI2B (R15), Z19, K4, Z3 // 62d26544751f
//TODO: VPERMI2B Z12, Z9, K4, Z30 // 6242354c75f4
//TODO: VPERMI2B Z22, Z9, K4, Z30 // 6222354c75f6
//TODO: VPERMI2B -17(BP)(SI*8), Z9, K4, Z30 // 6262354c75b4f5efffffff
//TODO: VPERMI2B (R15), Z9, K4, Z30 // 6242354c7537
//TODO: VPERMI2B Z12, Z19, K4, Z30 // 6242654475f4
//TODO: VPERMI2B Z22, Z19, K4, Z30 // 6222654475f6
//TODO: VPERMI2B -17(BP)(SI*8), Z19, K4, Z30 // 6262654475b4f5efffffff
//TODO: VPERMI2B (R15), Z19, K4, Z30 // 624265447537
//TODO: VPERMT2B X2, X0, K7, X20 // 62e27d0f7de2
//TODO: VPERMT2B X8, X0, K7, X20 // 62c27d0f7de0
//TODO: VPERMT2B X9, X0, K7, X20 // 62c27d0f7de1
//TODO: VPERMT2B (BX), X0, K7, X20 // 62e27d0f7d23
//TODO: VPERMT2B -17(BP)(SI*1), X0, K7, X20 // 62e27d0f7da435efffffff
//TODO: VPERMT2B X2, X9, K7, X20 // 62e2350f7de2
//TODO: VPERMT2B X8, X9, K7, X20 // 62c2350f7de0
//TODO: VPERMT2B X9, X9, K7, X20 // 62c2350f7de1
//TODO: VPERMT2B (BX), X9, K7, X20 // 62e2350f7d23
//TODO: VPERMT2B -17(BP)(SI*1), X9, K7, X20 // 62e2350f7da435efffffff
//TODO: VPERMT2B X2, X13, K7, X20 // 62e2150f7de2
//TODO: VPERMT2B X8, X13, K7, X20 // 62c2150f7de0
//TODO: VPERMT2B X9, X13, K7, X20 // 62c2150f7de1
//TODO: VPERMT2B (BX), X13, K7, X20 // 62e2150f7d23
//TODO: VPERMT2B -17(BP)(SI*1), X13, K7, X20 // 62e2150f7da435efffffff
//TODO: VPERMT2B X2, X0, K7, X5 // 62f27d0f7dea
//TODO: VPERMT2B X8, X0, K7, X5 // 62d27d0f7de8
//TODO: VPERMT2B X9, X0, K7, X5 // 62d27d0f7de9
//TODO: VPERMT2B (BX), X0, K7, X5 // 62f27d0f7d2b
//TODO: VPERMT2B -17(BP)(SI*1), X0, K7, X5 // 62f27d0f7dac35efffffff
//TODO: VPERMT2B X2, X9, K7, X5 // 62f2350f7dea
//TODO: VPERMT2B X8, X9, K7, X5 // 62d2350f7de8
//TODO: VPERMT2B X9, X9, K7, X5 // 62d2350f7de9
//TODO: VPERMT2B (BX), X9, K7, X5 // 62f2350f7d2b
//TODO: VPERMT2B -17(BP)(SI*1), X9, K7, X5 // 62f2350f7dac35efffffff
//TODO: VPERMT2B X2, X13, K7, X5 // 62f2150f7dea
//TODO: VPERMT2B X8, X13, K7, X5 // 62d2150f7de8
//TODO: VPERMT2B X9, X13, K7, X5 // 62d2150f7de9
//TODO: VPERMT2B (BX), X13, K7, X5 // 62f2150f7d2b
//TODO: VPERMT2B -17(BP)(SI*1), X13, K7, X5 // 62f2150f7dac35efffffff
//TODO: VPERMT2B X2, X0, K7, X25 // 62627d0f7dca
//TODO: VPERMT2B X8, X0, K7, X25 // 62427d0f7dc8
//TODO: VPERMT2B X9, X0, K7, X25 // 62427d0f7dc9
//TODO: VPERMT2B (BX), X0, K7, X25 // 62627d0f7d0b
//TODO: VPERMT2B -17(BP)(SI*1), X0, K7, X25 // 62627d0f7d8c35efffffff
//TODO: VPERMT2B X2, X9, K7, X25 // 6262350f7dca
//TODO: VPERMT2B X8, X9, K7, X25 // 6242350f7dc8
//TODO: VPERMT2B X9, X9, K7, X25 // 6242350f7dc9
//TODO: VPERMT2B (BX), X9, K7, X25 // 6262350f7d0b
//TODO: VPERMT2B -17(BP)(SI*1), X9, K7, X25 // 6262350f7d8c35efffffff
//TODO: VPERMT2B X2, X13, K7, X25 // 6262150f7dca
//TODO: VPERMT2B X8, X13, K7, X25 // 6242150f7dc8
//TODO: VPERMT2B X9, X13, K7, X25 // 6242150f7dc9
//TODO: VPERMT2B (BX), X13, K7, X25 // 6262150f7d0b
//TODO: VPERMT2B -17(BP)(SI*1), X13, K7, X25 // 6262150f7d8c35efffffff
//TODO: VPERMT2B Y14, Y2, K6, Y18 // 62c26d2e7dd6
//TODO: VPERMT2B Y8, Y2, K6, Y18 // 62c26d2e7dd0
//TODO: VPERMT2B Y20, Y2, K6, Y18 // 62a26d2e7dd4
//TODO: VPERMT2B 7(SI)(DI*4), Y2, K6, Y18 // 62e26d2e7d94be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y2, K6, Y18 // 62a26d2e7d9447f9ffffff
//TODO: VPERMT2B Y14, Y7, K6, Y18 // 62c2452e7dd6
//TODO: VPERMT2B Y8, Y7, K6, Y18 // 62c2452e7dd0
//TODO: VPERMT2B Y20, Y7, K6, Y18 // 62a2452e7dd4
//TODO: VPERMT2B 7(SI)(DI*4), Y7, K6, Y18 // 62e2452e7d94be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y7, K6, Y18 // 62a2452e7d9447f9ffffff
//TODO: VPERMT2B Y14, Y21, K6, Y18 // 62c255267dd6
//TODO: VPERMT2B Y8, Y21, K6, Y18 // 62c255267dd0
//TODO: VPERMT2B Y20, Y21, K6, Y18 // 62a255267dd4
//TODO: VPERMT2B 7(SI)(DI*4), Y21, K6, Y18 // 62e255267d94be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y21, K6, Y18 // 62a255267d9447f9ffffff
//TODO: VPERMT2B Y14, Y2, K6, Y3 // 62d26d2e7dde
//TODO: VPERMT2B Y8, Y2, K6, Y3 // 62d26d2e7dd8
//TODO: VPERMT2B Y20, Y2, K6, Y3 // 62b26d2e7ddc
//TODO: VPERMT2B 7(SI)(DI*4), Y2, K6, Y3 // 62f26d2e7d9cbe07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y2, K6, Y3 // 62b26d2e7d9c47f9ffffff
//TODO: VPERMT2B Y14, Y7, K6, Y3 // 62d2452e7dde
//TODO: VPERMT2B Y8, Y7, K6, Y3 // 62d2452e7dd8
//TODO: VPERMT2B Y20, Y7, K6, Y3 // 62b2452e7ddc
//TODO: VPERMT2B 7(SI)(DI*4), Y7, K6, Y3 // 62f2452e7d9cbe07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y7, K6, Y3 // 62b2452e7d9c47f9ffffff
//TODO: VPERMT2B Y14, Y21, K6, Y3 // 62d255267dde
//TODO: VPERMT2B Y8, Y21, K6, Y3 // 62d255267dd8
//TODO: VPERMT2B Y20, Y21, K6, Y3 // 62b255267ddc
//TODO: VPERMT2B 7(SI)(DI*4), Y21, K6, Y3 // 62f255267d9cbe07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y21, K6, Y3 // 62b255267d9c47f9ffffff
//TODO: VPERMT2B Y14, Y2, K6, Y24 // 62426d2e7dc6
//TODO: VPERMT2B Y8, Y2, K6, Y24 // 62426d2e7dc0
//TODO: VPERMT2B Y20, Y2, K6, Y24 // 62226d2e7dc4
//TODO: VPERMT2B 7(SI)(DI*4), Y2, K6, Y24 // 62626d2e7d84be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y2, K6, Y24 // 62226d2e7d8447f9ffffff
//TODO: VPERMT2B Y14, Y7, K6, Y24 // 6242452e7dc6
//TODO: VPERMT2B Y8, Y7, K6, Y24 // 6242452e7dc0
//TODO: VPERMT2B Y20, Y7, K6, Y24 // 6222452e7dc4
//TODO: VPERMT2B 7(SI)(DI*4), Y7, K6, Y24 // 6262452e7d84be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y7, K6, Y24 // 6222452e7d8447f9ffffff
//TODO: VPERMT2B Y14, Y21, K6, Y24 // 624255267dc6
//TODO: VPERMT2B Y8, Y21, K6, Y24 // 624255267dc0
//TODO: VPERMT2B Y20, Y21, K6, Y24 // 622255267dc4
//TODO: VPERMT2B 7(SI)(DI*4), Y21, K6, Y24 // 626255267d84be07000000
//TODO: VPERMT2B -7(DI)(R8*2), Y21, K6, Y24 // 622255267d8447f9ffffff
//TODO: VPERMT2B Z20, Z1, K3, Z6 // 62b2754b7df4
//TODO: VPERMT2B Z9, Z1, K3, Z6 // 62d2754b7df1
//TODO: VPERMT2B (CX), Z1, K3, Z6 // 62f2754b7d31
//TODO: VPERMT2B 99(R15), Z1, K3, Z6 // 62d2754b7db763000000
//TODO: VPERMT2B Z20, Z9, K3, Z6 // 62b2354b7df4
//TODO: VPERMT2B Z9, Z9, K3, Z6 // 62d2354b7df1
//TODO: VPERMT2B (CX), Z9, K3, Z6 // 62f2354b7d31
//TODO: VPERMT2B 99(R15), Z9, K3, Z6 // 62d2354b7db763000000
//TODO: VPERMT2B Z20, Z1, K3, Z9 // 6232754b7dcc
//TODO: VPERMT2B Z9, Z1, K3, Z9 // 6252754b7dc9
//TODO: VPERMT2B (CX), Z1, K3, Z9 // 6272754b7d09
//TODO: VPERMT2B 99(R15), Z1, K3, Z9 // 6252754b7d8f63000000
//TODO: VPERMT2B Z20, Z9, K3, Z9 // 6232354b7dcc
//TODO: VPERMT2B Z9, Z9, K3, Z9 // 6252354b7dc9
//TODO: VPERMT2B (CX), Z9, K3, Z9 // 6272354b7d09
//TODO: VPERMT2B 99(R15), Z9, K3, Z9 // 6252354b7d8f63000000
//TODO: VPMULTISHIFTQB X9, X24, K5, X7 // 62d2bd0583f9
//TODO: VPMULTISHIFTQB X7, X24, K5, X7 // 62f2bd0583ff
//TODO: VPMULTISHIFTQB X14, X24, K5, X7 // 62d2bd0583fe
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X7 // 62f2bd0583bc2c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X7 // 62f2bd0583bcd1f9ffffff
//TODO: VPMULTISHIFTQB X9, X20, K5, X7 // 62d2dd0583f9
//TODO: VPMULTISHIFTQB X7, X20, K5, X7 // 62f2dd0583ff
//TODO: VPMULTISHIFTQB X14, X20, K5, X7 // 62d2dd0583fe
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X7 // 62f2dd0583bc2c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X7 // 62f2dd0583bcd1f9ffffff
//TODO: VPMULTISHIFTQB X9, X7, K5, X7 // 62d2c50d83f9
//TODO: VPMULTISHIFTQB X7, X7, K5, X7 // 62f2c50d83ff
//TODO: VPMULTISHIFTQB X14, X7, K5, X7 // 62d2c50d83fe
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X7 // 62f2c50d83bc2c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X7 // 62f2c50d83bcd1f9ffffff
//TODO: VPMULTISHIFTQB X9, X24, K5, X0 // 62d2bd0583c1
//TODO: VPMULTISHIFTQB X7, X24, K5, X0 // 62f2bd0583c7
//TODO: VPMULTISHIFTQB X14, X24, K5, X0 // 62d2bd0583c6
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X0 // 62f2bd0583842c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X0 // 62f2bd058384d1f9ffffff
//TODO: VPMULTISHIFTQB X9, X20, K5, X0 // 62d2dd0583c1
//TODO: VPMULTISHIFTQB X7, X20, K5, X0 // 62f2dd0583c7
//TODO: VPMULTISHIFTQB X14, X20, K5, X0 // 62d2dd0583c6
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X0 // 62f2dd0583842c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X0 // 62f2dd058384d1f9ffffff
//TODO: VPMULTISHIFTQB X9, X7, K5, X0 // 62d2c50d83c1
//TODO: VPMULTISHIFTQB X7, X7, K5, X0 // 62f2c50d83c7
//TODO: VPMULTISHIFTQB X14, X7, K5, X0 // 62d2c50d83c6
//TODO: VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X0 // 62f2c50d83842c11000000
//TODO: VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X0 // 62f2c50d8384d1f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y30, K7, Y12 // 62328d2783e0
//TODO: VPMULTISHIFTQB Y1, Y30, K7, Y12 // 62728d2783e1
//TODO: VPMULTISHIFTQB Y30, Y30, K7, Y12 // 62128d2783e6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y12 // 62728d2783a46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y12 // 62328d2783a487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y26, K7, Y12 // 6232ad2783e0
//TODO: VPMULTISHIFTQB Y1, Y26, K7, Y12 // 6272ad2783e1
//TODO: VPMULTISHIFTQB Y30, Y26, K7, Y12 // 6212ad2783e6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y12 // 6272ad2783a46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y12 // 6232ad2783a487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y7, K7, Y12 // 6232c52f83e0
//TODO: VPMULTISHIFTQB Y1, Y7, K7, Y12 // 6272c52f83e1
//TODO: VPMULTISHIFTQB Y30, Y7, K7, Y12 // 6212c52f83e6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y12 // 6272c52f83a46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y12 // 6232c52f83a487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y30, K7, Y21 // 62a28d2783e8
//TODO: VPMULTISHIFTQB Y1, Y30, K7, Y21 // 62e28d2783e9
//TODO: VPMULTISHIFTQB Y30, Y30, K7, Y21 // 62828d2783ee
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y21 // 62e28d2783ac6c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y21 // 62a28d2783ac87f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y26, K7, Y21 // 62a2ad2783e8
//TODO: VPMULTISHIFTQB Y1, Y26, K7, Y21 // 62e2ad2783e9
//TODO: VPMULTISHIFTQB Y30, Y26, K7, Y21 // 6282ad2783ee
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y21 // 62e2ad2783ac6c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y21 // 62a2ad2783ac87f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y7, K7, Y21 // 62a2c52f83e8
//TODO: VPMULTISHIFTQB Y1, Y7, K7, Y21 // 62e2c52f83e9
//TODO: VPMULTISHIFTQB Y30, Y7, K7, Y21 // 6282c52f83ee
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y21 // 62e2c52f83ac6c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y21 // 62a2c52f83ac87f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y30, K7, Y14 // 62328d2783f0
//TODO: VPMULTISHIFTQB Y1, Y30, K7, Y14 // 62728d2783f1
//TODO: VPMULTISHIFTQB Y30, Y30, K7, Y14 // 62128d2783f6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y14 // 62728d2783b46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y14 // 62328d2783b487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y26, K7, Y14 // 6232ad2783f0
//TODO: VPMULTISHIFTQB Y1, Y26, K7, Y14 // 6272ad2783f1
//TODO: VPMULTISHIFTQB Y30, Y26, K7, Y14 // 6212ad2783f6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y14 // 6272ad2783b46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y14 // 6232ad2783b487f9ffffff
//TODO: VPMULTISHIFTQB Y16, Y7, K7, Y14 // 6232c52f83f0
//TODO: VPMULTISHIFTQB Y1, Y7, K7, Y14 // 6272c52f83f1
//TODO: VPMULTISHIFTQB Y30, Y7, K7, Y14 // 6212c52f83f6
//TODO: VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y14 // 6272c52f83b46c11000000
//TODO: VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y14 // 6232c52f83b487f9ffffff
//TODO: VPMULTISHIFTQB Z7, Z2, K7, Z18 // 62e2ed4f83d7
//TODO: VPMULTISHIFTQB Z13, Z2, K7, Z18 // 62c2ed4f83d5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z18 // 62e2ed4f83948807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z18 // 62e2ed4f83940807000000
//TODO: VPMULTISHIFTQB Z7, Z21, K7, Z18 // 62e2d54783d7
//TODO: VPMULTISHIFTQB Z13, Z21, K7, Z18 // 62c2d54783d5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z18 // 62e2d54783948807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z18 // 62e2d54783940807000000
//TODO: VPMULTISHIFTQB Z7, Z2, K7, Z24 // 6262ed4f83c7
//TODO: VPMULTISHIFTQB Z13, Z2, K7, Z24 // 6242ed4f83c5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z24 // 6262ed4f83848807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z24 // 6262ed4f83840807000000
//TODO: VPMULTISHIFTQB Z7, Z21, K7, Z24 // 6262d54783c7
//TODO: VPMULTISHIFTQB Z13, Z21, K7, Z24 // 6242d54783c5
//TODO: VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z24 // 6262d54783848807000000
//TODO: VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z24 // 6262d54783840807000000
VPERMB X26, X20, K1, X23 // 62825d018dfa
VPERMB X19, X20, K1, X23 // 62a25d018dfb
VPERMB X0, X20, K1, X23 // 62e25d018df8
VPERMB 7(SI)(DI*4), X20, K1, X23 // 62e25d018dbcbe07000000
VPERMB -7(DI)(R8*2), X20, K1, X23 // 62a25d018dbc47f9ffffff
VPERMB X26, X2, K1, X23 // 62826d098dfa
VPERMB X19, X2, K1, X23 // 62a26d098dfb
VPERMB X0, X2, K1, X23 // 62e26d098df8
VPERMB 7(SI)(DI*4), X2, K1, X23 // 62e26d098dbcbe07000000
VPERMB -7(DI)(R8*2), X2, K1, X23 // 62a26d098dbc47f9ffffff
VPERMB X26, X9, K1, X23 // 628235098dfa
VPERMB X19, X9, K1, X23 // 62a235098dfb
VPERMB X0, X9, K1, X23 // 62e235098df8
VPERMB 7(SI)(DI*4), X9, K1, X23 // 62e235098dbcbe07000000
VPERMB -7(DI)(R8*2), X9, K1, X23 // 62a235098dbc47f9ffffff
VPERMB X26, X20, K1, X30 // 62025d018df2
VPERMB X19, X20, K1, X30 // 62225d018df3
VPERMB X0, X20, K1, X30 // 62625d018df0
VPERMB 7(SI)(DI*4), X20, K1, X30 // 62625d018db4be07000000
VPERMB -7(DI)(R8*2), X20, K1, X30 // 62225d018db447f9ffffff
VPERMB X26, X2, K1, X30 // 62026d098df2
VPERMB X19, X2, K1, X30 // 62226d098df3
VPERMB X0, X2, K1, X30 // 62626d098df0
VPERMB 7(SI)(DI*4), X2, K1, X30 // 62626d098db4be07000000
VPERMB -7(DI)(R8*2), X2, K1, X30 // 62226d098db447f9ffffff
VPERMB X26, X9, K1, X30 // 620235098df2
VPERMB X19, X9, K1, X30 // 622235098df3
VPERMB X0, X9, K1, X30 // 626235098df0
VPERMB 7(SI)(DI*4), X9, K1, X30 // 626235098db4be07000000
VPERMB -7(DI)(R8*2), X9, K1, X30 // 622235098db447f9ffffff
VPERMB X26, X20, K1, X8 // 62125d018dc2
VPERMB X19, X20, K1, X8 // 62325d018dc3
VPERMB X0, X20, K1, X8 // 62725d018dc0
VPERMB 7(SI)(DI*4), X20, K1, X8 // 62725d018d84be07000000
VPERMB -7(DI)(R8*2), X20, K1, X8 // 62325d018d8447f9ffffff
VPERMB X26, X2, K1, X8 // 62126d098dc2
VPERMB X19, X2, K1, X8 // 62326d098dc3
VPERMB X0, X2, K1, X8 // 62726d098dc0
VPERMB 7(SI)(DI*4), X2, K1, X8 // 62726d098d84be07000000
VPERMB -7(DI)(R8*2), X2, K1, X8 // 62326d098d8447f9ffffff
VPERMB X26, X9, K1, X8 // 621235098dc2
VPERMB X19, X9, K1, X8 // 623235098dc3
VPERMB X0, X9, K1, X8 // 627235098dc0
VPERMB 7(SI)(DI*4), X9, K1, X8 // 627235098d84be07000000
VPERMB -7(DI)(R8*2), X9, K1, X8 // 623235098d8447f9ffffff
VPERMB Y5, Y31, K7, Y22 // 62e205278df5
VPERMB Y19, Y31, K7, Y22 // 62a205278df3
VPERMB Y31, Y31, K7, Y22 // 628205278df7
VPERMB 17(SP)(BP*1), Y31, K7, Y22 // 62e205278db42c11000000
VPERMB -7(CX)(DX*8), Y31, K7, Y22 // 62e205278db4d1f9ffffff
VPERMB Y5, Y5, K7, Y22 // 62e2552f8df5
VPERMB Y19, Y5, K7, Y22 // 62a2552f8df3
VPERMB Y31, Y5, K7, Y22 // 6282552f8df7
VPERMB 17(SP)(BP*1), Y5, K7, Y22 // 62e2552f8db42c11000000
VPERMB -7(CX)(DX*8), Y5, K7, Y22 // 62e2552f8db4d1f9ffffff
VPERMB Y5, Y0, K7, Y22 // 62e27d2f8df5
VPERMB Y19, Y0, K7, Y22 // 62a27d2f8df3
VPERMB Y31, Y0, K7, Y22 // 62827d2f8df7
VPERMB 17(SP)(BP*1), Y0, K7, Y22 // 62e27d2f8db42c11000000
VPERMB -7(CX)(DX*8), Y0, K7, Y22 // 62e27d2f8db4d1f9ffffff
VPERMB Y5, Y31, K7, Y9 // 627205278dcd
VPERMB Y19, Y31, K7, Y9 // 623205278dcb
VPERMB Y31, Y31, K7, Y9 // 621205278dcf
VPERMB 17(SP)(BP*1), Y31, K7, Y9 // 627205278d8c2c11000000
VPERMB -7(CX)(DX*8), Y31, K7, Y9 // 627205278d8cd1f9ffffff
VPERMB Y5, Y5, K7, Y9 // 6272552f8dcd
VPERMB Y19, Y5, K7, Y9 // 6232552f8dcb
VPERMB Y31, Y5, K7, Y9 // 6212552f8dcf
VPERMB 17(SP)(BP*1), Y5, K7, Y9 // 6272552f8d8c2c11000000
VPERMB -7(CX)(DX*8), Y5, K7, Y9 // 6272552f8d8cd1f9ffffff
VPERMB Y5, Y0, K7, Y9 // 62727d2f8dcd
VPERMB Y19, Y0, K7, Y9 // 62327d2f8dcb
VPERMB Y31, Y0, K7, Y9 // 62127d2f8dcf
VPERMB 17(SP)(BP*1), Y0, K7, Y9 // 62727d2f8d8c2c11000000
VPERMB -7(CX)(DX*8), Y0, K7, Y9 // 62727d2f8d8cd1f9ffffff
VPERMB Y5, Y31, K7, Y23 // 62e205278dfd
VPERMB Y19, Y31, K7, Y23 // 62a205278dfb
VPERMB Y31, Y31, K7, Y23 // 628205278dff
VPERMB 17(SP)(BP*1), Y31, K7, Y23 // 62e205278dbc2c11000000
VPERMB -7(CX)(DX*8), Y31, K7, Y23 // 62e205278dbcd1f9ffffff
VPERMB Y5, Y5, K7, Y23 // 62e2552f8dfd
VPERMB Y19, Y5, K7, Y23 // 62a2552f8dfb
VPERMB Y31, Y5, K7, Y23 // 6282552f8dff
VPERMB 17(SP)(BP*1), Y5, K7, Y23 // 62e2552f8dbc2c11000000
VPERMB -7(CX)(DX*8), Y5, K7, Y23 // 62e2552f8dbcd1f9ffffff
VPERMB Y5, Y0, K7, Y23 // 62e27d2f8dfd
VPERMB Y19, Y0, K7, Y23 // 62a27d2f8dfb
VPERMB Y31, Y0, K7, Y23 // 62827d2f8dff
VPERMB 17(SP)(BP*1), Y0, K7, Y23 // 62e27d2f8dbc2c11000000
VPERMB -7(CX)(DX*8), Y0, K7, Y23 // 62e27d2f8dbcd1f9ffffff
VPERMB Z3, Z8, K1, Z3 // 62f23d498ddb
VPERMB Z27, Z8, K1, Z3 // 62923d498ddb
VPERMB 7(AX), Z8, K1, Z3 // 62f23d498d9807000000
VPERMB (DI), Z8, K1, Z3 // 62f23d498d1f
VPERMB Z3, Z2, K1, Z3 // 62f26d498ddb
VPERMB Z27, Z2, K1, Z3 // 62926d498ddb
VPERMB 7(AX), Z2, K1, Z3 // 62f26d498d9807000000
VPERMB (DI), Z2, K1, Z3 // 62f26d498d1f
VPERMB Z3, Z8, K1, Z21 // 62e23d498deb
VPERMB Z27, Z8, K1, Z21 // 62823d498deb
VPERMB 7(AX), Z8, K1, Z21 // 62e23d498da807000000
VPERMB (DI), Z8, K1, Z21 // 62e23d498d2f
VPERMB Z3, Z2, K1, Z21 // 62e26d498deb
VPERMB Z27, Z2, K1, Z21 // 62826d498deb
VPERMB 7(AX), Z2, K1, Z21 // 62e26d498da807000000
VPERMB (DI), Z2, K1, Z21 // 62e26d498d2f
VPERMI2B X15, X8, K7, X31 // 62423d0f75ff
VPERMI2B X0, X8, K7, X31 // 62623d0f75f8
VPERMI2B X16, X8, K7, X31 // 62223d0f75f8
VPERMI2B 17(SP), X8, K7, X31 // 62623d0f75bc2411000000
VPERMI2B -17(BP)(SI*4), X8, K7, X31 // 62623d0f75bcb5efffffff
VPERMI2B X15, X1, K7, X31 // 6242750f75ff
VPERMI2B X0, X1, K7, X31 // 6262750f75f8
VPERMI2B X16, X1, K7, X31 // 6222750f75f8
VPERMI2B 17(SP), X1, K7, X31 // 6262750f75bc2411000000
VPERMI2B -17(BP)(SI*4), X1, K7, X31 // 6262750f75bcb5efffffff
VPERMI2B X15, X0, K7, X31 // 62427d0f75ff
VPERMI2B X0, X0, K7, X31 // 62627d0f75f8
VPERMI2B X16, X0, K7, X31 // 62227d0f75f8
VPERMI2B 17(SP), X0, K7, X31 // 62627d0f75bc2411000000
VPERMI2B -17(BP)(SI*4), X0, K7, X31 // 62627d0f75bcb5efffffff
VPERMI2B X15, X8, K7, X16 // 62c23d0f75c7
VPERMI2B X0, X8, K7, X16 // 62e23d0f75c0
VPERMI2B X16, X8, K7, X16 // 62a23d0f75c0
VPERMI2B 17(SP), X8, K7, X16 // 62e23d0f75842411000000
VPERMI2B -17(BP)(SI*4), X8, K7, X16 // 62e23d0f7584b5efffffff
VPERMI2B X15, X1, K7, X16 // 62c2750f75c7
VPERMI2B X0, X1, K7, X16 // 62e2750f75c0
VPERMI2B X16, X1, K7, X16 // 62a2750f75c0
VPERMI2B 17(SP), X1, K7, X16 // 62e2750f75842411000000
VPERMI2B -17(BP)(SI*4), X1, K7, X16 // 62e2750f7584b5efffffff
VPERMI2B X15, X0, K7, X16 // 62c27d0f75c7
VPERMI2B X0, X0, K7, X16 // 62e27d0f75c0
VPERMI2B X16, X0, K7, X16 // 62a27d0f75c0
VPERMI2B 17(SP), X0, K7, X16 // 62e27d0f75842411000000
VPERMI2B -17(BP)(SI*4), X0, K7, X16 // 62e27d0f7584b5efffffff
VPERMI2B X15, X8, K7, X7 // 62d23d0f75ff
VPERMI2B X0, X8, K7, X7 // 62f23d0f75f8
VPERMI2B X16, X8, K7, X7 // 62b23d0f75f8
VPERMI2B 17(SP), X8, K7, X7 // 62f23d0f75bc2411000000
VPERMI2B -17(BP)(SI*4), X8, K7, X7 // 62f23d0f75bcb5efffffff
VPERMI2B X15, X1, K7, X7 // 62d2750f75ff
VPERMI2B X0, X1, K7, X7 // 62f2750f75f8
VPERMI2B X16, X1, K7, X7 // 62b2750f75f8
VPERMI2B 17(SP), X1, K7, X7 // 62f2750f75bc2411000000
VPERMI2B -17(BP)(SI*4), X1, K7, X7 // 62f2750f75bcb5efffffff
VPERMI2B X15, X0, K7, X7 // 62d27d0f75ff
VPERMI2B X0, X0, K7, X7 // 62f27d0f75f8
VPERMI2B X16, X0, K7, X7 // 62b27d0f75f8
VPERMI2B 17(SP), X0, K7, X7 // 62f27d0f75bc2411000000
VPERMI2B -17(BP)(SI*4), X0, K7, X7 // 62f27d0f75bcb5efffffff
VPERMI2B Y18, Y15, K2, Y2 // 62b2052a75d2
VPERMI2B Y24, Y15, K2, Y2 // 6292052a75d0
VPERMI2B Y9, Y15, K2, Y2 // 62d2052a75d1
VPERMI2B 15(R8)(R14*1), Y15, K2, Y2 // 6292052a7594300f000000
VPERMI2B 15(R8)(R14*2), Y15, K2, Y2 // 6292052a7594700f000000
VPERMI2B Y18, Y22, K2, Y2 // 62b24d2275d2
VPERMI2B Y24, Y22, K2, Y2 // 62924d2275d0
VPERMI2B Y9, Y22, K2, Y2 // 62d24d2275d1
VPERMI2B 15(R8)(R14*1), Y22, K2, Y2 // 62924d227594300f000000
VPERMI2B 15(R8)(R14*2), Y22, K2, Y2 // 62924d227594700f000000
VPERMI2B Y18, Y20, K2, Y2 // 62b25d2275d2
VPERMI2B Y24, Y20, K2, Y2 // 62925d2275d0
VPERMI2B Y9, Y20, K2, Y2 // 62d25d2275d1
VPERMI2B 15(R8)(R14*1), Y20, K2, Y2 // 62925d227594300f000000
VPERMI2B 15(R8)(R14*2), Y20, K2, Y2 // 62925d227594700f000000
VPERMI2B Y18, Y15, K2, Y13 // 6232052a75ea
VPERMI2B Y24, Y15, K2, Y13 // 6212052a75e8
VPERMI2B Y9, Y15, K2, Y13 // 6252052a75e9
VPERMI2B 15(R8)(R14*1), Y15, K2, Y13 // 6212052a75ac300f000000
VPERMI2B 15(R8)(R14*2), Y15, K2, Y13 // 6212052a75ac700f000000
VPERMI2B Y18, Y22, K2, Y13 // 62324d2275ea
VPERMI2B Y24, Y22, K2, Y13 // 62124d2275e8
VPERMI2B Y9, Y22, K2, Y13 // 62524d2275e9
VPERMI2B 15(R8)(R14*1), Y22, K2, Y13 // 62124d2275ac300f000000
VPERMI2B 15(R8)(R14*2), Y22, K2, Y13 // 62124d2275ac700f000000
VPERMI2B Y18, Y20, K2, Y13 // 62325d2275ea
VPERMI2B Y24, Y20, K2, Y13 // 62125d2275e8
VPERMI2B Y9, Y20, K2, Y13 // 62525d2275e9
VPERMI2B 15(R8)(R14*1), Y20, K2, Y13 // 62125d2275ac300f000000
VPERMI2B 15(R8)(R14*2), Y20, K2, Y13 // 62125d2275ac700f000000
VPERMI2B Y18, Y15, K2, Y27 // 6222052a75da
VPERMI2B Y24, Y15, K2, Y27 // 6202052a75d8
VPERMI2B Y9, Y15, K2, Y27 // 6242052a75d9
VPERMI2B 15(R8)(R14*1), Y15, K2, Y27 // 6202052a759c300f000000
VPERMI2B 15(R8)(R14*2), Y15, K2, Y27 // 6202052a759c700f000000
VPERMI2B Y18, Y22, K2, Y27 // 62224d2275da
VPERMI2B Y24, Y22, K2, Y27 // 62024d2275d8
VPERMI2B Y9, Y22, K2, Y27 // 62424d2275d9
VPERMI2B 15(R8)(R14*1), Y22, K2, Y27 // 62024d22759c300f000000
VPERMI2B 15(R8)(R14*2), Y22, K2, Y27 // 62024d22759c700f000000
VPERMI2B Y18, Y20, K2, Y27 // 62225d2275da
VPERMI2B Y24, Y20, K2, Y27 // 62025d2275d8
VPERMI2B Y9, Y20, K2, Y27 // 62425d2275d9
VPERMI2B 15(R8)(R14*1), Y20, K2, Y27 // 62025d22759c300f000000
VPERMI2B 15(R8)(R14*2), Y20, K2, Y27 // 62025d22759c700f000000
VPERMI2B Z12, Z9, K4, Z3 // 62d2354c75dc
VPERMI2B Z22, Z9, K4, Z3 // 62b2354c75de
VPERMI2B -17(BP)(SI*8), Z9, K4, Z3 // 62f2354c759cf5efffffff
VPERMI2B (R15), Z9, K4, Z3 // 62d2354c751f
VPERMI2B Z12, Z19, K4, Z3 // 62d2654475dc
VPERMI2B Z22, Z19, K4, Z3 // 62b2654475de
VPERMI2B -17(BP)(SI*8), Z19, K4, Z3 // 62f26544759cf5efffffff
VPERMI2B (R15), Z19, K4, Z3 // 62d26544751f
VPERMI2B Z12, Z9, K4, Z30 // 6242354c75f4
VPERMI2B Z22, Z9, K4, Z30 // 6222354c75f6
VPERMI2B -17(BP)(SI*8), Z9, K4, Z30 // 6262354c75b4f5efffffff
VPERMI2B (R15), Z9, K4, Z30 // 6242354c7537
VPERMI2B Z12, Z19, K4, Z30 // 6242654475f4
VPERMI2B Z22, Z19, K4, Z30 // 6222654475f6
VPERMI2B -17(BP)(SI*8), Z19, K4, Z30 // 6262654475b4f5efffffff
VPERMI2B (R15), Z19, K4, Z30 // 624265447537
VPERMT2B X2, X0, K7, X20 // 62e27d0f7de2
VPERMT2B X8, X0, K7, X20 // 62c27d0f7de0
VPERMT2B X9, X0, K7, X20 // 62c27d0f7de1
VPERMT2B (BX), X0, K7, X20 // 62e27d0f7d23
VPERMT2B -17(BP)(SI*1), X0, K7, X20 // 62e27d0f7da435efffffff
VPERMT2B X2, X9, K7, X20 // 62e2350f7de2
VPERMT2B X8, X9, K7, X20 // 62c2350f7de0
VPERMT2B X9, X9, K7, X20 // 62c2350f7de1
VPERMT2B (BX), X9, K7, X20 // 62e2350f7d23
VPERMT2B -17(BP)(SI*1), X9, K7, X20 // 62e2350f7da435efffffff
VPERMT2B X2, X13, K7, X20 // 62e2150f7de2
VPERMT2B X8, X13, K7, X20 // 62c2150f7de0
VPERMT2B X9, X13, K7, X20 // 62c2150f7de1
VPERMT2B (BX), X13, K7, X20 // 62e2150f7d23
VPERMT2B -17(BP)(SI*1), X13, K7, X20 // 62e2150f7da435efffffff
VPERMT2B X2, X0, K7, X5 // 62f27d0f7dea
VPERMT2B X8, X0, K7, X5 // 62d27d0f7de8
VPERMT2B X9, X0, K7, X5 // 62d27d0f7de9
VPERMT2B (BX), X0, K7, X5 // 62f27d0f7d2b
VPERMT2B -17(BP)(SI*1), X0, K7, X5 // 62f27d0f7dac35efffffff
VPERMT2B X2, X9, K7, X5 // 62f2350f7dea
VPERMT2B X8, X9, K7, X5 // 62d2350f7de8
VPERMT2B X9, X9, K7, X5 // 62d2350f7de9
VPERMT2B (BX), X9, K7, X5 // 62f2350f7d2b
VPERMT2B -17(BP)(SI*1), X9, K7, X5 // 62f2350f7dac35efffffff
VPERMT2B X2, X13, K7, X5 // 62f2150f7dea
VPERMT2B X8, X13, K7, X5 // 62d2150f7de8
VPERMT2B X9, X13, K7, X5 // 62d2150f7de9
VPERMT2B (BX), X13, K7, X5 // 62f2150f7d2b
VPERMT2B -17(BP)(SI*1), X13, K7, X5 // 62f2150f7dac35efffffff
VPERMT2B X2, X0, K7, X25 // 62627d0f7dca
VPERMT2B X8, X0, K7, X25 // 62427d0f7dc8
VPERMT2B X9, X0, K7, X25 // 62427d0f7dc9
VPERMT2B (BX), X0, K7, X25 // 62627d0f7d0b
VPERMT2B -17(BP)(SI*1), X0, K7, X25 // 62627d0f7d8c35efffffff
VPERMT2B X2, X9, K7, X25 // 6262350f7dca
VPERMT2B X8, X9, K7, X25 // 6242350f7dc8
VPERMT2B X9, X9, K7, X25 // 6242350f7dc9
VPERMT2B (BX), X9, K7, X25 // 6262350f7d0b
VPERMT2B -17(BP)(SI*1), X9, K7, X25 // 6262350f7d8c35efffffff
VPERMT2B X2, X13, K7, X25 // 6262150f7dca
VPERMT2B X8, X13, K7, X25 // 6242150f7dc8
VPERMT2B X9, X13, K7, X25 // 6242150f7dc9
VPERMT2B (BX), X13, K7, X25 // 6262150f7d0b
VPERMT2B -17(BP)(SI*1), X13, K7, X25 // 6262150f7d8c35efffffff
VPERMT2B Y14, Y2, K6, Y18 // 62c26d2e7dd6
VPERMT2B Y8, Y2, K6, Y18 // 62c26d2e7dd0
VPERMT2B Y20, Y2, K6, Y18 // 62a26d2e7dd4
VPERMT2B 7(SI)(DI*4), Y2, K6, Y18 // 62e26d2e7d94be07000000
VPERMT2B -7(DI)(R8*2), Y2, K6, Y18 // 62a26d2e7d9447f9ffffff
VPERMT2B Y14, Y7, K6, Y18 // 62c2452e7dd6
VPERMT2B Y8, Y7, K6, Y18 // 62c2452e7dd0
VPERMT2B Y20, Y7, K6, Y18 // 62a2452e7dd4
VPERMT2B 7(SI)(DI*4), Y7, K6, Y18 // 62e2452e7d94be07000000
VPERMT2B -7(DI)(R8*2), Y7, K6, Y18 // 62a2452e7d9447f9ffffff
VPERMT2B Y14, Y21, K6, Y18 // 62c255267dd6
VPERMT2B Y8, Y21, K6, Y18 // 62c255267dd0
VPERMT2B Y20, Y21, K6, Y18 // 62a255267dd4
VPERMT2B 7(SI)(DI*4), Y21, K6, Y18 // 62e255267d94be07000000
VPERMT2B -7(DI)(R8*2), Y21, K6, Y18 // 62a255267d9447f9ffffff
VPERMT2B Y14, Y2, K6, Y3 // 62d26d2e7dde
VPERMT2B Y8, Y2, K6, Y3 // 62d26d2e7dd8
VPERMT2B Y20, Y2, K6, Y3 // 62b26d2e7ddc
VPERMT2B 7(SI)(DI*4), Y2, K6, Y3 // 62f26d2e7d9cbe07000000
VPERMT2B -7(DI)(R8*2), Y2, K6, Y3 // 62b26d2e7d9c47f9ffffff
VPERMT2B Y14, Y7, K6, Y3 // 62d2452e7dde
VPERMT2B Y8, Y7, K6, Y3 // 62d2452e7dd8
VPERMT2B Y20, Y7, K6, Y3 // 62b2452e7ddc
VPERMT2B 7(SI)(DI*4), Y7, K6, Y3 // 62f2452e7d9cbe07000000
VPERMT2B -7(DI)(R8*2), Y7, K6, Y3 // 62b2452e7d9c47f9ffffff
VPERMT2B Y14, Y21, K6, Y3 // 62d255267dde
VPERMT2B Y8, Y21, K6, Y3 // 62d255267dd8
VPERMT2B Y20, Y21, K6, Y3 // 62b255267ddc
VPERMT2B 7(SI)(DI*4), Y21, K6, Y3 // 62f255267d9cbe07000000
VPERMT2B -7(DI)(R8*2), Y21, K6, Y3 // 62b255267d9c47f9ffffff
VPERMT2B Y14, Y2, K6, Y24 // 62426d2e7dc6
VPERMT2B Y8, Y2, K6, Y24 // 62426d2e7dc0
VPERMT2B Y20, Y2, K6, Y24 // 62226d2e7dc4
VPERMT2B 7(SI)(DI*4), Y2, K6, Y24 // 62626d2e7d84be07000000
VPERMT2B -7(DI)(R8*2), Y2, K6, Y24 // 62226d2e7d8447f9ffffff
VPERMT2B Y14, Y7, K6, Y24 // 6242452e7dc6
VPERMT2B Y8, Y7, K6, Y24 // 6242452e7dc0
VPERMT2B Y20, Y7, K6, Y24 // 6222452e7dc4
VPERMT2B 7(SI)(DI*4), Y7, K6, Y24 // 6262452e7d84be07000000
VPERMT2B -7(DI)(R8*2), Y7, K6, Y24 // 6222452e7d8447f9ffffff
VPERMT2B Y14, Y21, K6, Y24 // 624255267dc6
VPERMT2B Y8, Y21, K6, Y24 // 624255267dc0
VPERMT2B Y20, Y21, K6, Y24 // 622255267dc4
VPERMT2B 7(SI)(DI*4), Y21, K6, Y24 // 626255267d84be07000000
VPERMT2B -7(DI)(R8*2), Y21, K6, Y24 // 622255267d8447f9ffffff
VPERMT2B Z20, Z1, K3, Z6 // 62b2754b7df4
VPERMT2B Z9, Z1, K3, Z6 // 62d2754b7df1
VPERMT2B (CX), Z1, K3, Z6 // 62f2754b7d31
VPERMT2B 99(R15), Z1, K3, Z6 // 62d2754b7db763000000
VPERMT2B Z20, Z9, K3, Z6 // 62b2354b7df4
VPERMT2B Z9, Z9, K3, Z6 // 62d2354b7df1
VPERMT2B (CX), Z9, K3, Z6 // 62f2354b7d31
VPERMT2B 99(R15), Z9, K3, Z6 // 62d2354b7db763000000
VPERMT2B Z20, Z1, K3, Z9 // 6232754b7dcc
VPERMT2B Z9, Z1, K3, Z9 // 6252754b7dc9
VPERMT2B (CX), Z1, K3, Z9 // 6272754b7d09
VPERMT2B 99(R15), Z1, K3, Z9 // 6252754b7d8f63000000
VPERMT2B Z20, Z9, K3, Z9 // 6232354b7dcc
VPERMT2B Z9, Z9, K3, Z9 // 6252354b7dc9
VPERMT2B (CX), Z9, K3, Z9 // 6272354b7d09
VPERMT2B 99(R15), Z9, K3, Z9 // 6252354b7d8f63000000
VPMULTISHIFTQB X9, X24, K5, X7 // 62d2bd0583f9
VPMULTISHIFTQB X7, X24, K5, X7 // 62f2bd0583ff
VPMULTISHIFTQB X14, X24, K5, X7 // 62d2bd0583fe
VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X7 // 62f2bd0583bc2c11000000
VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X7 // 62f2bd0583bcd1f9ffffff
VPMULTISHIFTQB X9, X20, K5, X7 // 62d2dd0583f9
VPMULTISHIFTQB X7, X20, K5, X7 // 62f2dd0583ff
VPMULTISHIFTQB X14, X20, K5, X7 // 62d2dd0583fe
VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X7 // 62f2dd0583bc2c11000000
VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X7 // 62f2dd0583bcd1f9ffffff
VPMULTISHIFTQB X9, X7, K5, X7 // 62d2c50d83f9
VPMULTISHIFTQB X7, X7, K5, X7 // 62f2c50d83ff
VPMULTISHIFTQB X14, X7, K5, X7 // 62d2c50d83fe
VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X7 // 62f2c50d83bc2c11000000
VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X7 // 62f2c50d83bcd1f9ffffff
VPMULTISHIFTQB X9, X24, K5, X0 // 62d2bd0583c1
VPMULTISHIFTQB X7, X24, K5, X0 // 62f2bd0583c7
VPMULTISHIFTQB X14, X24, K5, X0 // 62d2bd0583c6
VPMULTISHIFTQB 17(SP)(BP*1), X24, K5, X0 // 62f2bd0583842c11000000
VPMULTISHIFTQB -7(CX)(DX*8), X24, K5, X0 // 62f2bd058384d1f9ffffff
VPMULTISHIFTQB X9, X20, K5, X0 // 62d2dd0583c1
VPMULTISHIFTQB X7, X20, K5, X0 // 62f2dd0583c7
VPMULTISHIFTQB X14, X20, K5, X0 // 62d2dd0583c6
VPMULTISHIFTQB 17(SP)(BP*1), X20, K5, X0 // 62f2dd0583842c11000000
VPMULTISHIFTQB -7(CX)(DX*8), X20, K5, X0 // 62f2dd058384d1f9ffffff
VPMULTISHIFTQB X9, X7, K5, X0 // 62d2c50d83c1
VPMULTISHIFTQB X7, X7, K5, X0 // 62f2c50d83c7
VPMULTISHIFTQB X14, X7, K5, X0 // 62d2c50d83c6
VPMULTISHIFTQB 17(SP)(BP*1), X7, K5, X0 // 62f2c50d83842c11000000
VPMULTISHIFTQB -7(CX)(DX*8), X7, K5, X0 // 62f2c50d8384d1f9ffffff
VPMULTISHIFTQB Y16, Y30, K7, Y12 // 62328d2783e0
VPMULTISHIFTQB Y1, Y30, K7, Y12 // 62728d2783e1
VPMULTISHIFTQB Y30, Y30, K7, Y12 // 62128d2783e6
VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y12 // 62728d2783a46c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y12 // 62328d2783a487f9ffffff
VPMULTISHIFTQB Y16, Y26, K7, Y12 // 6232ad2783e0
VPMULTISHIFTQB Y1, Y26, K7, Y12 // 6272ad2783e1
VPMULTISHIFTQB Y30, Y26, K7, Y12 // 6212ad2783e6
VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y12 // 6272ad2783a46c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y12 // 6232ad2783a487f9ffffff
VPMULTISHIFTQB Y16, Y7, K7, Y12 // 6232c52f83e0
VPMULTISHIFTQB Y1, Y7, K7, Y12 // 6272c52f83e1
VPMULTISHIFTQB Y30, Y7, K7, Y12 // 6212c52f83e6
VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y12 // 6272c52f83a46c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y12 // 6232c52f83a487f9ffffff
VPMULTISHIFTQB Y16, Y30, K7, Y21 // 62a28d2783e8
VPMULTISHIFTQB Y1, Y30, K7, Y21 // 62e28d2783e9
VPMULTISHIFTQB Y30, Y30, K7, Y21 // 62828d2783ee
VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y21 // 62e28d2783ac6c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y21 // 62a28d2783ac87f9ffffff
VPMULTISHIFTQB Y16, Y26, K7, Y21 // 62a2ad2783e8
VPMULTISHIFTQB Y1, Y26, K7, Y21 // 62e2ad2783e9
VPMULTISHIFTQB Y30, Y26, K7, Y21 // 6282ad2783ee
VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y21 // 62e2ad2783ac6c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y21 // 62a2ad2783ac87f9ffffff
VPMULTISHIFTQB Y16, Y7, K7, Y21 // 62a2c52f83e8
VPMULTISHIFTQB Y1, Y7, K7, Y21 // 62e2c52f83e9
VPMULTISHIFTQB Y30, Y7, K7, Y21 // 6282c52f83ee
VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y21 // 62e2c52f83ac6c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y21 // 62a2c52f83ac87f9ffffff
VPMULTISHIFTQB Y16, Y30, K7, Y14 // 62328d2783f0
VPMULTISHIFTQB Y1, Y30, K7, Y14 // 62728d2783f1
VPMULTISHIFTQB Y30, Y30, K7, Y14 // 62128d2783f6
VPMULTISHIFTQB 17(SP)(BP*2), Y30, K7, Y14 // 62728d2783b46c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y30, K7, Y14 // 62328d2783b487f9ffffff
VPMULTISHIFTQB Y16, Y26, K7, Y14 // 6232ad2783f0
VPMULTISHIFTQB Y1, Y26, K7, Y14 // 6272ad2783f1
VPMULTISHIFTQB Y30, Y26, K7, Y14 // 6212ad2783f6
VPMULTISHIFTQB 17(SP)(BP*2), Y26, K7, Y14 // 6272ad2783b46c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y26, K7, Y14 // 6232ad2783b487f9ffffff
VPMULTISHIFTQB Y16, Y7, K7, Y14 // 6232c52f83f0
VPMULTISHIFTQB Y1, Y7, K7, Y14 // 6272c52f83f1
VPMULTISHIFTQB Y30, Y7, K7, Y14 // 6212c52f83f6
VPMULTISHIFTQB 17(SP)(BP*2), Y7, K7, Y14 // 6272c52f83b46c11000000
VPMULTISHIFTQB -7(DI)(R8*4), Y7, K7, Y14 // 6232c52f83b487f9ffffff
VPMULTISHIFTQB Z7, Z2, K7, Z18 // 62e2ed4f83d7
VPMULTISHIFTQB Z13, Z2, K7, Z18 // 62c2ed4f83d5
VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z18 // 62e2ed4f83948807000000
VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z18 // 62e2ed4f83940807000000
VPMULTISHIFTQB Z7, Z21, K7, Z18 // 62e2d54783d7
VPMULTISHIFTQB Z13, Z21, K7, Z18 // 62c2d54783d5
VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z18 // 62e2d54783948807000000
VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z18 // 62e2d54783940807000000
VPMULTISHIFTQB Z7, Z2, K7, Z24 // 6262ed4f83c7
VPMULTISHIFTQB Z13, Z2, K7, Z24 // 6242ed4f83c5
VPMULTISHIFTQB 7(AX)(CX*4), Z2, K7, Z24 // 6262ed4f83848807000000
VPMULTISHIFTQB 7(AX)(CX*1), Z2, K7, Z24 // 6262ed4f83840807000000
VPMULTISHIFTQB Z7, Z21, K7, Z24 // 6262d54783c7
VPMULTISHIFTQB Z13, Z21, K7, Z24 // 6242d54783c5
VPMULTISHIFTQB 7(AX)(CX*4), Z21, K7, Z24 // 6262d54783848807000000
VPMULTISHIFTQB 7(AX)(CX*1), Z21, K7, Z24 // 6262d54783840807000000
RET
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -3,398 +3,398 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_vnni(SB), NOSPLIT, $0
//TODO: VPDPBUSD X15, X16, K2, X6 // 62d27d0250f7
//TODO: VPDPBUSD X11, X16, K2, X6 // 62d27d0250f3
//TODO: VPDPBUSD X1, X16, K2, X6 // 62f27d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X16, K2, X6 // 62927d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X16, K2, X6 // 62f27d0250b3f1ffffff
//TODO: VPDPBUSD X15, X28, K2, X6 // 62d21d0250f7
//TODO: VPDPBUSD X11, X28, K2, X6 // 62d21d0250f3
//TODO: VPDPBUSD X1, X28, K2, X6 // 62f21d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X28, K2, X6 // 62921d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X28, K2, X6 // 62f21d0250b3f1ffffff
//TODO: VPDPBUSD X15, X8, K2, X6 // 62d23d0a50f7
//TODO: VPDPBUSD X11, X8, K2, X6 // 62d23d0a50f3
//TODO: VPDPBUSD X1, X8, K2, X6 // 62f23d0a50f1
//TODO: VPDPBUSD -15(R14)(R15*1), X8, K2, X6 // 62923d0a50b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X8, K2, X6 // 62f23d0a50b3f1ffffff
//TODO: VPDPBUSD X15, X16, K2, X22 // 62c27d0250f7
//TODO: VPDPBUSD X11, X16, K2, X22 // 62c27d0250f3
//TODO: VPDPBUSD X1, X16, K2, X22 // 62e27d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X16, K2, X22 // 62827d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X16, K2, X22 // 62e27d0250b3f1ffffff
//TODO: VPDPBUSD X15, X28, K2, X22 // 62c21d0250f7
//TODO: VPDPBUSD X11, X28, K2, X22 // 62c21d0250f3
//TODO: VPDPBUSD X1, X28, K2, X22 // 62e21d0250f1
//TODO: VPDPBUSD -15(R14)(R15*1), X28, K2, X22 // 62821d0250b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X28, K2, X22 // 62e21d0250b3f1ffffff
//TODO: VPDPBUSD X15, X8, K2, X22 // 62c23d0a50f7
//TODO: VPDPBUSD X11, X8, K2, X22 // 62c23d0a50f3
//TODO: VPDPBUSD X1, X8, K2, X22 // 62e23d0a50f1
//TODO: VPDPBUSD -15(R14)(R15*1), X8, K2, X22 // 62823d0a50b43ef1ffffff
//TODO: VPDPBUSD -15(BX), X8, K2, X22 // 62e23d0a50b3f1ffffff
//TODO: VPDPBUSD X15, X16, K2, X12 // 62527d0250e7
//TODO: VPDPBUSD X11, X16, K2, X12 // 62527d0250e3
//TODO: VPDPBUSD X1, X16, K2, X12 // 62727d0250e1
//TODO: VPDPBUSD -15(R14)(R15*1), X16, K2, X12 // 62127d0250a43ef1ffffff
//TODO: VPDPBUSD -15(BX), X16, K2, X12 // 62727d0250a3f1ffffff
//TODO: VPDPBUSD X15, X28, K2, X12 // 62521d0250e7
//TODO: VPDPBUSD X11, X28, K2, X12 // 62521d0250e3
//TODO: VPDPBUSD X1, X28, K2, X12 // 62721d0250e1
//TODO: VPDPBUSD -15(R14)(R15*1), X28, K2, X12 // 62121d0250a43ef1ffffff
//TODO: VPDPBUSD -15(BX), X28, K2, X12 // 62721d0250a3f1ffffff
//TODO: VPDPBUSD X15, X8, K2, X12 // 62523d0a50e7
//TODO: VPDPBUSD X11, X8, K2, X12 // 62523d0a50e3
//TODO: VPDPBUSD X1, X8, K2, X12 // 62723d0a50e1
//TODO: VPDPBUSD -15(R14)(R15*1), X8, K2, X12 // 62123d0a50a43ef1ffffff
//TODO: VPDPBUSD -15(BX), X8, K2, X12 // 62723d0a50a3f1ffffff
//TODO: VPDPBUSD Y11, Y28, K5, Y20 // 62c21d2550e3
//TODO: VPDPBUSD Y27, Y28, K5, Y20 // 62821d2550e3
//TODO: VPDPBUSD Y17, Y28, K5, Y20 // 62a21d2550e1
//TODO: VPDPBUSD (AX), Y28, K5, Y20 // 62e21d255020
//TODO: VPDPBUSD 7(SI), Y28, K5, Y20 // 62e21d2550a607000000
//TODO: VPDPBUSD Y11, Y1, K5, Y20 // 62c2752d50e3
//TODO: VPDPBUSD Y27, Y1, K5, Y20 // 6282752d50e3
//TODO: VPDPBUSD Y17, Y1, K5, Y20 // 62a2752d50e1
//TODO: VPDPBUSD (AX), Y1, K5, Y20 // 62e2752d5020
//TODO: VPDPBUSD 7(SI), Y1, K5, Y20 // 62e2752d50a607000000
//TODO: VPDPBUSD Y11, Y8, K5, Y20 // 62c23d2d50e3
//TODO: VPDPBUSD Y27, Y8, K5, Y20 // 62823d2d50e3
//TODO: VPDPBUSD Y17, Y8, K5, Y20 // 62a23d2d50e1
//TODO: VPDPBUSD (AX), Y8, K5, Y20 // 62e23d2d5020
//TODO: VPDPBUSD 7(SI), Y8, K5, Y20 // 62e23d2d50a607000000
//TODO: VPDPBUSD Y11, Y28, K5, Y9 // 62521d2550cb
//TODO: VPDPBUSD Y27, Y28, K5, Y9 // 62121d2550cb
//TODO: VPDPBUSD Y17, Y28, K5, Y9 // 62321d2550c9
//TODO: VPDPBUSD (AX), Y28, K5, Y9 // 62721d255008
//TODO: VPDPBUSD 7(SI), Y28, K5, Y9 // 62721d25508e07000000
//TODO: VPDPBUSD Y11, Y1, K5, Y9 // 6252752d50cb
//TODO: VPDPBUSD Y27, Y1, K5, Y9 // 6212752d50cb
//TODO: VPDPBUSD Y17, Y1, K5, Y9 // 6232752d50c9
//TODO: VPDPBUSD (AX), Y1, K5, Y9 // 6272752d5008
//TODO: VPDPBUSD 7(SI), Y1, K5, Y9 // 6272752d508e07000000
//TODO: VPDPBUSD Y11, Y8, K5, Y9 // 62523d2d50cb
//TODO: VPDPBUSD Y27, Y8, K5, Y9 // 62123d2d50cb
//TODO: VPDPBUSD Y17, Y8, K5, Y9 // 62323d2d50c9
//TODO: VPDPBUSD (AX), Y8, K5, Y9 // 62723d2d5008
//TODO: VPDPBUSD 7(SI), Y8, K5, Y9 // 62723d2d508e07000000
//TODO: VPDPBUSD Y11, Y28, K5, Y28 // 62421d2550e3
//TODO: VPDPBUSD Y27, Y28, K5, Y28 // 62021d2550e3
//TODO: VPDPBUSD Y17, Y28, K5, Y28 // 62221d2550e1
//TODO: VPDPBUSD (AX), Y28, K5, Y28 // 62621d255020
//TODO: VPDPBUSD 7(SI), Y28, K5, Y28 // 62621d2550a607000000
//TODO: VPDPBUSD Y11, Y1, K5, Y28 // 6242752d50e3
//TODO: VPDPBUSD Y27, Y1, K5, Y28 // 6202752d50e3
//TODO: VPDPBUSD Y17, Y1, K5, Y28 // 6222752d50e1
//TODO: VPDPBUSD (AX), Y1, K5, Y28 // 6262752d5020
//TODO: VPDPBUSD 7(SI), Y1, K5, Y28 // 6262752d50a607000000
//TODO: VPDPBUSD Y11, Y8, K5, Y28 // 62423d2d50e3
//TODO: VPDPBUSD Y27, Y8, K5, Y28 // 62023d2d50e3
//TODO: VPDPBUSD Y17, Y8, K5, Y28 // 62223d2d50e1
//TODO: VPDPBUSD (AX), Y8, K5, Y28 // 62623d2d5020
//TODO: VPDPBUSD 7(SI), Y8, K5, Y28 // 62623d2d50a607000000
//TODO: VPDPBUSD Z8, Z23, K3, Z23 // 62c2454350f8
//TODO: VPDPBUSD Z28, Z23, K3, Z23 // 6282454350fc
//TODO: VPDPBUSD (SI), Z23, K3, Z23 // 62e24543503e
//TODO: VPDPBUSD 7(SI)(DI*2), Z23, K3, Z23 // 62e2454350bc7e07000000
//TODO: VPDPBUSD Z8, Z6, K3, Z23 // 62c24d4b50f8
//TODO: VPDPBUSD Z28, Z6, K3, Z23 // 62824d4b50fc
//TODO: VPDPBUSD (SI), Z6, K3, Z23 // 62e24d4b503e
//TODO: VPDPBUSD 7(SI)(DI*2), Z6, K3, Z23 // 62e24d4b50bc7e07000000
//TODO: VPDPBUSD Z8, Z23, K3, Z5 // 62d2454350e8
//TODO: VPDPBUSD Z28, Z23, K3, Z5 // 6292454350ec
//TODO: VPDPBUSD (SI), Z23, K3, Z5 // 62f24543502e
//TODO: VPDPBUSD 7(SI)(DI*2), Z23, K3, Z5 // 62f2454350ac7e07000000
//TODO: VPDPBUSD Z8, Z6, K3, Z5 // 62d24d4b50e8
//TODO: VPDPBUSD Z28, Z6, K3, Z5 // 62924d4b50ec
//TODO: VPDPBUSD (SI), Z6, K3, Z5 // 62f24d4b502e
//TODO: VPDPBUSD 7(SI)(DI*2), Z6, K3, Z5 // 62f24d4b50ac7e07000000
//TODO: VPDPBUSDS X25, X14, K4, X19 // 62820d0c51d9
//TODO: VPDPBUSDS X11, X14, K4, X19 // 62c20d0c51db
//TODO: VPDPBUSDS X17, X14, K4, X19 // 62a20d0c51d9
//TODO: VPDPBUSDS 7(AX)(CX*4), X14, K4, X19 // 62e20d0c519c8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X14, K4, X19 // 62e20d0c519c0807000000
//TODO: VPDPBUSDS X25, X0, K4, X19 // 62827d0c51d9
//TODO: VPDPBUSDS X11, X0, K4, X19 // 62c27d0c51db
//TODO: VPDPBUSDS X17, X0, K4, X19 // 62a27d0c51d9
//TODO: VPDPBUSDS 7(AX)(CX*4), X0, K4, X19 // 62e27d0c519c8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X0, K4, X19 // 62e27d0c519c0807000000
//TODO: VPDPBUSDS X25, X14, K4, X13 // 62120d0c51e9
//TODO: VPDPBUSDS X11, X14, K4, X13 // 62520d0c51eb
//TODO: VPDPBUSDS X17, X14, K4, X13 // 62320d0c51e9
//TODO: VPDPBUSDS 7(AX)(CX*4), X14, K4, X13 // 62720d0c51ac8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X14, K4, X13 // 62720d0c51ac0807000000
//TODO: VPDPBUSDS X25, X0, K4, X13 // 62127d0c51e9
//TODO: VPDPBUSDS X11, X0, K4, X13 // 62527d0c51eb
//TODO: VPDPBUSDS X17, X0, K4, X13 // 62327d0c51e9
//TODO: VPDPBUSDS 7(AX)(CX*4), X0, K4, X13 // 62727d0c51ac8807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X0, K4, X13 // 62727d0c51ac0807000000
//TODO: VPDPBUSDS X25, X14, K4, X2 // 62920d0c51d1
//TODO: VPDPBUSDS X11, X14, K4, X2 // 62d20d0c51d3
//TODO: VPDPBUSDS X17, X14, K4, X2 // 62b20d0c51d1
//TODO: VPDPBUSDS 7(AX)(CX*4), X14, K4, X2 // 62f20d0c51948807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X14, K4, X2 // 62f20d0c51940807000000
//TODO: VPDPBUSDS X25, X0, K4, X2 // 62927d0c51d1
//TODO: VPDPBUSDS X11, X0, K4, X2 // 62d27d0c51d3
//TODO: VPDPBUSDS X17, X0, K4, X2 // 62b27d0c51d1
//TODO: VPDPBUSDS 7(AX)(CX*4), X0, K4, X2 // 62f27d0c51948807000000
//TODO: VPDPBUSDS 7(AX)(CX*1), X0, K4, X2 // 62f27d0c51940807000000
//TODO: VPDPBUSDS Y28, Y26, K2, Y16 // 62822d2251c4
//TODO: VPDPBUSDS Y1, Y26, K2, Y16 // 62e22d2251c1
//TODO: VPDPBUSDS Y23, Y26, K2, Y16 // 62a22d2251c7
//TODO: VPDPBUSDS (BX), Y26, K2, Y16 // 62e22d225103
//TODO: VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y16 // 62e22d22518435efffffff
//TODO: VPDPBUSDS Y28, Y3, K2, Y16 // 6282652a51c4
//TODO: VPDPBUSDS Y1, Y3, K2, Y16 // 62e2652a51c1
//TODO: VPDPBUSDS Y23, Y3, K2, Y16 // 62a2652a51c7
//TODO: VPDPBUSDS (BX), Y3, K2, Y16 // 62e2652a5103
//TODO: VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y16 // 62e2652a518435efffffff
//TODO: VPDPBUSDS Y28, Y8, K2, Y16 // 62823d2a51c4
//TODO: VPDPBUSDS Y1, Y8, K2, Y16 // 62e23d2a51c1
//TODO: VPDPBUSDS Y23, Y8, K2, Y16 // 62a23d2a51c7
//TODO: VPDPBUSDS (BX), Y8, K2, Y16 // 62e23d2a5103
//TODO: VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y16 // 62e23d2a518435efffffff
//TODO: VPDPBUSDS Y28, Y26, K2, Y12 // 62122d2251e4
//TODO: VPDPBUSDS Y1, Y26, K2, Y12 // 62722d2251e1
//TODO: VPDPBUSDS Y23, Y26, K2, Y12 // 62322d2251e7
//TODO: VPDPBUSDS (BX), Y26, K2, Y12 // 62722d225123
//TODO: VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y12 // 62722d2251a435efffffff
//TODO: VPDPBUSDS Y28, Y3, K2, Y12 // 6212652a51e4
//TODO: VPDPBUSDS Y1, Y3, K2, Y12 // 6272652a51e1
//TODO: VPDPBUSDS Y23, Y3, K2, Y12 // 6232652a51e7
//TODO: VPDPBUSDS (BX), Y3, K2, Y12 // 6272652a5123
//TODO: VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y12 // 6272652a51a435efffffff
//TODO: VPDPBUSDS Y28, Y8, K2, Y12 // 62123d2a51e4
//TODO: VPDPBUSDS Y1, Y8, K2, Y12 // 62723d2a51e1
//TODO: VPDPBUSDS Y23, Y8, K2, Y12 // 62323d2a51e7
//TODO: VPDPBUSDS (BX), Y8, K2, Y12 // 62723d2a5123
//TODO: VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y12 // 62723d2a51a435efffffff
//TODO: VPDPBUSDS Y28, Y26, K2, Y6 // 62922d2251f4
//TODO: VPDPBUSDS Y1, Y26, K2, Y6 // 62f22d2251f1
//TODO: VPDPBUSDS Y23, Y26, K2, Y6 // 62b22d2251f7
//TODO: VPDPBUSDS (BX), Y26, K2, Y6 // 62f22d225133
//TODO: VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y6 // 62f22d2251b435efffffff
//TODO: VPDPBUSDS Y28, Y3, K2, Y6 // 6292652a51f4
//TODO: VPDPBUSDS Y1, Y3, K2, Y6 // 62f2652a51f1
//TODO: VPDPBUSDS Y23, Y3, K2, Y6 // 62b2652a51f7
//TODO: VPDPBUSDS (BX), Y3, K2, Y6 // 62f2652a5133
//TODO: VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y6 // 62f2652a51b435efffffff
//TODO: VPDPBUSDS Y28, Y8, K2, Y6 // 62923d2a51f4
//TODO: VPDPBUSDS Y1, Y8, K2, Y6 // 62f23d2a51f1
//TODO: VPDPBUSDS Y23, Y8, K2, Y6 // 62b23d2a51f7
//TODO: VPDPBUSDS (BX), Y8, K2, Y6 // 62f23d2a5133
//TODO: VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y6 // 62f23d2a51b435efffffff
//TODO: VPDPBUSDS Z12, Z16, K2, Z21 // 62c27d4251ec
//TODO: VPDPBUSDS Z27, Z16, K2, Z21 // 62827d4251eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z21 // 62e27d4251acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z21 // 62e27d4251acac11000000
//TODO: VPDPBUSDS Z12, Z13, K2, Z21 // 62c2154a51ec
//TODO: VPDPBUSDS Z27, Z13, K2, Z21 // 6282154a51eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z21 // 62e2154a51acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z21 // 62e2154a51acac11000000
//TODO: VPDPBUSDS Z12, Z16, K2, Z5 // 62d27d4251ec
//TODO: VPDPBUSDS Z27, Z16, K2, Z5 // 62927d4251eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z5 // 62f27d4251acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z5 // 62f27d4251acac11000000
//TODO: VPDPBUSDS Z12, Z13, K2, Z5 // 62d2154a51ec
//TODO: VPDPBUSDS Z27, Z13, K2, Z5 // 6292154a51eb
//TODO: VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z5 // 62f2154a51acec11000000
//TODO: VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z5 // 62f2154a51acac11000000
//TODO: VPDPWSSD X2, X2, K3, X18 // 62e26d0b52d2
//TODO: VPDPWSSD X27, X2, K3, X18 // 62826d0b52d3
//TODO: VPDPWSSD X26, X2, K3, X18 // 62826d0b52d2
//TODO: VPDPWSSD (SI), X2, K3, X18 // 62e26d0b5216
//TODO: VPDPWSSD 7(SI)(DI*2), X2, K3, X18 // 62e26d0b52947e07000000
//TODO: VPDPWSSD X2, X24, K3, X18 // 62e23d0352d2
//TODO: VPDPWSSD X27, X24, K3, X18 // 62823d0352d3
//TODO: VPDPWSSD X26, X24, K3, X18 // 62823d0352d2
//TODO: VPDPWSSD (SI), X24, K3, X18 // 62e23d035216
//TODO: VPDPWSSD 7(SI)(DI*2), X24, K3, X18 // 62e23d0352947e07000000
//TODO: VPDPWSSD X2, X2, K3, X11 // 62726d0b52da
//TODO: VPDPWSSD X27, X2, K3, X11 // 62126d0b52db
//TODO: VPDPWSSD X26, X2, K3, X11 // 62126d0b52da
//TODO: VPDPWSSD (SI), X2, K3, X11 // 62726d0b521e
//TODO: VPDPWSSD 7(SI)(DI*2), X2, K3, X11 // 62726d0b529c7e07000000
//TODO: VPDPWSSD X2, X24, K3, X11 // 62723d0352da
//TODO: VPDPWSSD X27, X24, K3, X11 // 62123d0352db
//TODO: VPDPWSSD X26, X24, K3, X11 // 62123d0352da
//TODO: VPDPWSSD (SI), X24, K3, X11 // 62723d03521e
//TODO: VPDPWSSD 7(SI)(DI*2), X24, K3, X11 // 62723d03529c7e07000000
//TODO: VPDPWSSD X2, X2, K3, X9 // 62726d0b52ca
//TODO: VPDPWSSD X27, X2, K3, X9 // 62126d0b52cb
//TODO: VPDPWSSD X26, X2, K3, X9 // 62126d0b52ca
//TODO: VPDPWSSD (SI), X2, K3, X9 // 62726d0b520e
//TODO: VPDPWSSD 7(SI)(DI*2), X2, K3, X9 // 62726d0b528c7e07000000
//TODO: VPDPWSSD X2, X24, K3, X9 // 62723d0352ca
//TODO: VPDPWSSD X27, X24, K3, X9 // 62123d0352cb
//TODO: VPDPWSSD X26, X24, K3, X9 // 62123d0352ca
//TODO: VPDPWSSD (SI), X24, K3, X9 // 62723d03520e
//TODO: VPDPWSSD 7(SI)(DI*2), X24, K3, X9 // 62723d03528c7e07000000
//TODO: VPDPWSSD Y8, Y2, K3, Y14 // 62526d2b52f0
//TODO: VPDPWSSD Y9, Y2, K3, Y14 // 62526d2b52f1
//TODO: VPDPWSSD Y22, Y2, K3, Y14 // 62326d2b52f6
//TODO: VPDPWSSD 15(R8)(R14*4), Y2, K3, Y14 // 62126d2b52b4b00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y2, K3, Y14 // 62726d2b52b491f9ffffff
//TODO: VPDPWSSD Y8, Y22, K3, Y14 // 62524d2352f0
//TODO: VPDPWSSD Y9, Y22, K3, Y14 // 62524d2352f1
//TODO: VPDPWSSD Y22, Y22, K3, Y14 // 62324d2352f6
//TODO: VPDPWSSD 15(R8)(R14*4), Y22, K3, Y14 // 62124d2352b4b00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y22, K3, Y14 // 62724d2352b491f9ffffff
//TODO: VPDPWSSD Y8, Y27, K3, Y14 // 6252252352f0
//TODO: VPDPWSSD Y9, Y27, K3, Y14 // 6252252352f1
//TODO: VPDPWSSD Y22, Y27, K3, Y14 // 6232252352f6
//TODO: VPDPWSSD 15(R8)(R14*4), Y27, K3, Y14 // 6212252352b4b00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y27, K3, Y14 // 6272252352b491f9ffffff
//TODO: VPDPWSSD Y8, Y2, K3, Y31 // 62426d2b52f8
//TODO: VPDPWSSD Y9, Y2, K3, Y31 // 62426d2b52f9
//TODO: VPDPWSSD Y22, Y2, K3, Y31 // 62226d2b52fe
//TODO: VPDPWSSD 15(R8)(R14*4), Y2, K3, Y31 // 62026d2b52bcb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y2, K3, Y31 // 62626d2b52bc91f9ffffff
//TODO: VPDPWSSD Y8, Y22, K3, Y31 // 62424d2352f8
//TODO: VPDPWSSD Y9, Y22, K3, Y31 // 62424d2352f9
//TODO: VPDPWSSD Y22, Y22, K3, Y31 // 62224d2352fe
//TODO: VPDPWSSD 15(R8)(R14*4), Y22, K3, Y31 // 62024d2352bcb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y22, K3, Y31 // 62624d2352bc91f9ffffff
//TODO: VPDPWSSD Y8, Y27, K3, Y31 // 6242252352f8
//TODO: VPDPWSSD Y9, Y27, K3, Y31 // 6242252352f9
//TODO: VPDPWSSD Y22, Y27, K3, Y31 // 6222252352fe
//TODO: VPDPWSSD 15(R8)(R14*4), Y27, K3, Y31 // 6202252352bcb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y27, K3, Y31 // 6262252352bc91f9ffffff
//TODO: VPDPWSSD Y8, Y2, K3, Y25 // 62426d2b52c8
//TODO: VPDPWSSD Y9, Y2, K3, Y25 // 62426d2b52c9
//TODO: VPDPWSSD Y22, Y2, K3, Y25 // 62226d2b52ce
//TODO: VPDPWSSD 15(R8)(R14*4), Y2, K3, Y25 // 62026d2b528cb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y2, K3, Y25 // 62626d2b528c91f9ffffff
//TODO: VPDPWSSD Y8, Y22, K3, Y25 // 62424d2352c8
//TODO: VPDPWSSD Y9, Y22, K3, Y25 // 62424d2352c9
//TODO: VPDPWSSD Y22, Y22, K3, Y25 // 62224d2352ce
//TODO: VPDPWSSD 15(R8)(R14*4), Y22, K3, Y25 // 62024d23528cb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y22, K3, Y25 // 62624d23528c91f9ffffff
//TODO: VPDPWSSD Y8, Y27, K3, Y25 // 6242252352c8
//TODO: VPDPWSSD Y9, Y27, K3, Y25 // 6242252352c9
//TODO: VPDPWSSD Y22, Y27, K3, Y25 // 6222252352ce
//TODO: VPDPWSSD 15(R8)(R14*4), Y27, K3, Y25 // 62022523528cb00f000000
//TODO: VPDPWSSD -7(CX)(DX*4), Y27, K3, Y25 // 62622523528c91f9ffffff
//TODO: VPDPWSSD Z25, Z6, K3, Z22 // 62824d4b52f1
//TODO: VPDPWSSD Z12, Z6, K3, Z22 // 62c24d4b52f4
//TODO: VPDPWSSD 7(SI)(DI*4), Z6, K3, Z22 // 62e24d4b52b4be07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z6, K3, Z22 // 62a24d4b52b447f9ffffff
//TODO: VPDPWSSD Z25, Z8, K3, Z22 // 62823d4b52f1
//TODO: VPDPWSSD Z12, Z8, K3, Z22 // 62c23d4b52f4
//TODO: VPDPWSSD 7(SI)(DI*4), Z8, K3, Z22 // 62e23d4b52b4be07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z8, K3, Z22 // 62a23d4b52b447f9ffffff
//TODO: VPDPWSSD Z25, Z6, K3, Z11 // 62124d4b52d9
//TODO: VPDPWSSD Z12, Z6, K3, Z11 // 62524d4b52dc
//TODO: VPDPWSSD 7(SI)(DI*4), Z6, K3, Z11 // 62724d4b529cbe07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z6, K3, Z11 // 62324d4b529c47f9ffffff
//TODO: VPDPWSSD Z25, Z8, K3, Z11 // 62123d4b52d9
//TODO: VPDPWSSD Z12, Z8, K3, Z11 // 62523d4b52dc
//TODO: VPDPWSSD 7(SI)(DI*4), Z8, K3, Z11 // 62723d4b529cbe07000000
//TODO: VPDPWSSD -7(DI)(R8*2), Z8, K3, Z11 // 62323d4b529c47f9ffffff
//TODO: VPDPWSSDS X13, X11, K2, X22 // 62c2250a53f5
//TODO: VPDPWSSDS X6, X11, K2, X22 // 62e2250a53f6
//TODO: VPDPWSSDS X12, X11, K2, X22 // 62c2250a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X11, K2, X22 // 62e2250a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X11, K2, X22 // 62e2250a53b4ac11000000
//TODO: VPDPWSSDS X13, X15, K2, X22 // 62c2050a53f5
//TODO: VPDPWSSDS X6, X15, K2, X22 // 62e2050a53f6
//TODO: VPDPWSSDS X12, X15, K2, X22 // 62c2050a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X15, K2, X22 // 62e2050a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X15, K2, X22 // 62e2050a53b4ac11000000
//TODO: VPDPWSSDS X13, X30, K2, X22 // 62c20d0253f5
//TODO: VPDPWSSDS X6, X30, K2, X22 // 62e20d0253f6
//TODO: VPDPWSSDS X12, X30, K2, X22 // 62c20d0253f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X30, K2, X22 // 62e20d0253b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X30, K2, X22 // 62e20d0253b4ac11000000
//TODO: VPDPWSSDS X13, X11, K2, X30 // 6242250a53f5
//TODO: VPDPWSSDS X6, X11, K2, X30 // 6262250a53f6
//TODO: VPDPWSSDS X12, X11, K2, X30 // 6242250a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X11, K2, X30 // 6262250a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X11, K2, X30 // 6262250a53b4ac11000000
//TODO: VPDPWSSDS X13, X15, K2, X30 // 6242050a53f5
//TODO: VPDPWSSDS X6, X15, K2, X30 // 6262050a53f6
//TODO: VPDPWSSDS X12, X15, K2, X30 // 6242050a53f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X15, K2, X30 // 6262050a53b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X15, K2, X30 // 6262050a53b4ac11000000
//TODO: VPDPWSSDS X13, X30, K2, X30 // 62420d0253f5
//TODO: VPDPWSSDS X6, X30, K2, X30 // 62620d0253f6
//TODO: VPDPWSSDS X12, X30, K2, X30 // 62420d0253f4
//TODO: VPDPWSSDS 17(SP)(BP*8), X30, K2, X30 // 62620d0253b4ec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X30, K2, X30 // 62620d0253b4ac11000000
//TODO: VPDPWSSDS X13, X11, K2, X3 // 62d2250a53dd
//TODO: VPDPWSSDS X6, X11, K2, X3 // 62f2250a53de
//TODO: VPDPWSSDS X12, X11, K2, X3 // 62d2250a53dc
//TODO: VPDPWSSDS 17(SP)(BP*8), X11, K2, X3 // 62f2250a539cec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X11, K2, X3 // 62f2250a539cac11000000
//TODO: VPDPWSSDS X13, X15, K2, X3 // 62d2050a53dd
//TODO: VPDPWSSDS X6, X15, K2, X3 // 62f2050a53de
//TODO: VPDPWSSDS X12, X15, K2, X3 // 62d2050a53dc
//TODO: VPDPWSSDS 17(SP)(BP*8), X15, K2, X3 // 62f2050a539cec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X15, K2, X3 // 62f2050a539cac11000000
//TODO: VPDPWSSDS X13, X30, K2, X3 // 62d20d0253dd
//TODO: VPDPWSSDS X6, X30, K2, X3 // 62f20d0253de
//TODO: VPDPWSSDS X12, X30, K2, X3 // 62d20d0253dc
//TODO: VPDPWSSDS 17(SP)(BP*8), X30, K2, X3 // 62f20d02539cec11000000
//TODO: VPDPWSSDS 17(SP)(BP*4), X30, K2, X3 // 62f20d02539cac11000000
//TODO: VPDPWSSDS Y0, Y6, K1, Y9 // 62724d2953c8
//TODO: VPDPWSSDS Y19, Y6, K1, Y9 // 62324d2953cb
//TODO: VPDPWSSDS Y31, Y6, K1, Y9 // 62124d2953cf
//TODO: VPDPWSSDS (R8), Y6, K1, Y9 // 62524d295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y9 // 62724d29538c5a0f000000
//TODO: VPDPWSSDS Y0, Y1, K1, Y9 // 6272752953c8
//TODO: VPDPWSSDS Y19, Y1, K1, Y9 // 6232752953cb
//TODO: VPDPWSSDS Y31, Y1, K1, Y9 // 6212752953cf
//TODO: VPDPWSSDS (R8), Y1, K1, Y9 // 625275295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y9 // 62727529538c5a0f000000
//TODO: VPDPWSSDS Y0, Y9, K1, Y9 // 6272352953c8
//TODO: VPDPWSSDS Y19, Y9, K1, Y9 // 6232352953cb
//TODO: VPDPWSSDS Y31, Y9, K1, Y9 // 6212352953cf
//TODO: VPDPWSSDS (R8), Y9, K1, Y9 // 625235295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y9 // 62723529538c5a0f000000
//TODO: VPDPWSSDS Y0, Y6, K1, Y14 // 62724d2953f0
//TODO: VPDPWSSDS Y19, Y6, K1, Y14 // 62324d2953f3
//TODO: VPDPWSSDS Y31, Y6, K1, Y14 // 62124d2953f7
//TODO: VPDPWSSDS (R8), Y6, K1, Y14 // 62524d295330
//TODO: VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y14 // 62724d2953b45a0f000000
//TODO: VPDPWSSDS Y0, Y1, K1, Y14 // 6272752953f0
//TODO: VPDPWSSDS Y19, Y1, K1, Y14 // 6232752953f3
//TODO: VPDPWSSDS Y31, Y1, K1, Y14 // 6212752953f7
//TODO: VPDPWSSDS (R8), Y1, K1, Y14 // 625275295330
//TODO: VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y14 // 6272752953b45a0f000000
//TODO: VPDPWSSDS Y0, Y9, K1, Y14 // 6272352953f0
//TODO: VPDPWSSDS Y19, Y9, K1, Y14 // 6232352953f3
//TODO: VPDPWSSDS Y31, Y9, K1, Y14 // 6212352953f7
//TODO: VPDPWSSDS (R8), Y9, K1, Y14 // 625235295330
//TODO: VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y14 // 6272352953b45a0f000000
//TODO: VPDPWSSDS Y0, Y6, K1, Y1 // 62f24d2953c8
//TODO: VPDPWSSDS Y19, Y6, K1, Y1 // 62b24d2953cb
//TODO: VPDPWSSDS Y31, Y6, K1, Y1 // 62924d2953cf
//TODO: VPDPWSSDS (R8), Y6, K1, Y1 // 62d24d295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y1 // 62f24d29538c5a0f000000
//TODO: VPDPWSSDS Y0, Y1, K1, Y1 // 62f2752953c8
//TODO: VPDPWSSDS Y19, Y1, K1, Y1 // 62b2752953cb
//TODO: VPDPWSSDS Y31, Y1, K1, Y1 // 6292752953cf
//TODO: VPDPWSSDS (R8), Y1, K1, Y1 // 62d275295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y1 // 62f27529538c5a0f000000
//TODO: VPDPWSSDS Y0, Y9, K1, Y1 // 62f2352953c8
//TODO: VPDPWSSDS Y19, Y9, K1, Y1 // 62b2352953cb
//TODO: VPDPWSSDS Y31, Y9, K1, Y1 // 6292352953cf
//TODO: VPDPWSSDS (R8), Y9, K1, Y1 // 62d235295308
//TODO: VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y1 // 62f23529538c5a0f000000
//TODO: VPDPWSSDS Z6, Z9, K2, Z12 // 6272354a53e6
//TODO: VPDPWSSDS Z25, Z9, K2, Z12 // 6212354a53e1
//TODO: VPDPWSSDS 17(SP), Z9, K2, Z12 // 6272354a53a42411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z12 // 6272354a53a4b5efffffff
//TODO: VPDPWSSDS Z6, Z12, K2, Z12 // 62721d4a53e6
//TODO: VPDPWSSDS Z25, Z12, K2, Z12 // 62121d4a53e1
//TODO: VPDPWSSDS 17(SP), Z12, K2, Z12 // 62721d4a53a42411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z12 // 62721d4a53a4b5efffffff
//TODO: VPDPWSSDS Z6, Z9, K2, Z17 // 62e2354a53ce
//TODO: VPDPWSSDS Z25, Z9, K2, Z17 // 6282354a53c9
//TODO: VPDPWSSDS 17(SP), Z9, K2, Z17 // 62e2354a538c2411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z17 // 62e2354a538cb5efffffff
//TODO: VPDPWSSDS Z6, Z12, K2, Z17 // 62e21d4a53ce
//TODO: VPDPWSSDS Z25, Z12, K2, Z17 // 62821d4a53c9
//TODO: VPDPWSSDS 17(SP), Z12, K2, Z17 // 62e21d4a538c2411000000
//TODO: VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z17 // 62e21d4a538cb5efffffff
VPDPBUSD X15, X16, K2, X6 // 62d27d0250f7
VPDPBUSD X11, X16, K2, X6 // 62d27d0250f3
VPDPBUSD X1, X16, K2, X6 // 62f27d0250f1
VPDPBUSD -15(R14)(R15*1), X16, K2, X6 // 62927d0250b43ef1ffffff
VPDPBUSD -15(BX), X16, K2, X6 // 62f27d0250b3f1ffffff
VPDPBUSD X15, X28, K2, X6 // 62d21d0250f7
VPDPBUSD X11, X28, K2, X6 // 62d21d0250f3
VPDPBUSD X1, X28, K2, X6 // 62f21d0250f1
VPDPBUSD -15(R14)(R15*1), X28, K2, X6 // 62921d0250b43ef1ffffff
VPDPBUSD -15(BX), X28, K2, X6 // 62f21d0250b3f1ffffff
VPDPBUSD X15, X8, K2, X6 // 62d23d0a50f7
VPDPBUSD X11, X8, K2, X6 // 62d23d0a50f3
VPDPBUSD X1, X8, K2, X6 // 62f23d0a50f1
VPDPBUSD -15(R14)(R15*1), X8, K2, X6 // 62923d0a50b43ef1ffffff
VPDPBUSD -15(BX), X8, K2, X6 // 62f23d0a50b3f1ffffff
VPDPBUSD X15, X16, K2, X22 // 62c27d0250f7
VPDPBUSD X11, X16, K2, X22 // 62c27d0250f3
VPDPBUSD X1, X16, K2, X22 // 62e27d0250f1
VPDPBUSD -15(R14)(R15*1), X16, K2, X22 // 62827d0250b43ef1ffffff
VPDPBUSD -15(BX), X16, K2, X22 // 62e27d0250b3f1ffffff
VPDPBUSD X15, X28, K2, X22 // 62c21d0250f7
VPDPBUSD X11, X28, K2, X22 // 62c21d0250f3
VPDPBUSD X1, X28, K2, X22 // 62e21d0250f1
VPDPBUSD -15(R14)(R15*1), X28, K2, X22 // 62821d0250b43ef1ffffff
VPDPBUSD -15(BX), X28, K2, X22 // 62e21d0250b3f1ffffff
VPDPBUSD X15, X8, K2, X22 // 62c23d0a50f7
VPDPBUSD X11, X8, K2, X22 // 62c23d0a50f3
VPDPBUSD X1, X8, K2, X22 // 62e23d0a50f1
VPDPBUSD -15(R14)(R15*1), X8, K2, X22 // 62823d0a50b43ef1ffffff
VPDPBUSD -15(BX), X8, K2, X22 // 62e23d0a50b3f1ffffff
VPDPBUSD X15, X16, K2, X12 // 62527d0250e7
VPDPBUSD X11, X16, K2, X12 // 62527d0250e3
VPDPBUSD X1, X16, K2, X12 // 62727d0250e1
VPDPBUSD -15(R14)(R15*1), X16, K2, X12 // 62127d0250a43ef1ffffff
VPDPBUSD -15(BX), X16, K2, X12 // 62727d0250a3f1ffffff
VPDPBUSD X15, X28, K2, X12 // 62521d0250e7
VPDPBUSD X11, X28, K2, X12 // 62521d0250e3
VPDPBUSD X1, X28, K2, X12 // 62721d0250e1
VPDPBUSD -15(R14)(R15*1), X28, K2, X12 // 62121d0250a43ef1ffffff
VPDPBUSD -15(BX), X28, K2, X12 // 62721d0250a3f1ffffff
VPDPBUSD X15, X8, K2, X12 // 62523d0a50e7
VPDPBUSD X11, X8, K2, X12 // 62523d0a50e3
VPDPBUSD X1, X8, K2, X12 // 62723d0a50e1
VPDPBUSD -15(R14)(R15*1), X8, K2, X12 // 62123d0a50a43ef1ffffff
VPDPBUSD -15(BX), X8, K2, X12 // 62723d0a50a3f1ffffff
VPDPBUSD Y11, Y28, K5, Y20 // 62c21d2550e3
VPDPBUSD Y27, Y28, K5, Y20 // 62821d2550e3
VPDPBUSD Y17, Y28, K5, Y20 // 62a21d2550e1
VPDPBUSD (AX), Y28, K5, Y20 // 62e21d255020
VPDPBUSD 7(SI), Y28, K5, Y20 // 62e21d2550a607000000
VPDPBUSD Y11, Y1, K5, Y20 // 62c2752d50e3
VPDPBUSD Y27, Y1, K5, Y20 // 6282752d50e3
VPDPBUSD Y17, Y1, K5, Y20 // 62a2752d50e1
VPDPBUSD (AX), Y1, K5, Y20 // 62e2752d5020
VPDPBUSD 7(SI), Y1, K5, Y20 // 62e2752d50a607000000
VPDPBUSD Y11, Y8, K5, Y20 // 62c23d2d50e3
VPDPBUSD Y27, Y8, K5, Y20 // 62823d2d50e3
VPDPBUSD Y17, Y8, K5, Y20 // 62a23d2d50e1
VPDPBUSD (AX), Y8, K5, Y20 // 62e23d2d5020
VPDPBUSD 7(SI), Y8, K5, Y20 // 62e23d2d50a607000000
VPDPBUSD Y11, Y28, K5, Y9 // 62521d2550cb
VPDPBUSD Y27, Y28, K5, Y9 // 62121d2550cb
VPDPBUSD Y17, Y28, K5, Y9 // 62321d2550c9
VPDPBUSD (AX), Y28, K5, Y9 // 62721d255008
VPDPBUSD 7(SI), Y28, K5, Y9 // 62721d25508e07000000
VPDPBUSD Y11, Y1, K5, Y9 // 6252752d50cb
VPDPBUSD Y27, Y1, K5, Y9 // 6212752d50cb
VPDPBUSD Y17, Y1, K5, Y9 // 6232752d50c9
VPDPBUSD (AX), Y1, K5, Y9 // 6272752d5008
VPDPBUSD 7(SI), Y1, K5, Y9 // 6272752d508e07000000
VPDPBUSD Y11, Y8, K5, Y9 // 62523d2d50cb
VPDPBUSD Y27, Y8, K5, Y9 // 62123d2d50cb
VPDPBUSD Y17, Y8, K5, Y9 // 62323d2d50c9
VPDPBUSD (AX), Y8, K5, Y9 // 62723d2d5008
VPDPBUSD 7(SI), Y8, K5, Y9 // 62723d2d508e07000000
VPDPBUSD Y11, Y28, K5, Y28 // 62421d2550e3
VPDPBUSD Y27, Y28, K5, Y28 // 62021d2550e3
VPDPBUSD Y17, Y28, K5, Y28 // 62221d2550e1
VPDPBUSD (AX), Y28, K5, Y28 // 62621d255020
VPDPBUSD 7(SI), Y28, K5, Y28 // 62621d2550a607000000
VPDPBUSD Y11, Y1, K5, Y28 // 6242752d50e3
VPDPBUSD Y27, Y1, K5, Y28 // 6202752d50e3
VPDPBUSD Y17, Y1, K5, Y28 // 6222752d50e1
VPDPBUSD (AX), Y1, K5, Y28 // 6262752d5020
VPDPBUSD 7(SI), Y1, K5, Y28 // 6262752d50a607000000
VPDPBUSD Y11, Y8, K5, Y28 // 62423d2d50e3
VPDPBUSD Y27, Y8, K5, Y28 // 62023d2d50e3
VPDPBUSD Y17, Y8, K5, Y28 // 62223d2d50e1
VPDPBUSD (AX), Y8, K5, Y28 // 62623d2d5020
VPDPBUSD 7(SI), Y8, K5, Y28 // 62623d2d50a607000000
VPDPBUSD Z8, Z23, K3, Z23 // 62c2454350f8
VPDPBUSD Z28, Z23, K3, Z23 // 6282454350fc
VPDPBUSD (SI), Z23, K3, Z23 // 62e24543503e
VPDPBUSD 7(SI)(DI*2), Z23, K3, Z23 // 62e2454350bc7e07000000
VPDPBUSD Z8, Z6, K3, Z23 // 62c24d4b50f8
VPDPBUSD Z28, Z6, K3, Z23 // 62824d4b50fc
VPDPBUSD (SI), Z6, K3, Z23 // 62e24d4b503e
VPDPBUSD 7(SI)(DI*2), Z6, K3, Z23 // 62e24d4b50bc7e07000000
VPDPBUSD Z8, Z23, K3, Z5 // 62d2454350e8
VPDPBUSD Z28, Z23, K3, Z5 // 6292454350ec
VPDPBUSD (SI), Z23, K3, Z5 // 62f24543502e
VPDPBUSD 7(SI)(DI*2), Z23, K3, Z5 // 62f2454350ac7e07000000
VPDPBUSD Z8, Z6, K3, Z5 // 62d24d4b50e8
VPDPBUSD Z28, Z6, K3, Z5 // 62924d4b50ec
VPDPBUSD (SI), Z6, K3, Z5 // 62f24d4b502e
VPDPBUSD 7(SI)(DI*2), Z6, K3, Z5 // 62f24d4b50ac7e07000000
VPDPBUSDS X25, X14, K4, X19 // 62820d0c51d9
VPDPBUSDS X11, X14, K4, X19 // 62c20d0c51db
VPDPBUSDS X17, X14, K4, X19 // 62a20d0c51d9
VPDPBUSDS 7(AX)(CX*4), X14, K4, X19 // 62e20d0c519c8807000000
VPDPBUSDS 7(AX)(CX*1), X14, K4, X19 // 62e20d0c519c0807000000
VPDPBUSDS X25, X0, K4, X19 // 62827d0c51d9
VPDPBUSDS X11, X0, K4, X19 // 62c27d0c51db
VPDPBUSDS X17, X0, K4, X19 // 62a27d0c51d9
VPDPBUSDS 7(AX)(CX*4), X0, K4, X19 // 62e27d0c519c8807000000
VPDPBUSDS 7(AX)(CX*1), X0, K4, X19 // 62e27d0c519c0807000000
VPDPBUSDS X25, X14, K4, X13 // 62120d0c51e9
VPDPBUSDS X11, X14, K4, X13 // 62520d0c51eb
VPDPBUSDS X17, X14, K4, X13 // 62320d0c51e9
VPDPBUSDS 7(AX)(CX*4), X14, K4, X13 // 62720d0c51ac8807000000
VPDPBUSDS 7(AX)(CX*1), X14, K4, X13 // 62720d0c51ac0807000000
VPDPBUSDS X25, X0, K4, X13 // 62127d0c51e9
VPDPBUSDS X11, X0, K4, X13 // 62527d0c51eb
VPDPBUSDS X17, X0, K4, X13 // 62327d0c51e9
VPDPBUSDS 7(AX)(CX*4), X0, K4, X13 // 62727d0c51ac8807000000
VPDPBUSDS 7(AX)(CX*1), X0, K4, X13 // 62727d0c51ac0807000000
VPDPBUSDS X25, X14, K4, X2 // 62920d0c51d1
VPDPBUSDS X11, X14, K4, X2 // 62d20d0c51d3
VPDPBUSDS X17, X14, K4, X2 // 62b20d0c51d1
VPDPBUSDS 7(AX)(CX*4), X14, K4, X2 // 62f20d0c51948807000000
VPDPBUSDS 7(AX)(CX*1), X14, K4, X2 // 62f20d0c51940807000000
VPDPBUSDS X25, X0, K4, X2 // 62927d0c51d1
VPDPBUSDS X11, X0, K4, X2 // 62d27d0c51d3
VPDPBUSDS X17, X0, K4, X2 // 62b27d0c51d1
VPDPBUSDS 7(AX)(CX*4), X0, K4, X2 // 62f27d0c51948807000000
VPDPBUSDS 7(AX)(CX*1), X0, K4, X2 // 62f27d0c51940807000000
VPDPBUSDS Y28, Y26, K2, Y16 // 62822d2251c4
VPDPBUSDS Y1, Y26, K2, Y16 // 62e22d2251c1
VPDPBUSDS Y23, Y26, K2, Y16 // 62a22d2251c7
VPDPBUSDS (BX), Y26, K2, Y16 // 62e22d225103
VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y16 // 62e22d22518435efffffff
VPDPBUSDS Y28, Y3, K2, Y16 // 6282652a51c4
VPDPBUSDS Y1, Y3, K2, Y16 // 62e2652a51c1
VPDPBUSDS Y23, Y3, K2, Y16 // 62a2652a51c7
VPDPBUSDS (BX), Y3, K2, Y16 // 62e2652a5103
VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y16 // 62e2652a518435efffffff
VPDPBUSDS Y28, Y8, K2, Y16 // 62823d2a51c4
VPDPBUSDS Y1, Y8, K2, Y16 // 62e23d2a51c1
VPDPBUSDS Y23, Y8, K2, Y16 // 62a23d2a51c7
VPDPBUSDS (BX), Y8, K2, Y16 // 62e23d2a5103
VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y16 // 62e23d2a518435efffffff
VPDPBUSDS Y28, Y26, K2, Y12 // 62122d2251e4
VPDPBUSDS Y1, Y26, K2, Y12 // 62722d2251e1
VPDPBUSDS Y23, Y26, K2, Y12 // 62322d2251e7
VPDPBUSDS (BX), Y26, K2, Y12 // 62722d225123
VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y12 // 62722d2251a435efffffff
VPDPBUSDS Y28, Y3, K2, Y12 // 6212652a51e4
VPDPBUSDS Y1, Y3, K2, Y12 // 6272652a51e1
VPDPBUSDS Y23, Y3, K2, Y12 // 6232652a51e7
VPDPBUSDS (BX), Y3, K2, Y12 // 6272652a5123
VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y12 // 6272652a51a435efffffff
VPDPBUSDS Y28, Y8, K2, Y12 // 62123d2a51e4
VPDPBUSDS Y1, Y8, K2, Y12 // 62723d2a51e1
VPDPBUSDS Y23, Y8, K2, Y12 // 62323d2a51e7
VPDPBUSDS (BX), Y8, K2, Y12 // 62723d2a5123
VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y12 // 62723d2a51a435efffffff
VPDPBUSDS Y28, Y26, K2, Y6 // 62922d2251f4
VPDPBUSDS Y1, Y26, K2, Y6 // 62f22d2251f1
VPDPBUSDS Y23, Y26, K2, Y6 // 62b22d2251f7
VPDPBUSDS (BX), Y26, K2, Y6 // 62f22d225133
VPDPBUSDS -17(BP)(SI*1), Y26, K2, Y6 // 62f22d2251b435efffffff
VPDPBUSDS Y28, Y3, K2, Y6 // 6292652a51f4
VPDPBUSDS Y1, Y3, K2, Y6 // 62f2652a51f1
VPDPBUSDS Y23, Y3, K2, Y6 // 62b2652a51f7
VPDPBUSDS (BX), Y3, K2, Y6 // 62f2652a5133
VPDPBUSDS -17(BP)(SI*1), Y3, K2, Y6 // 62f2652a51b435efffffff
VPDPBUSDS Y28, Y8, K2, Y6 // 62923d2a51f4
VPDPBUSDS Y1, Y8, K2, Y6 // 62f23d2a51f1
VPDPBUSDS Y23, Y8, K2, Y6 // 62b23d2a51f7
VPDPBUSDS (BX), Y8, K2, Y6 // 62f23d2a5133
VPDPBUSDS -17(BP)(SI*1), Y8, K2, Y6 // 62f23d2a51b435efffffff
VPDPBUSDS Z12, Z16, K2, Z21 // 62c27d4251ec
VPDPBUSDS Z27, Z16, K2, Z21 // 62827d4251eb
VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z21 // 62e27d4251acec11000000
VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z21 // 62e27d4251acac11000000
VPDPBUSDS Z12, Z13, K2, Z21 // 62c2154a51ec
VPDPBUSDS Z27, Z13, K2, Z21 // 6282154a51eb
VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z21 // 62e2154a51acec11000000
VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z21 // 62e2154a51acac11000000
VPDPBUSDS Z12, Z16, K2, Z5 // 62d27d4251ec
VPDPBUSDS Z27, Z16, K2, Z5 // 62927d4251eb
VPDPBUSDS 17(SP)(BP*8), Z16, K2, Z5 // 62f27d4251acec11000000
VPDPBUSDS 17(SP)(BP*4), Z16, K2, Z5 // 62f27d4251acac11000000
VPDPBUSDS Z12, Z13, K2, Z5 // 62d2154a51ec
VPDPBUSDS Z27, Z13, K2, Z5 // 6292154a51eb
VPDPBUSDS 17(SP)(BP*8), Z13, K2, Z5 // 62f2154a51acec11000000
VPDPBUSDS 17(SP)(BP*4), Z13, K2, Z5 // 62f2154a51acac11000000
VPDPWSSD X2, X2, K3, X18 // 62e26d0b52d2
VPDPWSSD X27, X2, K3, X18 // 62826d0b52d3
VPDPWSSD X26, X2, K3, X18 // 62826d0b52d2
VPDPWSSD (SI), X2, K3, X18 // 62e26d0b5216
VPDPWSSD 7(SI)(DI*2), X2, K3, X18 // 62e26d0b52947e07000000
VPDPWSSD X2, X24, K3, X18 // 62e23d0352d2
VPDPWSSD X27, X24, K3, X18 // 62823d0352d3
VPDPWSSD X26, X24, K3, X18 // 62823d0352d2
VPDPWSSD (SI), X24, K3, X18 // 62e23d035216
VPDPWSSD 7(SI)(DI*2), X24, K3, X18 // 62e23d0352947e07000000
VPDPWSSD X2, X2, K3, X11 // 62726d0b52da
VPDPWSSD X27, X2, K3, X11 // 62126d0b52db
VPDPWSSD X26, X2, K3, X11 // 62126d0b52da
VPDPWSSD (SI), X2, K3, X11 // 62726d0b521e
VPDPWSSD 7(SI)(DI*2), X2, K3, X11 // 62726d0b529c7e07000000
VPDPWSSD X2, X24, K3, X11 // 62723d0352da
VPDPWSSD X27, X24, K3, X11 // 62123d0352db
VPDPWSSD X26, X24, K3, X11 // 62123d0352da
VPDPWSSD (SI), X24, K3, X11 // 62723d03521e
VPDPWSSD 7(SI)(DI*2), X24, K3, X11 // 62723d03529c7e07000000
VPDPWSSD X2, X2, K3, X9 // 62726d0b52ca
VPDPWSSD X27, X2, K3, X9 // 62126d0b52cb
VPDPWSSD X26, X2, K3, X9 // 62126d0b52ca
VPDPWSSD (SI), X2, K3, X9 // 62726d0b520e
VPDPWSSD 7(SI)(DI*2), X2, K3, X9 // 62726d0b528c7e07000000
VPDPWSSD X2, X24, K3, X9 // 62723d0352ca
VPDPWSSD X27, X24, K3, X9 // 62123d0352cb
VPDPWSSD X26, X24, K3, X9 // 62123d0352ca
VPDPWSSD (SI), X24, K3, X9 // 62723d03520e
VPDPWSSD 7(SI)(DI*2), X24, K3, X9 // 62723d03528c7e07000000
VPDPWSSD Y8, Y2, K3, Y14 // 62526d2b52f0
VPDPWSSD Y9, Y2, K3, Y14 // 62526d2b52f1
VPDPWSSD Y22, Y2, K3, Y14 // 62326d2b52f6
VPDPWSSD 15(R8)(R14*4), Y2, K3, Y14 // 62126d2b52b4b00f000000
VPDPWSSD -7(CX)(DX*4), Y2, K3, Y14 // 62726d2b52b491f9ffffff
VPDPWSSD Y8, Y22, K3, Y14 // 62524d2352f0
VPDPWSSD Y9, Y22, K3, Y14 // 62524d2352f1
VPDPWSSD Y22, Y22, K3, Y14 // 62324d2352f6
VPDPWSSD 15(R8)(R14*4), Y22, K3, Y14 // 62124d2352b4b00f000000
VPDPWSSD -7(CX)(DX*4), Y22, K3, Y14 // 62724d2352b491f9ffffff
VPDPWSSD Y8, Y27, K3, Y14 // 6252252352f0
VPDPWSSD Y9, Y27, K3, Y14 // 6252252352f1
VPDPWSSD Y22, Y27, K3, Y14 // 6232252352f6
VPDPWSSD 15(R8)(R14*4), Y27, K3, Y14 // 6212252352b4b00f000000
VPDPWSSD -7(CX)(DX*4), Y27, K3, Y14 // 6272252352b491f9ffffff
VPDPWSSD Y8, Y2, K3, Y31 // 62426d2b52f8
VPDPWSSD Y9, Y2, K3, Y31 // 62426d2b52f9
VPDPWSSD Y22, Y2, K3, Y31 // 62226d2b52fe
VPDPWSSD 15(R8)(R14*4), Y2, K3, Y31 // 62026d2b52bcb00f000000
VPDPWSSD -7(CX)(DX*4), Y2, K3, Y31 // 62626d2b52bc91f9ffffff
VPDPWSSD Y8, Y22, K3, Y31 // 62424d2352f8
VPDPWSSD Y9, Y22, K3, Y31 // 62424d2352f9
VPDPWSSD Y22, Y22, K3, Y31 // 62224d2352fe
VPDPWSSD 15(R8)(R14*4), Y22, K3, Y31 // 62024d2352bcb00f000000
VPDPWSSD -7(CX)(DX*4), Y22, K3, Y31 // 62624d2352bc91f9ffffff
VPDPWSSD Y8, Y27, K3, Y31 // 6242252352f8
VPDPWSSD Y9, Y27, K3, Y31 // 6242252352f9
VPDPWSSD Y22, Y27, K3, Y31 // 6222252352fe
VPDPWSSD 15(R8)(R14*4), Y27, K3, Y31 // 6202252352bcb00f000000
VPDPWSSD -7(CX)(DX*4), Y27, K3, Y31 // 6262252352bc91f9ffffff
VPDPWSSD Y8, Y2, K3, Y25 // 62426d2b52c8
VPDPWSSD Y9, Y2, K3, Y25 // 62426d2b52c9
VPDPWSSD Y22, Y2, K3, Y25 // 62226d2b52ce
VPDPWSSD 15(R8)(R14*4), Y2, K3, Y25 // 62026d2b528cb00f000000
VPDPWSSD -7(CX)(DX*4), Y2, K3, Y25 // 62626d2b528c91f9ffffff
VPDPWSSD Y8, Y22, K3, Y25 // 62424d2352c8
VPDPWSSD Y9, Y22, K3, Y25 // 62424d2352c9
VPDPWSSD Y22, Y22, K3, Y25 // 62224d2352ce
VPDPWSSD 15(R8)(R14*4), Y22, K3, Y25 // 62024d23528cb00f000000
VPDPWSSD -7(CX)(DX*4), Y22, K3, Y25 // 62624d23528c91f9ffffff
VPDPWSSD Y8, Y27, K3, Y25 // 6242252352c8
VPDPWSSD Y9, Y27, K3, Y25 // 6242252352c9
VPDPWSSD Y22, Y27, K3, Y25 // 6222252352ce
VPDPWSSD 15(R8)(R14*4), Y27, K3, Y25 // 62022523528cb00f000000
VPDPWSSD -7(CX)(DX*4), Y27, K3, Y25 // 62622523528c91f9ffffff
VPDPWSSD Z25, Z6, K3, Z22 // 62824d4b52f1
VPDPWSSD Z12, Z6, K3, Z22 // 62c24d4b52f4
VPDPWSSD 7(SI)(DI*4), Z6, K3, Z22 // 62e24d4b52b4be07000000
VPDPWSSD -7(DI)(R8*2), Z6, K3, Z22 // 62a24d4b52b447f9ffffff
VPDPWSSD Z25, Z8, K3, Z22 // 62823d4b52f1
VPDPWSSD Z12, Z8, K3, Z22 // 62c23d4b52f4
VPDPWSSD 7(SI)(DI*4), Z8, K3, Z22 // 62e23d4b52b4be07000000
VPDPWSSD -7(DI)(R8*2), Z8, K3, Z22 // 62a23d4b52b447f9ffffff
VPDPWSSD Z25, Z6, K3, Z11 // 62124d4b52d9
VPDPWSSD Z12, Z6, K3, Z11 // 62524d4b52dc
VPDPWSSD 7(SI)(DI*4), Z6, K3, Z11 // 62724d4b529cbe07000000
VPDPWSSD -7(DI)(R8*2), Z6, K3, Z11 // 62324d4b529c47f9ffffff
VPDPWSSD Z25, Z8, K3, Z11 // 62123d4b52d9
VPDPWSSD Z12, Z8, K3, Z11 // 62523d4b52dc
VPDPWSSD 7(SI)(DI*4), Z8, K3, Z11 // 62723d4b529cbe07000000
VPDPWSSD -7(DI)(R8*2), Z8, K3, Z11 // 62323d4b529c47f9ffffff
VPDPWSSDS X13, X11, K2, X22 // 62c2250a53f5
VPDPWSSDS X6, X11, K2, X22 // 62e2250a53f6
VPDPWSSDS X12, X11, K2, X22 // 62c2250a53f4
VPDPWSSDS 17(SP)(BP*8), X11, K2, X22 // 62e2250a53b4ec11000000
VPDPWSSDS 17(SP)(BP*4), X11, K2, X22 // 62e2250a53b4ac11000000
VPDPWSSDS X13, X15, K2, X22 // 62c2050a53f5
VPDPWSSDS X6, X15, K2, X22 // 62e2050a53f6
VPDPWSSDS X12, X15, K2, X22 // 62c2050a53f4
VPDPWSSDS 17(SP)(BP*8), X15, K2, X22 // 62e2050a53b4ec11000000
VPDPWSSDS 17(SP)(BP*4), X15, K2, X22 // 62e2050a53b4ac11000000
VPDPWSSDS X13, X30, K2, X22 // 62c20d0253f5
VPDPWSSDS X6, X30, K2, X22 // 62e20d0253f6
VPDPWSSDS X12, X30, K2, X22 // 62c20d0253f4
VPDPWSSDS 17(SP)(BP*8), X30, K2, X22 // 62e20d0253b4ec11000000
VPDPWSSDS 17(SP)(BP*4), X30, K2, X22 // 62e20d0253b4ac11000000
VPDPWSSDS X13, X11, K2, X30 // 6242250a53f5
VPDPWSSDS X6, X11, K2, X30 // 6262250a53f6
VPDPWSSDS X12, X11, K2, X30 // 6242250a53f4
VPDPWSSDS 17(SP)(BP*8), X11, K2, X30 // 6262250a53b4ec11000000
VPDPWSSDS 17(SP)(BP*4), X11, K2, X30 // 6262250a53b4ac11000000
VPDPWSSDS X13, X15, K2, X30 // 6242050a53f5
VPDPWSSDS X6, X15, K2, X30 // 6262050a53f6
VPDPWSSDS X12, X15, K2, X30 // 6242050a53f4
VPDPWSSDS 17(SP)(BP*8), X15, K2, X30 // 6262050a53b4ec11000000
VPDPWSSDS 17(SP)(BP*4), X15, K2, X30 // 6262050a53b4ac11000000
VPDPWSSDS X13, X30, K2, X30 // 62420d0253f5
VPDPWSSDS X6, X30, K2, X30 // 62620d0253f6
VPDPWSSDS X12, X30, K2, X30 // 62420d0253f4
VPDPWSSDS 17(SP)(BP*8), X30, K2, X30 // 62620d0253b4ec11000000
VPDPWSSDS 17(SP)(BP*4), X30, K2, X30 // 62620d0253b4ac11000000
VPDPWSSDS X13, X11, K2, X3 // 62d2250a53dd
VPDPWSSDS X6, X11, K2, X3 // 62f2250a53de
VPDPWSSDS X12, X11, K2, X3 // 62d2250a53dc
VPDPWSSDS 17(SP)(BP*8), X11, K2, X3 // 62f2250a539cec11000000
VPDPWSSDS 17(SP)(BP*4), X11, K2, X3 // 62f2250a539cac11000000
VPDPWSSDS X13, X15, K2, X3 // 62d2050a53dd
VPDPWSSDS X6, X15, K2, X3 // 62f2050a53de
VPDPWSSDS X12, X15, K2, X3 // 62d2050a53dc
VPDPWSSDS 17(SP)(BP*8), X15, K2, X3 // 62f2050a539cec11000000
VPDPWSSDS 17(SP)(BP*4), X15, K2, X3 // 62f2050a539cac11000000
VPDPWSSDS X13, X30, K2, X3 // 62d20d0253dd
VPDPWSSDS X6, X30, K2, X3 // 62f20d0253de
VPDPWSSDS X12, X30, K2, X3 // 62d20d0253dc
VPDPWSSDS 17(SP)(BP*8), X30, K2, X3 // 62f20d02539cec11000000
VPDPWSSDS 17(SP)(BP*4), X30, K2, X3 // 62f20d02539cac11000000
VPDPWSSDS Y0, Y6, K1, Y9 // 62724d2953c8
VPDPWSSDS Y19, Y6, K1, Y9 // 62324d2953cb
VPDPWSSDS Y31, Y6, K1, Y9 // 62124d2953cf
VPDPWSSDS (R8), Y6, K1, Y9 // 62524d295308
VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y9 // 62724d29538c5a0f000000
VPDPWSSDS Y0, Y1, K1, Y9 // 6272752953c8
VPDPWSSDS Y19, Y1, K1, Y9 // 6232752953cb
VPDPWSSDS Y31, Y1, K1, Y9 // 6212752953cf
VPDPWSSDS (R8), Y1, K1, Y9 // 625275295308
VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y9 // 62727529538c5a0f000000
VPDPWSSDS Y0, Y9, K1, Y9 // 6272352953c8
VPDPWSSDS Y19, Y9, K1, Y9 // 6232352953cb
VPDPWSSDS Y31, Y9, K1, Y9 // 6212352953cf
VPDPWSSDS (R8), Y9, K1, Y9 // 625235295308
VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y9 // 62723529538c5a0f000000
VPDPWSSDS Y0, Y6, K1, Y14 // 62724d2953f0
VPDPWSSDS Y19, Y6, K1, Y14 // 62324d2953f3
VPDPWSSDS Y31, Y6, K1, Y14 // 62124d2953f7
VPDPWSSDS (R8), Y6, K1, Y14 // 62524d295330
VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y14 // 62724d2953b45a0f000000
VPDPWSSDS Y0, Y1, K1, Y14 // 6272752953f0
VPDPWSSDS Y19, Y1, K1, Y14 // 6232752953f3
VPDPWSSDS Y31, Y1, K1, Y14 // 6212752953f7
VPDPWSSDS (R8), Y1, K1, Y14 // 625275295330
VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y14 // 6272752953b45a0f000000
VPDPWSSDS Y0, Y9, K1, Y14 // 6272352953f0
VPDPWSSDS Y19, Y9, K1, Y14 // 6232352953f3
VPDPWSSDS Y31, Y9, K1, Y14 // 6212352953f7
VPDPWSSDS (R8), Y9, K1, Y14 // 625235295330
VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y14 // 6272352953b45a0f000000
VPDPWSSDS Y0, Y6, K1, Y1 // 62f24d2953c8
VPDPWSSDS Y19, Y6, K1, Y1 // 62b24d2953cb
VPDPWSSDS Y31, Y6, K1, Y1 // 62924d2953cf
VPDPWSSDS (R8), Y6, K1, Y1 // 62d24d295308
VPDPWSSDS 15(DX)(BX*2), Y6, K1, Y1 // 62f24d29538c5a0f000000
VPDPWSSDS Y0, Y1, K1, Y1 // 62f2752953c8
VPDPWSSDS Y19, Y1, K1, Y1 // 62b2752953cb
VPDPWSSDS Y31, Y1, K1, Y1 // 6292752953cf
VPDPWSSDS (R8), Y1, K1, Y1 // 62d275295308
VPDPWSSDS 15(DX)(BX*2), Y1, K1, Y1 // 62f27529538c5a0f000000
VPDPWSSDS Y0, Y9, K1, Y1 // 62f2352953c8
VPDPWSSDS Y19, Y9, K1, Y1 // 62b2352953cb
VPDPWSSDS Y31, Y9, K1, Y1 // 6292352953cf
VPDPWSSDS (R8), Y9, K1, Y1 // 62d235295308
VPDPWSSDS 15(DX)(BX*2), Y9, K1, Y1 // 62f23529538c5a0f000000
VPDPWSSDS Z6, Z9, K2, Z12 // 6272354a53e6
VPDPWSSDS Z25, Z9, K2, Z12 // 6212354a53e1
VPDPWSSDS 17(SP), Z9, K2, Z12 // 6272354a53a42411000000
VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z12 // 6272354a53a4b5efffffff
VPDPWSSDS Z6, Z12, K2, Z12 // 62721d4a53e6
VPDPWSSDS Z25, Z12, K2, Z12 // 62121d4a53e1
VPDPWSSDS 17(SP), Z12, K2, Z12 // 62721d4a53a42411000000
VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z12 // 62721d4a53a4b5efffffff
VPDPWSSDS Z6, Z9, K2, Z17 // 62e2354a53ce
VPDPWSSDS Z25, Z9, K2, Z17 // 6282354a53c9
VPDPWSSDS 17(SP), Z9, K2, Z17 // 62e2354a538c2411000000
VPDPWSSDS -17(BP)(SI*4), Z9, K2, Z17 // 62e2354a538cb5efffffff
VPDPWSSDS Z6, Z12, K2, Z17 // 62e21d4a53ce
VPDPWSSDS Z25, Z12, K2, Z17 // 62821d4a53c9
VPDPWSSDS 17(SP), Z12, K2, Z17 // 62e21d4a538c2411000000
VPDPWSSDS -17(BP)(SI*4), Z12, K2, Z17 // 62e21d4a538cb5efffffff
RET
......@@ -3,80 +3,80 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512_vpopcntdq(SB), NOSPLIT, $0
//TODO: VPOPCNTD X12, K2, X8 // 62527d0a55c4
//TODO: VPOPCNTD X16, K2, X8 // 62327d0a55c0
//TODO: VPOPCNTD X23, K2, X8 // 62327d0a55c7
//TODO: VPOPCNTD (R14), K2, X8 // 62527d0a5506
//TODO: VPOPCNTD -7(DI)(R8*8), K2, X8 // 62327d0a5584c7f9ffffff
//TODO: VPOPCNTD X12, K2, X26 // 62427d0a55d4
//TODO: VPOPCNTD X16, K2, X26 // 62227d0a55d0
//TODO: VPOPCNTD X23, K2, X26 // 62227d0a55d7
//TODO: VPOPCNTD (R14), K2, X26 // 62427d0a5516
//TODO: VPOPCNTD -7(DI)(R8*8), K2, X26 // 62227d0a5594c7f9ffffff
//TODO: VPOPCNTD X12, K2, X23 // 62c27d0a55fc
//TODO: VPOPCNTD X16, K2, X23 // 62a27d0a55f8
//TODO: VPOPCNTD X23, K2, X23 // 62a27d0a55ff
//TODO: VPOPCNTD (R14), K2, X23 // 62c27d0a553e
//TODO: VPOPCNTD -7(DI)(R8*8), K2, X23 // 62a27d0a55bcc7f9ffffff
//TODO: VPOPCNTD Y22, K5, Y26 // 62227d2d55d6
//TODO: VPOPCNTD Y3, K5, Y26 // 62627d2d55d3
//TODO: VPOPCNTD Y15, K5, Y26 // 62427d2d55d7
//TODO: VPOPCNTD -15(R14)(R15*1), K5, Y26 // 62027d2d55943ef1ffffff
//TODO: VPOPCNTD -15(BX), K5, Y26 // 62627d2d5593f1ffffff
//TODO: VPOPCNTD Y22, K5, Y30 // 62227d2d55f6
//TODO: VPOPCNTD Y3, K5, Y30 // 62627d2d55f3
//TODO: VPOPCNTD Y15, K5, Y30 // 62427d2d55f7
//TODO: VPOPCNTD -15(R14)(R15*1), K5, Y30 // 62027d2d55b43ef1ffffff
//TODO: VPOPCNTD -15(BX), K5, Y30 // 62627d2d55b3f1ffffff
//TODO: VPOPCNTD Y22, K5, Y12 // 62327d2d55e6
//TODO: VPOPCNTD Y3, K5, Y12 // 62727d2d55e3
//TODO: VPOPCNTD Y15, K5, Y12 // 62527d2d55e7
//TODO: VPOPCNTD -15(R14)(R15*1), K5, Y12 // 62127d2d55a43ef1ffffff
//TODO: VPOPCNTD -15(BX), K5, Y12 // 62727d2d55a3f1ffffff
//TODO: VPOPCNTD Z2, K3, Z22 // 62e27d4b55f2
//TODO: VPOPCNTD Z31, K3, Z22 // 62827d4b55f7
//TODO: VPOPCNTD 7(SI)(DI*4), K3, Z22 // 62e27d4b55b4be07000000
//TODO: VPOPCNTD -7(DI)(R8*2), K3, Z22 // 62a27d4b55b447f9ffffff
//TODO: VPOPCNTD Z2, K3, Z7 // 62f27d4b55fa
//TODO: VPOPCNTD Z31, K3, Z7 // 62927d4b55ff
//TODO: VPOPCNTD 7(SI)(DI*4), K3, Z7 // 62f27d4b55bcbe07000000
//TODO: VPOPCNTD -7(DI)(R8*2), K3, Z7 // 62b27d4b55bc47f9ffffff
//TODO: VPOPCNTQ X24, K4, X23 // 6282fd0c55f8
//TODO: VPOPCNTQ X14, K4, X23 // 62c2fd0c55fe
//TODO: VPOPCNTQ X0, K4, X23 // 62e2fd0c55f8
//TODO: VPOPCNTQ 99(R15)(R15*4), K4, X23 // 6282fd0c55bcbf63000000
//TODO: VPOPCNTQ 15(DX), K4, X23 // 62e2fd0c55ba0f000000
//TODO: VPOPCNTQ X24, K4, X11 // 6212fd0c55d8
//TODO: VPOPCNTQ X14, K4, X11 // 6252fd0c55de
//TODO: VPOPCNTQ X0, K4, X11 // 6272fd0c55d8
//TODO: VPOPCNTQ 99(R15)(R15*4), K4, X11 // 6212fd0c559cbf63000000
//TODO: VPOPCNTQ 15(DX), K4, X11 // 6272fd0c559a0f000000
//TODO: VPOPCNTQ X24, K4, X31 // 6202fd0c55f8
//TODO: VPOPCNTQ X14, K4, X31 // 6242fd0c55fe
//TODO: VPOPCNTQ X0, K4, X31 // 6262fd0c55f8
//TODO: VPOPCNTQ 99(R15)(R15*4), K4, X31 // 6202fd0c55bcbf63000000
//TODO: VPOPCNTQ 15(DX), K4, X31 // 6262fd0c55ba0f000000
//TODO: VPOPCNTQ Y5, K2, Y1 // 62f2fd2a55cd
//TODO: VPOPCNTQ Y17, K2, Y1 // 62b2fd2a55c9
//TODO: VPOPCNTQ Y13, K2, Y1 // 62d2fd2a55cd
//TODO: VPOPCNTQ 7(AX)(CX*4), K2, Y1 // 62f2fd2a558c8807000000
//TODO: VPOPCNTQ 7(AX)(CX*1), K2, Y1 // 62f2fd2a558c0807000000
//TODO: VPOPCNTQ Y5, K2, Y27 // 6262fd2a55dd
//TODO: VPOPCNTQ Y17, K2, Y27 // 6222fd2a55d9
//TODO: VPOPCNTQ Y13, K2, Y27 // 6242fd2a55dd
//TODO: VPOPCNTQ 7(AX)(CX*4), K2, Y27 // 6262fd2a559c8807000000
//TODO: VPOPCNTQ 7(AX)(CX*1), K2, Y27 // 6262fd2a559c0807000000
//TODO: VPOPCNTQ Y5, K2, Y19 // 62e2fd2a55dd
//TODO: VPOPCNTQ Y17, K2, Y19 // 62a2fd2a55d9
//TODO: VPOPCNTQ Y13, K2, Y19 // 62c2fd2a55dd
//TODO: VPOPCNTQ 7(AX)(CX*4), K2, Y19 // 62e2fd2a559c8807000000
//TODO: VPOPCNTQ 7(AX)(CX*1), K2, Y19 // 62e2fd2a559c0807000000
//TODO: VPOPCNTQ Z1, K2, Z20 // 62e2fd4a55e1
//TODO: VPOPCNTQ Z3, K2, Z20 // 62e2fd4a55e3
//TODO: VPOPCNTQ 17(SP), K2, Z20 // 62e2fd4a55a42411000000
//TODO: VPOPCNTQ -17(BP)(SI*4), K2, Z20 // 62e2fd4a55a4b5efffffff
//TODO: VPOPCNTQ Z1, K2, Z9 // 6272fd4a55c9
//TODO: VPOPCNTQ Z3, K2, Z9 // 6272fd4a55cb
//TODO: VPOPCNTQ 17(SP), K2, Z9 // 6272fd4a558c2411000000
//TODO: VPOPCNTQ -17(BP)(SI*4), K2, Z9 // 6272fd4a558cb5efffffff
VPOPCNTD X12, K2, X8 // 62527d0a55c4
VPOPCNTD X16, K2, X8 // 62327d0a55c0
VPOPCNTD X23, K2, X8 // 62327d0a55c7
VPOPCNTD (R14), K2, X8 // 62527d0a5506
VPOPCNTD -7(DI)(R8*8), K2, X8 // 62327d0a5584c7f9ffffff
VPOPCNTD X12, K2, X26 // 62427d0a55d4
VPOPCNTD X16, K2, X26 // 62227d0a55d0
VPOPCNTD X23, K2, X26 // 62227d0a55d7
VPOPCNTD (R14), K2, X26 // 62427d0a5516
VPOPCNTD -7(DI)(R8*8), K2, X26 // 62227d0a5594c7f9ffffff
VPOPCNTD X12, K2, X23 // 62c27d0a55fc
VPOPCNTD X16, K2, X23 // 62a27d0a55f8
VPOPCNTD X23, K2, X23 // 62a27d0a55ff
VPOPCNTD (R14), K2, X23 // 62c27d0a553e
VPOPCNTD -7(DI)(R8*8), K2, X23 // 62a27d0a55bcc7f9ffffff
VPOPCNTD Y22, K5, Y26 // 62227d2d55d6
VPOPCNTD Y3, K5, Y26 // 62627d2d55d3
VPOPCNTD Y15, K5, Y26 // 62427d2d55d7
VPOPCNTD -15(R14)(R15*1), K5, Y26 // 62027d2d55943ef1ffffff
VPOPCNTD -15(BX), K5, Y26 // 62627d2d5593f1ffffff
VPOPCNTD Y22, K5, Y30 // 62227d2d55f6
VPOPCNTD Y3, K5, Y30 // 62627d2d55f3
VPOPCNTD Y15, K5, Y30 // 62427d2d55f7
VPOPCNTD -15(R14)(R15*1), K5, Y30 // 62027d2d55b43ef1ffffff
VPOPCNTD -15(BX), K5, Y30 // 62627d2d55b3f1ffffff
VPOPCNTD Y22, K5, Y12 // 62327d2d55e6
VPOPCNTD Y3, K5, Y12 // 62727d2d55e3
VPOPCNTD Y15, K5, Y12 // 62527d2d55e7
VPOPCNTD -15(R14)(R15*1), K5, Y12 // 62127d2d55a43ef1ffffff
VPOPCNTD -15(BX), K5, Y12 // 62727d2d55a3f1ffffff
VPOPCNTD Z2, K3, Z22 // 62e27d4b55f2
VPOPCNTD Z31, K3, Z22 // 62827d4b55f7
VPOPCNTD 7(SI)(DI*4), K3, Z22 // 62e27d4b55b4be07000000
VPOPCNTD -7(DI)(R8*2), K3, Z22 // 62a27d4b55b447f9ffffff
VPOPCNTD Z2, K3, Z7 // 62f27d4b55fa
VPOPCNTD Z31, K3, Z7 // 62927d4b55ff
VPOPCNTD 7(SI)(DI*4), K3, Z7 // 62f27d4b55bcbe07000000
VPOPCNTD -7(DI)(R8*2), K3, Z7 // 62b27d4b55bc47f9ffffff
VPOPCNTQ X24, K4, X23 // 6282fd0c55f8
VPOPCNTQ X14, K4, X23 // 62c2fd0c55fe
VPOPCNTQ X0, K4, X23 // 62e2fd0c55f8
VPOPCNTQ 99(R15)(R15*4), K4, X23 // 6282fd0c55bcbf63000000
VPOPCNTQ 15(DX), K4, X23 // 62e2fd0c55ba0f000000
VPOPCNTQ X24, K4, X11 // 6212fd0c55d8
VPOPCNTQ X14, K4, X11 // 6252fd0c55de
VPOPCNTQ X0, K4, X11 // 6272fd0c55d8
VPOPCNTQ 99(R15)(R15*4), K4, X11 // 6212fd0c559cbf63000000
VPOPCNTQ 15(DX), K4, X11 // 6272fd0c559a0f000000
VPOPCNTQ X24, K4, X31 // 6202fd0c55f8
VPOPCNTQ X14, K4, X31 // 6242fd0c55fe
VPOPCNTQ X0, K4, X31 // 6262fd0c55f8
VPOPCNTQ 99(R15)(R15*4), K4, X31 // 6202fd0c55bcbf63000000
VPOPCNTQ 15(DX), K4, X31 // 6262fd0c55ba0f000000
VPOPCNTQ Y5, K2, Y1 // 62f2fd2a55cd
VPOPCNTQ Y17, K2, Y1 // 62b2fd2a55c9
VPOPCNTQ Y13, K2, Y1 // 62d2fd2a55cd
VPOPCNTQ 7(AX)(CX*4), K2, Y1 // 62f2fd2a558c8807000000
VPOPCNTQ 7(AX)(CX*1), K2, Y1 // 62f2fd2a558c0807000000
VPOPCNTQ Y5, K2, Y27 // 6262fd2a55dd
VPOPCNTQ Y17, K2, Y27 // 6222fd2a55d9
VPOPCNTQ Y13, K2, Y27 // 6242fd2a55dd
VPOPCNTQ 7(AX)(CX*4), K2, Y27 // 6262fd2a559c8807000000
VPOPCNTQ 7(AX)(CX*1), K2, Y27 // 6262fd2a559c0807000000
VPOPCNTQ Y5, K2, Y19 // 62e2fd2a55dd
VPOPCNTQ Y17, K2, Y19 // 62a2fd2a55d9
VPOPCNTQ Y13, K2, Y19 // 62c2fd2a55dd
VPOPCNTQ 7(AX)(CX*4), K2, Y19 // 62e2fd2a559c8807000000
VPOPCNTQ 7(AX)(CX*1), K2, Y19 // 62e2fd2a559c0807000000
VPOPCNTQ Z1, K2, Z20 // 62e2fd4a55e1
VPOPCNTQ Z3, K2, Z20 // 62e2fd4a55e3
VPOPCNTQ 17(SP), K2, Z20 // 62e2fd4a55a42411000000
VPOPCNTQ -17(BP)(SI*4), K2, Z20 // 62e2fd4a55a4b5efffffff
VPOPCNTQ Z1, K2, Z9 // 6272fd4a55c9
VPOPCNTQ Z3, K2, Z9 // 6272fd4a55cb
VPOPCNTQ 17(SP), K2, Z9 // 6272fd4a558c2411000000
VPOPCNTQ -17(BP)(SI*4), K2, Z9 // 6272fd4a558cb5efffffff
RET
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -3,188 +3,188 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512cd(SB), NOSPLIT, $0
//TODO: VPBROADCASTMB2Q K1, X25 // 6262fe082ac9
//TODO: VPBROADCASTMB2Q K5, X25 // 6262fe082acd
//TODO: VPBROADCASTMB2Q K1, X11 // 6272fe082ad9
//TODO: VPBROADCASTMB2Q K5, X11 // 6272fe082add
//TODO: VPBROADCASTMB2Q K1, X17 // 62e2fe082ac9
//TODO: VPBROADCASTMB2Q K5, X17 // 62e2fe082acd
//TODO: VPBROADCASTMB2Q K3, Y0 // 62f2fe282ac3
//TODO: VPBROADCASTMB2Q K1, Y0 // 62f2fe282ac1
//TODO: VPBROADCASTMB2Q K3, Y19 // 62e2fe282adb
//TODO: VPBROADCASTMB2Q K1, Y19 // 62e2fe282ad9
//TODO: VPBROADCASTMB2Q K3, Y31 // 6262fe282afb
//TODO: VPBROADCASTMB2Q K1, Y31 // 6262fe282af9
//TODO: VPBROADCASTMB2Q K5, Z21 // 62e2fe482aed
//TODO: VPBROADCASTMB2Q K4, Z21 // 62e2fe482aec
//TODO: VPBROADCASTMB2Q K5, Z8 // 6272fe482ac5
//TODO: VPBROADCASTMB2Q K4, Z8 // 6272fe482ac4
//TODO: VPBROADCASTMW2D K7, X18 // 62e27e083ad7
//TODO: VPBROADCASTMW2D K6, X18 // 62e27e083ad6
//TODO: VPBROADCASTMW2D K7, X11 // 62727e083adf
//TODO: VPBROADCASTMW2D K6, X11 // 62727e083ade
//TODO: VPBROADCASTMW2D K7, X9 // 62727e083acf
//TODO: VPBROADCASTMW2D K6, X9 // 62727e083ace
//TODO: VPBROADCASTMW2D K4, Y22 // 62e27e283af4
//TODO: VPBROADCASTMW2D K6, Y22 // 62e27e283af6
//TODO: VPBROADCASTMW2D K4, Y9 // 62727e283acc
//TODO: VPBROADCASTMW2D K6, Y9 // 62727e283ace
//TODO: VPBROADCASTMW2D K4, Y23 // 62e27e283afc
//TODO: VPBROADCASTMW2D K6, Y23 // 62e27e283afe
//TODO: VPBROADCASTMW2D K0, Z16 // 62e27e483ac0
//TODO: VPBROADCASTMW2D K7, Z16 // 62e27e483ac7
//TODO: VPBROADCASTMW2D K0, Z9 // 62727e483ac8
//TODO: VPBROADCASTMW2D K7, Z9 // 62727e483acf
//TODO: VPCONFLICTD X6, K6, X6 // 62f27d0ec4f6
//TODO: VPCONFLICTD X1, K6, X6 // 62f27d0ec4f1
//TODO: VPCONFLICTD X8, K6, X6 // 62d27d0ec4f0
//TODO: VPCONFLICTD 15(R8), K6, X6 // 62d27d0ec4b00f000000
//TODO: VPCONFLICTD (BP), K6, X6 // 62f27d0ec47500
//TODO: VPCONFLICTD X6, K6, X17 // 62e27d0ec4ce
//TODO: VPCONFLICTD X1, K6, X17 // 62e27d0ec4c9
//TODO: VPCONFLICTD X8, K6, X17 // 62c27d0ec4c8
//TODO: VPCONFLICTD 15(R8), K6, X17 // 62c27d0ec4880f000000
//TODO: VPCONFLICTD (BP), K6, X17 // 62e27d0ec44d00
//TODO: VPCONFLICTD X6, K6, X28 // 62627d0ec4e6
//TODO: VPCONFLICTD X1, K6, X28 // 62627d0ec4e1
//TODO: VPCONFLICTD X8, K6, X28 // 62427d0ec4e0
//TODO: VPCONFLICTD 15(R8), K6, X28 // 62427d0ec4a00f000000
//TODO: VPCONFLICTD (BP), K6, X28 // 62627d0ec46500
//TODO: VPCONFLICTD Y14, K3, Y2 // 62d27d2bc4d6
//TODO: VPCONFLICTD Y8, K3, Y2 // 62d27d2bc4d0
//TODO: VPCONFLICTD Y20, K3, Y2 // 62b27d2bc4d4
//TODO: VPCONFLICTD -7(CX), K3, Y2 // 62f27d2bc491f9ffffff
//TODO: VPCONFLICTD 15(DX)(BX*4), K3, Y2 // 62f27d2bc4949a0f000000
//TODO: VPCONFLICTD Y14, K3, Y7 // 62d27d2bc4fe
//TODO: VPCONFLICTD Y8, K3, Y7 // 62d27d2bc4f8
//TODO: VPCONFLICTD Y20, K3, Y7 // 62b27d2bc4fc
//TODO: VPCONFLICTD -7(CX), K3, Y7 // 62f27d2bc4b9f9ffffff
//TODO: VPCONFLICTD 15(DX)(BX*4), K3, Y7 // 62f27d2bc4bc9a0f000000
//TODO: VPCONFLICTD Y14, K3, Y21 // 62c27d2bc4ee
//TODO: VPCONFLICTD Y8, K3, Y21 // 62c27d2bc4e8
//TODO: VPCONFLICTD Y20, K3, Y21 // 62a27d2bc4ec
//TODO: VPCONFLICTD -7(CX), K3, Y21 // 62e27d2bc4a9f9ffffff
//TODO: VPCONFLICTD 15(DX)(BX*4), K3, Y21 // 62e27d2bc4ac9a0f000000
//TODO: VPCONFLICTD Z11, K7, Z21 // 62c27d4fc4eb
//TODO: VPCONFLICTD Z25, K7, Z21 // 62827d4fc4e9
//TODO: VPCONFLICTD -15(R14)(R15*1), K7, Z21 // 62827d4fc4ac3ef1ffffff
//TODO: VPCONFLICTD -15(BX), K7, Z21 // 62e27d4fc4abf1ffffff
//TODO: VPCONFLICTD Z11, K7, Z13 // 62527d4fc4eb
//TODO: VPCONFLICTD Z25, K7, Z13 // 62127d4fc4e9
//TODO: VPCONFLICTD -15(R14)(R15*1), K7, Z13 // 62127d4fc4ac3ef1ffffff
//TODO: VPCONFLICTD -15(BX), K7, Z13 // 62727d4fc4abf1ffffff
//TODO: VPCONFLICTQ X11, K4, X8 // 6252fd0cc4c3
//TODO: VPCONFLICTQ X16, K4, X8 // 6232fd0cc4c0
//TODO: VPCONFLICTQ X6, K4, X8 // 6272fd0cc4c6
//TODO: VPCONFLICTQ 15(R8)(R14*8), K4, X8 // 6212fd0cc484f00f000000
//TODO: VPCONFLICTQ -15(R14)(R15*2), K4, X8 // 6212fd0cc4847ef1ffffff
//TODO: VPCONFLICTQ X11, K4, X6 // 62d2fd0cc4f3
//TODO: VPCONFLICTQ X16, K4, X6 // 62b2fd0cc4f0
//TODO: VPCONFLICTQ X6, K4, X6 // 62f2fd0cc4f6
//TODO: VPCONFLICTQ 15(R8)(R14*8), K4, X6 // 6292fd0cc4b4f00f000000
//TODO: VPCONFLICTQ -15(R14)(R15*2), K4, X6 // 6292fd0cc4b47ef1ffffff
//TODO: VPCONFLICTQ X11, K4, X0 // 62d2fd0cc4c3
//TODO: VPCONFLICTQ X16, K4, X0 // 62b2fd0cc4c0
//TODO: VPCONFLICTQ X6, K4, X0 // 62f2fd0cc4c6
//TODO: VPCONFLICTQ 15(R8)(R14*8), K4, X0 // 6292fd0cc484f00f000000
//TODO: VPCONFLICTQ -15(R14)(R15*2), K4, X0 // 6292fd0cc4847ef1ffffff
//TODO: VPCONFLICTQ Y5, K4, Y11 // 6272fd2cc4dd
//TODO: VPCONFLICTQ Y18, K4, Y11 // 6232fd2cc4da
//TODO: VPCONFLICTQ Y20, K4, Y11 // 6232fd2cc4dc
//TODO: VPCONFLICTQ 99(R15)(R15*8), K4, Y11 // 6212fd2cc49cff63000000
//TODO: VPCONFLICTQ 7(AX)(CX*8), K4, Y11 // 6272fd2cc49cc807000000
//TODO: VPCONFLICTQ Y5, K4, Y24 // 6262fd2cc4c5
//TODO: VPCONFLICTQ Y18, K4, Y24 // 6222fd2cc4c2
//TODO: VPCONFLICTQ Y20, K4, Y24 // 6222fd2cc4c4
//TODO: VPCONFLICTQ 99(R15)(R15*8), K4, Y24 // 6202fd2cc484ff63000000
//TODO: VPCONFLICTQ 7(AX)(CX*8), K4, Y24 // 6262fd2cc484c807000000
//TODO: VPCONFLICTQ Y5, K4, Y1 // 62f2fd2cc4cd
//TODO: VPCONFLICTQ Y18, K4, Y1 // 62b2fd2cc4ca
//TODO: VPCONFLICTQ Y20, K4, Y1 // 62b2fd2cc4cc
//TODO: VPCONFLICTQ 99(R15)(R15*8), K4, Y1 // 6292fd2cc48cff63000000
//TODO: VPCONFLICTQ 7(AX)(CX*8), K4, Y1 // 62f2fd2cc48cc807000000
//TODO: VPCONFLICTQ Z27, K7, Z3 // 6292fd4fc4db
//TODO: VPCONFLICTQ Z15, K7, Z3 // 62d2fd4fc4df
//TODO: VPCONFLICTQ 7(AX)(CX*4), K7, Z3 // 62f2fd4fc49c8807000000
//TODO: VPCONFLICTQ 7(AX)(CX*1), K7, Z3 // 62f2fd4fc49c0807000000
//TODO: VPCONFLICTQ Z27, K7, Z12 // 6212fd4fc4e3
//TODO: VPCONFLICTQ Z15, K7, Z12 // 6252fd4fc4e7
//TODO: VPCONFLICTQ 7(AX)(CX*4), K7, Z12 // 6272fd4fc4a48807000000
//TODO: VPCONFLICTQ 7(AX)(CX*1), K7, Z12 // 6272fd4fc4a40807000000
//TODO: VPLZCNTD X3, K3, X17 // 62e27d0b44cb
//TODO: VPLZCNTD X26, K3, X17 // 62827d0b44ca
//TODO: VPLZCNTD X23, K3, X17 // 62a27d0b44cf
//TODO: VPLZCNTD 15(DX)(BX*1), K3, X17 // 62e27d0b448c1a0f000000
//TODO: VPLZCNTD -7(CX)(DX*2), K3, X17 // 62e27d0b448c51f9ffffff
//TODO: VPLZCNTD X3, K3, X15 // 62727d0b44fb
//TODO: VPLZCNTD X26, K3, X15 // 62127d0b44fa
//TODO: VPLZCNTD X23, K3, X15 // 62327d0b44ff
//TODO: VPLZCNTD 15(DX)(BX*1), K3, X15 // 62727d0b44bc1a0f000000
//TODO: VPLZCNTD -7(CX)(DX*2), K3, X15 // 62727d0b44bc51f9ffffff
//TODO: VPLZCNTD X3, K3, X8 // 62727d0b44c3
//TODO: VPLZCNTD X26, K3, X8 // 62127d0b44c2
//TODO: VPLZCNTD X23, K3, X8 // 62327d0b44c7
//TODO: VPLZCNTD 15(DX)(BX*1), K3, X8 // 62727d0b44841a0f000000
//TODO: VPLZCNTD -7(CX)(DX*2), K3, X8 // 62727d0b448451f9ffffff
//TODO: VPLZCNTD Y5, K3, Y20 // 62e27d2b44e5
//TODO: VPLZCNTD Y28, K3, Y20 // 62827d2b44e4
//TODO: VPLZCNTD Y7, K3, Y20 // 62e27d2b44e7
//TODO: VPLZCNTD (BX), K3, Y20 // 62e27d2b4423
//TODO: VPLZCNTD -17(BP)(SI*1), K3, Y20 // 62e27d2b44a435efffffff
//TODO: VPLZCNTD Y5, K3, Y12 // 62727d2b44e5
//TODO: VPLZCNTD Y28, K3, Y12 // 62127d2b44e4
//TODO: VPLZCNTD Y7, K3, Y12 // 62727d2b44e7
//TODO: VPLZCNTD (BX), K3, Y12 // 62727d2b4423
//TODO: VPLZCNTD -17(BP)(SI*1), K3, Y12 // 62727d2b44a435efffffff
//TODO: VPLZCNTD Y5, K3, Y3 // 62f27d2b44dd
//TODO: VPLZCNTD Y28, K3, Y3 // 62927d2b44dc
//TODO: VPLZCNTD Y7, K3, Y3 // 62f27d2b44df
//TODO: VPLZCNTD (BX), K3, Y3 // 62f27d2b441b
//TODO: VPLZCNTD -17(BP)(SI*1), K3, Y3 // 62f27d2b449c35efffffff
//TODO: VPLZCNTD Z21, K3, Z3 // 62b27d4b44dd
//TODO: VPLZCNTD Z13, K3, Z3 // 62d27d4b44dd
//TODO: VPLZCNTD 17(SP)(BP*8), K3, Z3 // 62f27d4b449cec11000000
//TODO: VPLZCNTD 17(SP)(BP*4), K3, Z3 // 62f27d4b449cac11000000
//TODO: VPLZCNTD Z21, K3, Z0 // 62b27d4b44c5
//TODO: VPLZCNTD Z13, K3, Z0 // 62d27d4b44c5
//TODO: VPLZCNTD 17(SP)(BP*8), K3, Z0 // 62f27d4b4484ec11000000
//TODO: VPLZCNTD 17(SP)(BP*4), K3, Z0 // 62f27d4b4484ac11000000
//TODO: VPLZCNTQ X9, K2, X13 // 6252fd0a44e9
//TODO: VPLZCNTQ X15, K2, X13 // 6252fd0a44ef
//TODO: VPLZCNTQ X26, K2, X13 // 6212fd0a44ea
//TODO: VPLZCNTQ -17(BP), K2, X13 // 6272fd0a44adefffffff
//TODO: VPLZCNTQ -15(R14)(R15*8), K2, X13 // 6212fd0a44acfef1ffffff
//TODO: VPLZCNTQ X9, K2, X28 // 6242fd0a44e1
//TODO: VPLZCNTQ X15, K2, X28 // 6242fd0a44e7
//TODO: VPLZCNTQ X26, K2, X28 // 6202fd0a44e2
//TODO: VPLZCNTQ -17(BP), K2, X28 // 6262fd0a44a5efffffff
//TODO: VPLZCNTQ -15(R14)(R15*8), K2, X28 // 6202fd0a44a4fef1ffffff
//TODO: VPLZCNTQ X9, K2, X24 // 6242fd0a44c1
//TODO: VPLZCNTQ X15, K2, X24 // 6242fd0a44c7
//TODO: VPLZCNTQ X26, K2, X24 // 6202fd0a44c2
//TODO: VPLZCNTQ -17(BP), K2, X24 // 6262fd0a4485efffffff
//TODO: VPLZCNTQ -15(R14)(R15*8), K2, X24 // 6202fd0a4484fef1ffffff
//TODO: VPLZCNTQ Y12, K1, Y0 // 62d2fd2944c4
//TODO: VPLZCNTQ Y1, K1, Y0 // 62f2fd2944c1
//TODO: VPLZCNTQ Y14, K1, Y0 // 62d2fd2944c6
//TODO: VPLZCNTQ 15(R8)(R14*4), K1, Y0 // 6292fd294484b00f000000
//TODO: VPLZCNTQ -7(CX)(DX*4), K1, Y0 // 62f2fd29448491f9ffffff
//TODO: VPLZCNTQ Y12, K1, Y22 // 62c2fd2944f4
//TODO: VPLZCNTQ Y1, K1, Y22 // 62e2fd2944f1
//TODO: VPLZCNTQ Y14, K1, Y22 // 62c2fd2944f6
//TODO: VPLZCNTQ 15(R8)(R14*4), K1, Y22 // 6282fd2944b4b00f000000
//TODO: VPLZCNTQ -7(CX)(DX*4), K1, Y22 // 62e2fd2944b491f9ffffff
//TODO: VPLZCNTQ Y12, K1, Y13 // 6252fd2944ec
//TODO: VPLZCNTQ Y1, K1, Y13 // 6272fd2944e9
//TODO: VPLZCNTQ Y14, K1, Y13 // 6252fd2944ee
//TODO: VPLZCNTQ 15(R8)(R14*4), K1, Y13 // 6212fd2944acb00f000000
//TODO: VPLZCNTQ -7(CX)(DX*4), K1, Y13 // 6272fd2944ac91f9ffffff
//TODO: VPLZCNTQ Z3, K2, Z11 // 6272fd4a44db
//TODO: VPLZCNTQ Z12, K2, Z11 // 6252fd4a44dc
//TODO: VPLZCNTQ 7(SI)(DI*4), K2, Z11 // 6272fd4a449cbe07000000
//TODO: VPLZCNTQ -7(DI)(R8*2), K2, Z11 // 6232fd4a449c47f9ffffff
//TODO: VPLZCNTQ Z3, K2, Z25 // 6262fd4a44cb
//TODO: VPLZCNTQ Z12, K2, Z25 // 6242fd4a44cc
//TODO: VPLZCNTQ 7(SI)(DI*4), K2, Z25 // 6262fd4a448cbe07000000
//TODO: VPLZCNTQ -7(DI)(R8*2), K2, Z25 // 6222fd4a448c47f9ffffff
VPBROADCASTMB2Q K1, X25 // 6262fe082ac9
VPBROADCASTMB2Q K5, X25 // 6262fe082acd
VPBROADCASTMB2Q K1, X11 // 6272fe082ad9
VPBROADCASTMB2Q K5, X11 // 6272fe082add
VPBROADCASTMB2Q K1, X17 // 62e2fe082ac9
VPBROADCASTMB2Q K5, X17 // 62e2fe082acd
VPBROADCASTMB2Q K3, Y0 // 62f2fe282ac3
VPBROADCASTMB2Q K1, Y0 // 62f2fe282ac1
VPBROADCASTMB2Q K3, Y19 // 62e2fe282adb
VPBROADCASTMB2Q K1, Y19 // 62e2fe282ad9
VPBROADCASTMB2Q K3, Y31 // 6262fe282afb
VPBROADCASTMB2Q K1, Y31 // 6262fe282af9
VPBROADCASTMB2Q K5, Z21 // 62e2fe482aed
VPBROADCASTMB2Q K4, Z21 // 62e2fe482aec
VPBROADCASTMB2Q K5, Z8 // 6272fe482ac5
VPBROADCASTMB2Q K4, Z8 // 6272fe482ac4
VPBROADCASTMW2D K7, X18 // 62e27e083ad7
VPBROADCASTMW2D K6, X18 // 62e27e083ad6
VPBROADCASTMW2D K7, X11 // 62727e083adf
VPBROADCASTMW2D K6, X11 // 62727e083ade
VPBROADCASTMW2D K7, X9 // 62727e083acf
VPBROADCASTMW2D K6, X9 // 62727e083ace
VPBROADCASTMW2D K4, Y22 // 62e27e283af4
VPBROADCASTMW2D K6, Y22 // 62e27e283af6
VPBROADCASTMW2D K4, Y9 // 62727e283acc
VPBROADCASTMW2D K6, Y9 // 62727e283ace
VPBROADCASTMW2D K4, Y23 // 62e27e283afc
VPBROADCASTMW2D K6, Y23 // 62e27e283afe
VPBROADCASTMW2D K0, Z16 // 62e27e483ac0
VPBROADCASTMW2D K7, Z16 // 62e27e483ac7
VPBROADCASTMW2D K0, Z9 // 62727e483ac8
VPBROADCASTMW2D K7, Z9 // 62727e483acf
VPCONFLICTD X6, K6, X6 // 62f27d0ec4f6
VPCONFLICTD X1, K6, X6 // 62f27d0ec4f1
VPCONFLICTD X8, K6, X6 // 62d27d0ec4f0
VPCONFLICTD 15(R8), K6, X6 // 62d27d0ec4b00f000000
VPCONFLICTD (BP), K6, X6 // 62f27d0ec47500
VPCONFLICTD X6, K6, X17 // 62e27d0ec4ce
VPCONFLICTD X1, K6, X17 // 62e27d0ec4c9
VPCONFLICTD X8, K6, X17 // 62c27d0ec4c8
VPCONFLICTD 15(R8), K6, X17 // 62c27d0ec4880f000000
VPCONFLICTD (BP), K6, X17 // 62e27d0ec44d00
VPCONFLICTD X6, K6, X28 // 62627d0ec4e6
VPCONFLICTD X1, K6, X28 // 62627d0ec4e1
VPCONFLICTD X8, K6, X28 // 62427d0ec4e0
VPCONFLICTD 15(R8), K6, X28 // 62427d0ec4a00f000000
VPCONFLICTD (BP), K6, X28 // 62627d0ec46500
VPCONFLICTD Y14, K3, Y2 // 62d27d2bc4d6
VPCONFLICTD Y8, K3, Y2 // 62d27d2bc4d0
VPCONFLICTD Y20, K3, Y2 // 62b27d2bc4d4
VPCONFLICTD -7(CX), K3, Y2 // 62f27d2bc491f9ffffff
VPCONFLICTD 15(DX)(BX*4), K3, Y2 // 62f27d2bc4949a0f000000
VPCONFLICTD Y14, K3, Y7 // 62d27d2bc4fe
VPCONFLICTD Y8, K3, Y7 // 62d27d2bc4f8
VPCONFLICTD Y20, K3, Y7 // 62b27d2bc4fc
VPCONFLICTD -7(CX), K3, Y7 // 62f27d2bc4b9f9ffffff
VPCONFLICTD 15(DX)(BX*4), K3, Y7 // 62f27d2bc4bc9a0f000000
VPCONFLICTD Y14, K3, Y21 // 62c27d2bc4ee
VPCONFLICTD Y8, K3, Y21 // 62c27d2bc4e8
VPCONFLICTD Y20, K3, Y21 // 62a27d2bc4ec
VPCONFLICTD -7(CX), K3, Y21 // 62e27d2bc4a9f9ffffff
VPCONFLICTD 15(DX)(BX*4), K3, Y21 // 62e27d2bc4ac9a0f000000
VPCONFLICTD Z11, K7, Z21 // 62c27d4fc4eb
VPCONFLICTD Z25, K7, Z21 // 62827d4fc4e9
VPCONFLICTD -15(R14)(R15*1), K7, Z21 // 62827d4fc4ac3ef1ffffff
VPCONFLICTD -15(BX), K7, Z21 // 62e27d4fc4abf1ffffff
VPCONFLICTD Z11, K7, Z13 // 62527d4fc4eb
VPCONFLICTD Z25, K7, Z13 // 62127d4fc4e9
VPCONFLICTD -15(R14)(R15*1), K7, Z13 // 62127d4fc4ac3ef1ffffff
VPCONFLICTD -15(BX), K7, Z13 // 62727d4fc4abf1ffffff
VPCONFLICTQ X11, K4, X8 // 6252fd0cc4c3
VPCONFLICTQ X16, K4, X8 // 6232fd0cc4c0
VPCONFLICTQ X6, K4, X8 // 6272fd0cc4c6
VPCONFLICTQ 15(R8)(R14*8), K4, X8 // 6212fd0cc484f00f000000
VPCONFLICTQ -15(R14)(R15*2), K4, X8 // 6212fd0cc4847ef1ffffff
VPCONFLICTQ X11, K4, X6 // 62d2fd0cc4f3
VPCONFLICTQ X16, K4, X6 // 62b2fd0cc4f0
VPCONFLICTQ X6, K4, X6 // 62f2fd0cc4f6
VPCONFLICTQ 15(R8)(R14*8), K4, X6 // 6292fd0cc4b4f00f000000
VPCONFLICTQ -15(R14)(R15*2), K4, X6 // 6292fd0cc4b47ef1ffffff
VPCONFLICTQ X11, K4, X0 // 62d2fd0cc4c3
VPCONFLICTQ X16, K4, X0 // 62b2fd0cc4c0
VPCONFLICTQ X6, K4, X0 // 62f2fd0cc4c6
VPCONFLICTQ 15(R8)(R14*8), K4, X0 // 6292fd0cc484f00f000000
VPCONFLICTQ -15(R14)(R15*2), K4, X0 // 6292fd0cc4847ef1ffffff
VPCONFLICTQ Y5, K4, Y11 // 6272fd2cc4dd
VPCONFLICTQ Y18, K4, Y11 // 6232fd2cc4da
VPCONFLICTQ Y20, K4, Y11 // 6232fd2cc4dc
VPCONFLICTQ 99(R15)(R15*8), K4, Y11 // 6212fd2cc49cff63000000
VPCONFLICTQ 7(AX)(CX*8), K4, Y11 // 6272fd2cc49cc807000000
VPCONFLICTQ Y5, K4, Y24 // 6262fd2cc4c5
VPCONFLICTQ Y18, K4, Y24 // 6222fd2cc4c2
VPCONFLICTQ Y20, K4, Y24 // 6222fd2cc4c4
VPCONFLICTQ 99(R15)(R15*8), K4, Y24 // 6202fd2cc484ff63000000
VPCONFLICTQ 7(AX)(CX*8), K4, Y24 // 6262fd2cc484c807000000
VPCONFLICTQ Y5, K4, Y1 // 62f2fd2cc4cd
VPCONFLICTQ Y18, K4, Y1 // 62b2fd2cc4ca
VPCONFLICTQ Y20, K4, Y1 // 62b2fd2cc4cc
VPCONFLICTQ 99(R15)(R15*8), K4, Y1 // 6292fd2cc48cff63000000
VPCONFLICTQ 7(AX)(CX*8), K4, Y1 // 62f2fd2cc48cc807000000
VPCONFLICTQ Z27, K7, Z3 // 6292fd4fc4db
VPCONFLICTQ Z15, K7, Z3 // 62d2fd4fc4df
VPCONFLICTQ 7(AX)(CX*4), K7, Z3 // 62f2fd4fc49c8807000000
VPCONFLICTQ 7(AX)(CX*1), K7, Z3 // 62f2fd4fc49c0807000000
VPCONFLICTQ Z27, K7, Z12 // 6212fd4fc4e3
VPCONFLICTQ Z15, K7, Z12 // 6252fd4fc4e7
VPCONFLICTQ 7(AX)(CX*4), K7, Z12 // 6272fd4fc4a48807000000
VPCONFLICTQ 7(AX)(CX*1), K7, Z12 // 6272fd4fc4a40807000000
VPLZCNTD X3, K3, X17 // 62e27d0b44cb
VPLZCNTD X26, K3, X17 // 62827d0b44ca
VPLZCNTD X23, K3, X17 // 62a27d0b44cf
VPLZCNTD 15(DX)(BX*1), K3, X17 // 62e27d0b448c1a0f000000
VPLZCNTD -7(CX)(DX*2), K3, X17 // 62e27d0b448c51f9ffffff
VPLZCNTD X3, K3, X15 // 62727d0b44fb
VPLZCNTD X26, K3, X15 // 62127d0b44fa
VPLZCNTD X23, K3, X15 // 62327d0b44ff
VPLZCNTD 15(DX)(BX*1), K3, X15 // 62727d0b44bc1a0f000000
VPLZCNTD -7(CX)(DX*2), K3, X15 // 62727d0b44bc51f9ffffff
VPLZCNTD X3, K3, X8 // 62727d0b44c3
VPLZCNTD X26, K3, X8 // 62127d0b44c2
VPLZCNTD X23, K3, X8 // 62327d0b44c7
VPLZCNTD 15(DX)(BX*1), K3, X8 // 62727d0b44841a0f000000
VPLZCNTD -7(CX)(DX*2), K3, X8 // 62727d0b448451f9ffffff
VPLZCNTD Y5, K3, Y20 // 62e27d2b44e5
VPLZCNTD Y28, K3, Y20 // 62827d2b44e4
VPLZCNTD Y7, K3, Y20 // 62e27d2b44e7
VPLZCNTD (BX), K3, Y20 // 62e27d2b4423
VPLZCNTD -17(BP)(SI*1), K3, Y20 // 62e27d2b44a435efffffff
VPLZCNTD Y5, K3, Y12 // 62727d2b44e5
VPLZCNTD Y28, K3, Y12 // 62127d2b44e4
VPLZCNTD Y7, K3, Y12 // 62727d2b44e7
VPLZCNTD (BX), K3, Y12 // 62727d2b4423
VPLZCNTD -17(BP)(SI*1), K3, Y12 // 62727d2b44a435efffffff
VPLZCNTD Y5, K3, Y3 // 62f27d2b44dd
VPLZCNTD Y28, K3, Y3 // 62927d2b44dc
VPLZCNTD Y7, K3, Y3 // 62f27d2b44df
VPLZCNTD (BX), K3, Y3 // 62f27d2b441b
VPLZCNTD -17(BP)(SI*1), K3, Y3 // 62f27d2b449c35efffffff
VPLZCNTD Z21, K3, Z3 // 62b27d4b44dd
VPLZCNTD Z13, K3, Z3 // 62d27d4b44dd
VPLZCNTD 17(SP)(BP*8), K3, Z3 // 62f27d4b449cec11000000
VPLZCNTD 17(SP)(BP*4), K3, Z3 // 62f27d4b449cac11000000
VPLZCNTD Z21, K3, Z0 // 62b27d4b44c5
VPLZCNTD Z13, K3, Z0 // 62d27d4b44c5
VPLZCNTD 17(SP)(BP*8), K3, Z0 // 62f27d4b4484ec11000000
VPLZCNTD 17(SP)(BP*4), K3, Z0 // 62f27d4b4484ac11000000
VPLZCNTQ X9, K2, X13 // 6252fd0a44e9
VPLZCNTQ X15, K2, X13 // 6252fd0a44ef
VPLZCNTQ X26, K2, X13 // 6212fd0a44ea
VPLZCNTQ -17(BP), K2, X13 // 6272fd0a44adefffffff
VPLZCNTQ -15(R14)(R15*8), K2, X13 // 6212fd0a44acfef1ffffff
VPLZCNTQ X9, K2, X28 // 6242fd0a44e1
VPLZCNTQ X15, K2, X28 // 6242fd0a44e7
VPLZCNTQ X26, K2, X28 // 6202fd0a44e2
VPLZCNTQ -17(BP), K2, X28 // 6262fd0a44a5efffffff
VPLZCNTQ -15(R14)(R15*8), K2, X28 // 6202fd0a44a4fef1ffffff
VPLZCNTQ X9, K2, X24 // 6242fd0a44c1
VPLZCNTQ X15, K2, X24 // 6242fd0a44c7
VPLZCNTQ X26, K2, X24 // 6202fd0a44c2
VPLZCNTQ -17(BP), K2, X24 // 6262fd0a4485efffffff
VPLZCNTQ -15(R14)(R15*8), K2, X24 // 6202fd0a4484fef1ffffff
VPLZCNTQ Y12, K1, Y0 // 62d2fd2944c4
VPLZCNTQ Y1, K1, Y0 // 62f2fd2944c1
VPLZCNTQ Y14, K1, Y0 // 62d2fd2944c6
VPLZCNTQ 15(R8)(R14*4), K1, Y0 // 6292fd294484b00f000000
VPLZCNTQ -7(CX)(DX*4), K1, Y0 // 62f2fd29448491f9ffffff
VPLZCNTQ Y12, K1, Y22 // 62c2fd2944f4
VPLZCNTQ Y1, K1, Y22 // 62e2fd2944f1
VPLZCNTQ Y14, K1, Y22 // 62c2fd2944f6
VPLZCNTQ 15(R8)(R14*4), K1, Y22 // 6282fd2944b4b00f000000
VPLZCNTQ -7(CX)(DX*4), K1, Y22 // 62e2fd2944b491f9ffffff
VPLZCNTQ Y12, K1, Y13 // 6252fd2944ec
VPLZCNTQ Y1, K1, Y13 // 6272fd2944e9
VPLZCNTQ Y14, K1, Y13 // 6252fd2944ee
VPLZCNTQ 15(R8)(R14*4), K1, Y13 // 6212fd2944acb00f000000
VPLZCNTQ -7(CX)(DX*4), K1, Y13 // 6272fd2944ac91f9ffffff
VPLZCNTQ Z3, K2, Z11 // 6272fd4a44db
VPLZCNTQ Z12, K2, Z11 // 6252fd4a44dc
VPLZCNTQ 7(SI)(DI*4), K2, Z11 // 6272fd4a449cbe07000000
VPLZCNTQ -7(DI)(R8*2), K2, Z11 // 6232fd4a449c47f9ffffff
VPLZCNTQ Z3, K2, Z25 // 6262fd4a44cb
VPLZCNTQ Z12, K2, Z25 // 6242fd4a44cc
VPLZCNTQ 7(SI)(DI*4), K2, Z25 // 6262fd4a448cbe07000000
VPLZCNTQ -7(DI)(R8*2), K2, Z25 // 6222fd4a448c47f9ffffff
RET
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -3,329 +3,329 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512er(SB), NOSPLIT, $0
//TODO: VEXP2PD Z17, K7, Z20 // 62a2fd4fc8e1
//TODO: VEXP2PD Z0, K7, Z20 // 62e2fd4fc8e0
//TODO: VEXP2PD Z17, K7, Z0 // 62b2fd4fc8c1
//TODO: VEXP2PD Z0, K7, Z0 // 62f2fd4fc8c0
//TODO: VEXP2PD Z31, K2, Z17 // 6282fd4ac8cf
//TODO: VEXP2PD Z0, K2, Z17 // 62e2fd4ac8c8
//TODO: VEXP2PD (R14), K2, Z17 // 62c2fd4ac80e
//TODO: VEXP2PD -7(DI)(R8*8), K2, Z17 // 62a2fd4ac88cc7f9ffffff
//TODO: VEXP2PD Z31, K2, Z23 // 6282fd4ac8ff
//TODO: VEXP2PD Z0, K2, Z23 // 62e2fd4ac8f8
//TODO: VEXP2PD (R14), K2, Z23 // 62c2fd4ac83e
//TODO: VEXP2PD -7(DI)(R8*8), K2, Z23 // 62a2fd4ac8bcc7f9ffffff
//TODO: VEXP2PS Z6, K4, Z21 // 62e27d4cc8ee
//TODO: VEXP2PS Z9, K4, Z21 // 62c27d4cc8e9
//TODO: VEXP2PS Z6, K4, Z9 // 62727d4cc8ce
//TODO: VEXP2PS Z9, K4, Z9 // 62527d4cc8c9
//TODO: VEXP2PS Z20, K1, Z1 // 62b27d49c8cc
//TODO: VEXP2PS Z9, K1, Z1 // 62d27d49c8c9
//TODO: VEXP2PS 99(R15)(R15*4), K1, Z1 // 62927d49c88cbf63000000
//TODO: VEXP2PS 15(DX), K1, Z1 // 62f27d49c88a0f000000
//TODO: VEXP2PS Z20, K1, Z9 // 62327d49c8cc
//TODO: VEXP2PS Z9, K1, Z9 // 62527d49c8c9
//TODO: VEXP2PS 99(R15)(R15*4), K1, Z9 // 62127d49c88cbf63000000
//TODO: VEXP2PS 15(DX), K1, Z9 // 62727d49c88a0f000000
//TODO: VRCP28PD Z13, K7, Z11 // 6252fd4fcadd
//TODO: VRCP28PD Z14, K7, Z11 // 6252fd4fcade
//TODO: VRCP28PD Z13, K7, Z5 // 62d2fd4fcaed
//TODO: VRCP28PD Z14, K7, Z5 // 62d2fd4fcaee
//TODO: VRCP28PD Z2, K2, Z5 // 62f2fd4acaea
//TODO: VRCP28PD -7(CX)(DX*1), K2, Z5 // 62f2fd4acaac11f9ffffff
//TODO: VRCP28PD -15(R14)(R15*4), K2, Z5 // 6292fd4acaacbef1ffffff
//TODO: VRCP28PD Z2, K2, Z23 // 62e2fd4acafa
//TODO: VRCP28PD -7(CX)(DX*1), K2, Z23 // 62e2fd4acabc11f9ffffff
//TODO: VRCP28PD -15(R14)(R15*4), K2, Z23 // 6282fd4acabcbef1ffffff
//TODO: VRCP28PS Z26, K5, Z6 // 62927d4dcaf2
//TODO: VRCP28PS Z14, K5, Z6 // 62d27d4dcaf6
//TODO: VRCP28PS Z26, K5, Z14 // 62127d4dcaf2
//TODO: VRCP28PS Z14, K5, Z14 // 62527d4dcaf6
//TODO: VRCP28PS Z13, K3, Z28 // 62427d4bcae5
//TODO: VRCP28PS Z21, K3, Z28 // 62227d4bcae5
//TODO: VRCP28PS 15(DX)(BX*1), K3, Z28 // 62627d4bcaa41a0f000000
//TODO: VRCP28PS -7(CX)(DX*2), K3, Z28 // 62627d4bcaa451f9ffffff
//TODO: VRCP28PS Z13, K3, Z6 // 62d27d4bcaf5
//TODO: VRCP28PS Z21, K3, Z6 // 62b27d4bcaf5
//TODO: VRCP28PS 15(DX)(BX*1), K3, Z6 // 62f27d4bcab41a0f000000
//TODO: VRCP28PS -7(CX)(DX*2), K3, Z6 // 62f27d4bcab451f9ffffff
//TODO: VRCP28SD X25, X14, K4, X19 // 62828d0ccbd9
//TODO: VRCP28SD X11, X14, K4, X19 // 62c28d0ccbdb
//TODO: VRCP28SD X17, X14, K4, X19 // 62a28d0ccbd9
//TODO: VRCP28SD X25, X0, K4, X19 // 6282fd0ccbd9
//TODO: VRCP28SD X11, X0, K4, X19 // 62c2fd0ccbdb
//TODO: VRCP28SD X17, X0, K4, X19 // 62a2fd0ccbd9
//TODO: VRCP28SD X25, X14, K4, X13 // 62128d0ccbe9
//TODO: VRCP28SD X11, X14, K4, X13 // 62528d0ccbeb
//TODO: VRCP28SD X17, X14, K4, X13 // 62328d0ccbe9
//TODO: VRCP28SD X25, X0, K4, X13 // 6212fd0ccbe9
//TODO: VRCP28SD X11, X0, K4, X13 // 6252fd0ccbeb
//TODO: VRCP28SD X17, X0, K4, X13 // 6232fd0ccbe9
//TODO: VRCP28SD X25, X14, K4, X2 // 62928d0ccbd1
//TODO: VRCP28SD X11, X14, K4, X2 // 62d28d0ccbd3
//TODO: VRCP28SD X17, X14, K4, X2 // 62b28d0ccbd1
//TODO: VRCP28SD X25, X0, K4, X2 // 6292fd0ccbd1
//TODO: VRCP28SD X11, X0, K4, X2 // 62d2fd0ccbd3
//TODO: VRCP28SD X17, X0, K4, X2 // 62b2fd0ccbd1
//TODO: VRCP28SD X2, X2, K2, X18 // 62e2ed0acbd2 or 62e2ed2acbd2 or 62e2ed4acbd2
//TODO: VRCP28SD X27, X2, K2, X18 // 6282ed0acbd3 or 6282ed2acbd3 or 6282ed4acbd3
//TODO: VRCP28SD X26, X2, K2, X18 // 6282ed0acbd2 or 6282ed2acbd2 or 6282ed4acbd2
//TODO: 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
//TODO: VRCP28SD X2, X24, K2, X18 // 62e2bd02cbd2 or 62e2bd22cbd2 or 62e2bd42cbd2
//TODO: VRCP28SD X27, X24, K2, X18 // 6282bd02cbd3 or 6282bd22cbd3 or 6282bd42cbd3
//TODO: VRCP28SD X26, X24, K2, X18 // 6282bd02cbd2 or 6282bd22cbd2 or 6282bd42cbd2
//TODO: 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
//TODO: VRCP28SD X2, X2, K2, X11 // 6272ed0acbda or 6272ed2acbda or 6272ed4acbda
//TODO: VRCP28SD X27, X2, K2, X11 // 6212ed0acbdb or 6212ed2acbdb or 6212ed4acbdb
//TODO: VRCP28SD X26, X2, K2, X11 // 6212ed0acbda or 6212ed2acbda or 6212ed4acbda
//TODO: 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
//TODO: VRCP28SD X2, X24, K2, X11 // 6272bd02cbda or 6272bd22cbda or 6272bd42cbda
//TODO: VRCP28SD X27, X24, K2, X11 // 6212bd02cbdb or 6212bd22cbdb or 6212bd42cbdb
//TODO: VRCP28SD X26, X24, K2, X11 // 6212bd02cbda or 6212bd22cbda or 6212bd42cbda
//TODO: 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
//TODO: VRCP28SD X2, X2, K2, X9 // 6272ed0acbca or 6272ed2acbca or 6272ed4acbca
//TODO: VRCP28SD X27, X2, K2, X9 // 6212ed0acbcb or 6212ed2acbcb or 6212ed4acbcb
//TODO: VRCP28SD X26, X2, K2, X9 // 6212ed0acbca or 6212ed2acbca or 6212ed4acbca
//TODO: 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
//TODO: VRCP28SD X2, X24, K2, X9 // 6272bd02cbca or 6272bd22cbca or 6272bd42cbca
//TODO: VRCP28SD X27, X24, K2, X9 // 6212bd02cbcb or 6212bd22cbcb or 6212bd42cbcb
//TODO: VRCP28SD X26, X24, K2, X9 // 6212bd02cbca or 6212bd22cbca or 6212bd42cbca
//TODO: 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
//TODO: VRCP28SS X13, X11, K2, X22 // 62c2250acbf5
//TODO: VRCP28SS X6, X11, K2, X22 // 62e2250acbf6
//TODO: VRCP28SS X12, X11, K2, X22 // 62c2250acbf4
//TODO: VRCP28SS X13, X15, K2, X22 // 62c2050acbf5
//TODO: VRCP28SS X6, X15, K2, X22 // 62e2050acbf6
//TODO: VRCP28SS X12, X15, K2, X22 // 62c2050acbf4
//TODO: VRCP28SS X13, X30, K2, X22 // 62c20d02cbf5
//TODO: VRCP28SS X6, X30, K2, X22 // 62e20d02cbf6
//TODO: VRCP28SS X12, X30, K2, X22 // 62c20d02cbf4
//TODO: VRCP28SS X13, X11, K2, X30 // 6242250acbf5
//TODO: VRCP28SS X6, X11, K2, X30 // 6262250acbf6
//TODO: VRCP28SS X12, X11, K2, X30 // 6242250acbf4
//TODO: VRCP28SS X13, X15, K2, X30 // 6242050acbf5
//TODO: VRCP28SS X6, X15, K2, X30 // 6262050acbf6
//TODO: VRCP28SS X12, X15, K2, X30 // 6242050acbf4
//TODO: VRCP28SS X13, X30, K2, X30 // 62420d02cbf5
//TODO: VRCP28SS X6, X30, K2, X30 // 62620d02cbf6
//TODO: VRCP28SS X12, X30, K2, X30 // 62420d02cbf4
//TODO: VRCP28SS X13, X11, K2, X3 // 62d2250acbdd
//TODO: VRCP28SS X6, X11, K2, X3 // 62f2250acbde
//TODO: VRCP28SS X12, X11, K2, X3 // 62d2250acbdc
//TODO: VRCP28SS X13, X15, K2, X3 // 62d2050acbdd
//TODO: VRCP28SS X6, X15, K2, X3 // 62f2050acbde
//TODO: VRCP28SS X12, X15, K2, X3 // 62d2050acbdc
//TODO: VRCP28SS X13, X30, K2, X3 // 62d20d02cbdd
//TODO: VRCP28SS X6, X30, K2, X3 // 62f20d02cbde
//TODO: VRCP28SS X12, X30, K2, X3 // 62d20d02cbdc
//TODO: VRCP28SS X26, X20, K3, X23 // 62825d03cbfa or 62825d23cbfa or 62825d43cbfa
//TODO: VRCP28SS X19, X20, K3, X23 // 62a25d03cbfb or 62a25d23cbfb or 62a25d43cbfb
//TODO: VRCP28SS X0, X20, K3, X23 // 62e25d03cbf8 or 62e25d23cbf8 or 62e25d43cbf8
//TODO: 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
//TODO: VRCP28SS X26, X2, K3, X23 // 62826d0bcbfa or 62826d2bcbfa or 62826d4bcbfa
//TODO: VRCP28SS X19, X2, K3, X23 // 62a26d0bcbfb or 62a26d2bcbfb or 62a26d4bcbfb
//TODO: VRCP28SS X0, X2, K3, X23 // 62e26d0bcbf8 or 62e26d2bcbf8 or 62e26d4bcbf8
//TODO: 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
//TODO: VRCP28SS X26, X9, K3, X23 // 6282350bcbfa or 6282352bcbfa or 6282354bcbfa
//TODO: VRCP28SS X19, X9, K3, X23 // 62a2350bcbfb or 62a2352bcbfb or 62a2354bcbfb
//TODO: VRCP28SS X0, X9, K3, X23 // 62e2350bcbf8 or 62e2352bcbf8 or 62e2354bcbf8
//TODO: 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
//TODO: VRCP28SS X26, X20, K3, X30 // 62025d03cbf2 or 62025d23cbf2 or 62025d43cbf2
//TODO: VRCP28SS X19, X20, K3, X30 // 62225d03cbf3 or 62225d23cbf3 or 62225d43cbf3
//TODO: VRCP28SS X0, X20, K3, X30 // 62625d03cbf0 or 62625d23cbf0 or 62625d43cbf0
//TODO: 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
//TODO: VRCP28SS X26, X2, K3, X30 // 62026d0bcbf2 or 62026d2bcbf2 or 62026d4bcbf2
//TODO: VRCP28SS X19, X2, K3, X30 // 62226d0bcbf3 or 62226d2bcbf3 or 62226d4bcbf3
//TODO: VRCP28SS X0, X2, K3, X30 // 62626d0bcbf0 or 62626d2bcbf0 or 62626d4bcbf0
//TODO: 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
//TODO: VRCP28SS X26, X9, K3, X30 // 6202350bcbf2 or 6202352bcbf2 or 6202354bcbf2
//TODO: VRCP28SS X19, X9, K3, X30 // 6222350bcbf3 or 6222352bcbf3 or 6222354bcbf3
//TODO: VRCP28SS X0, X9, K3, X30 // 6262350bcbf0 or 6262352bcbf0 or 6262354bcbf0
//TODO: 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
//TODO: VRCP28SS X26, X20, K3, X8 // 62125d03cbc2 or 62125d23cbc2 or 62125d43cbc2
//TODO: VRCP28SS X19, X20, K3, X8 // 62325d03cbc3 or 62325d23cbc3 or 62325d43cbc3
//TODO: VRCP28SS X0, X20, K3, X8 // 62725d03cbc0 or 62725d23cbc0 or 62725d43cbc0
//TODO: 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
//TODO: VRCP28SS X26, X2, K3, X8 // 62126d0bcbc2 or 62126d2bcbc2 or 62126d4bcbc2
//TODO: VRCP28SS X19, X2, K3, X8 // 62326d0bcbc3 or 62326d2bcbc3 or 62326d4bcbc3
//TODO: VRCP28SS X0, X2, K3, X8 // 62726d0bcbc0 or 62726d2bcbc0 or 62726d4bcbc0
//TODO: 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
//TODO: VRCP28SS X26, X9, K3, X8 // 6212350bcbc2 or 6212352bcbc2 or 6212354bcbc2
//TODO: VRCP28SS X19, X9, K3, X8 // 6232350bcbc3 or 6232352bcbc3 or 6232354bcbc3
//TODO: VRCP28SS X0, X9, K3, X8 // 6272350bcbc0 or 6272352bcbc0 or 6272354bcbc0
//TODO: 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
//TODO: VRSQRT28PD Z7, K3, Z3 // 62f2fd4bccdf
//TODO: VRSQRT28PD Z9, K3, Z3 // 62d2fd4bccd9
//TODO: VRSQRT28PD Z7, K3, Z27 // 6262fd4bccdf
//TODO: VRSQRT28PD Z9, K3, Z27 // 6242fd4bccd9
//TODO: VRSQRT28PD Z20, K3, Z0 // 62b2fd4bccc4
//TODO: VRSQRT28PD Z28, K3, Z0 // 6292fd4bccc4
//TODO: VRSQRT28PD (SI), K3, Z0 // 62f2fd4bcc06
//TODO: VRSQRT28PD 7(SI)(DI*2), K3, Z0 // 62f2fd4bcc847e07000000
//TODO: VRSQRT28PD Z20, K3, Z6 // 62b2fd4bccf4
//TODO: VRSQRT28PD Z28, K3, Z6 // 6292fd4bccf4
//TODO: VRSQRT28PD (SI), K3, Z6 // 62f2fd4bcc36
//TODO: VRSQRT28PD 7(SI)(DI*2), K3, Z6 // 62f2fd4bccb47e07000000
//TODO: VRSQRT28PS Z9, K2, Z3 // 62d27d4accd9
//TODO: VRSQRT28PS Z19, K2, Z3 // 62b27d4accdb
//TODO: VRSQRT28PS Z9, K2, Z30 // 62427d4accf1
//TODO: VRSQRT28PS Z19, K2, Z30 // 62227d4accf3
//TODO: VRSQRT28PS Z11, K1, Z12 // 62527d49cce3
//TODO: VRSQRT28PS Z5, K1, Z12 // 62727d49cce5
//TODO: VRSQRT28PS 17(SP)(BP*8), K1, Z12 // 62727d49cca4ec11000000
//TODO: VRSQRT28PS 17(SP)(BP*4), K1, Z12 // 62727d49cca4ac11000000
//TODO: VRSQRT28PS Z11, K1, Z22 // 62c27d49ccf3
//TODO: VRSQRT28PS Z5, K1, Z22 // 62e27d49ccf5
//TODO: VRSQRT28PS 17(SP)(BP*8), K1, Z22 // 62e27d49ccb4ec11000000
//TODO: VRSQRT28PS 17(SP)(BP*4), K1, Z22 // 62e27d49ccb4ac11000000
//TODO: VRSQRT28SD X20, X20, K2, X31 // 6222dd02cdfc
//TODO: VRSQRT28SD X16, X20, K2, X31 // 6222dd02cdf8
//TODO: VRSQRT28SD X12, X20, K2, X31 // 6242dd02cdfc
//TODO: VRSQRT28SD X20, X24, K2, X31 // 6222bd02cdfc
//TODO: VRSQRT28SD X16, X24, K2, X31 // 6222bd02cdf8
//TODO: VRSQRT28SD X12, X24, K2, X31 // 6242bd02cdfc
//TODO: VRSQRT28SD X20, X7, K2, X31 // 6222c50acdfc
//TODO: VRSQRT28SD X16, X7, K2, X31 // 6222c50acdf8
//TODO: VRSQRT28SD X12, X7, K2, X31 // 6242c50acdfc
//TODO: VRSQRT28SD X20, X20, K2, X3 // 62b2dd02cddc
//TODO: VRSQRT28SD X16, X20, K2, X3 // 62b2dd02cdd8
//TODO: VRSQRT28SD X12, X20, K2, X3 // 62d2dd02cddc
//TODO: VRSQRT28SD X20, X24, K2, X3 // 62b2bd02cddc
//TODO: VRSQRT28SD X16, X24, K2, X3 // 62b2bd02cdd8
//TODO: VRSQRT28SD X12, X24, K2, X3 // 62d2bd02cddc
//TODO: VRSQRT28SD X20, X7, K2, X3 // 62b2c50acddc
//TODO: VRSQRT28SD X16, X7, K2, X3 // 62b2c50acdd8
//TODO: VRSQRT28SD X12, X7, K2, X3 // 62d2c50acddc
//TODO: VRSQRT28SD X20, X20, K2, X28 // 6222dd02cde4
//TODO: VRSQRT28SD X16, X20, K2, X28 // 6222dd02cde0
//TODO: VRSQRT28SD X12, X20, K2, X28 // 6242dd02cde4
//TODO: VRSQRT28SD X20, X24, K2, X28 // 6222bd02cde4
//TODO: VRSQRT28SD X16, X24, K2, X28 // 6222bd02cde0
//TODO: VRSQRT28SD X12, X24, K2, X28 // 6242bd02cde4
//TODO: VRSQRT28SD X20, X7, K2, X28 // 6222c50acde4
//TODO: VRSQRT28SD X16, X7, K2, X28 // 6222c50acde0
//TODO: VRSQRT28SD X12, X7, K2, X28 // 6242c50acde4
//TODO: VRSQRT28SD X8, X6, K1, X6 // 62d2cd09cdf0 or 62d2cd29cdf0 or 62d2cd49cdf0
//TODO: VRSQRT28SD X6, X6, K1, X6 // 62f2cd09cdf6 or 62f2cd29cdf6 or 62f2cd49cdf6
//TODO: VRSQRT28SD X0, X6, K1, X6 // 62f2cd09cdf0 or 62f2cd29cdf0 or 62f2cd49cdf0
//TODO: VRSQRT28SD 99(R15)(R15*1), X6, K1, X6 // 6292cd09cdb43f63000000 or 6292cd29cdb43f63000000 or 6292cd49cdb43f63000000
//TODO: VRSQRT28SD (DX), X6, K1, X6 // 62f2cd09cd32 or 62f2cd29cd32 or 62f2cd49cd32
//TODO: VRSQRT28SD X8, X1, K1, X6 // 62d2f509cdf0 or 62d2f529cdf0 or 62d2f549cdf0
//TODO: VRSQRT28SD X6, X1, K1, X6 // 62f2f509cdf6 or 62f2f529cdf6 or 62f2f549cdf6
//TODO: VRSQRT28SD X0, X1, K1, X6 // 62f2f509cdf0 or 62f2f529cdf0 or 62f2f549cdf0
//TODO: VRSQRT28SD 99(R15)(R15*1), X1, K1, X6 // 6292f509cdb43f63000000 or 6292f529cdb43f63000000 or 6292f549cdb43f63000000
//TODO: VRSQRT28SD (DX), X1, K1, X6 // 62f2f509cd32 or 62f2f529cd32 or 62f2f549cd32
//TODO: VRSQRT28SD X8, X8, K1, X6 // 62d2bd09cdf0 or 62d2bd29cdf0 or 62d2bd49cdf0
//TODO: VRSQRT28SD X6, X8, K1, X6 // 62f2bd09cdf6 or 62f2bd29cdf6 or 62f2bd49cdf6
//TODO: VRSQRT28SD X0, X8, K1, X6 // 62f2bd09cdf0 or 62f2bd29cdf0 or 62f2bd49cdf0
//TODO: VRSQRT28SD 99(R15)(R15*1), X8, K1, X6 // 6292bd09cdb43f63000000 or 6292bd29cdb43f63000000 or 6292bd49cdb43f63000000
//TODO: VRSQRT28SD (DX), X8, K1, X6 // 62f2bd09cd32 or 62f2bd29cd32 or 62f2bd49cd32
//TODO: VRSQRT28SD X8, X6, K1, X17 // 62c2cd09cdc8 or 62c2cd29cdc8 or 62c2cd49cdc8
//TODO: VRSQRT28SD X6, X6, K1, X17 // 62e2cd09cdce or 62e2cd29cdce or 62e2cd49cdce
//TODO: VRSQRT28SD X0, X6, K1, X17 // 62e2cd09cdc8 or 62e2cd29cdc8 or 62e2cd49cdc8
//TODO: VRSQRT28SD 99(R15)(R15*1), X6, K1, X17 // 6282cd09cd8c3f63000000 or 6282cd29cd8c3f63000000 or 6282cd49cd8c3f63000000
//TODO: VRSQRT28SD (DX), X6, K1, X17 // 62e2cd09cd0a or 62e2cd29cd0a or 62e2cd49cd0a
//TODO: VRSQRT28SD X8, X1, K1, X17 // 62c2f509cdc8 or 62c2f529cdc8 or 62c2f549cdc8
//TODO: VRSQRT28SD X6, X1, K1, X17 // 62e2f509cdce or 62e2f529cdce or 62e2f549cdce
//TODO: VRSQRT28SD X0, X1, K1, X17 // 62e2f509cdc8 or 62e2f529cdc8 or 62e2f549cdc8
//TODO: VRSQRT28SD 99(R15)(R15*1), X1, K1, X17 // 6282f509cd8c3f63000000 or 6282f529cd8c3f63000000 or 6282f549cd8c3f63000000
//TODO: VRSQRT28SD (DX), X1, K1, X17 // 62e2f509cd0a or 62e2f529cd0a or 62e2f549cd0a
//TODO: VRSQRT28SD X8, X8, K1, X17 // 62c2bd09cdc8 or 62c2bd29cdc8 or 62c2bd49cdc8
//TODO: VRSQRT28SD X6, X8, K1, X17 // 62e2bd09cdce or 62e2bd29cdce or 62e2bd49cdce
//TODO: VRSQRT28SD X0, X8, K1, X17 // 62e2bd09cdc8 or 62e2bd29cdc8 or 62e2bd49cdc8
//TODO: VRSQRT28SD 99(R15)(R15*1), X8, K1, X17 // 6282bd09cd8c3f63000000 or 6282bd29cd8c3f63000000 or 6282bd49cd8c3f63000000
//TODO: VRSQRT28SD (DX), X8, K1, X17 // 62e2bd09cd0a or 62e2bd29cd0a or 62e2bd49cd0a
//TODO: VRSQRT28SD X8, X6, K1, X28 // 6242cd09cde0 or 6242cd29cde0 or 6242cd49cde0
//TODO: VRSQRT28SD X6, X6, K1, X28 // 6262cd09cde6 or 6262cd29cde6 or 6262cd49cde6
//TODO: VRSQRT28SD X0, X6, K1, X28 // 6262cd09cde0 or 6262cd29cde0 or 6262cd49cde0
//TODO: VRSQRT28SD 99(R15)(R15*1), X6, K1, X28 // 6202cd09cda43f63000000 or 6202cd29cda43f63000000 or 6202cd49cda43f63000000
//TODO: VRSQRT28SD (DX), X6, K1, X28 // 6262cd09cd22 or 6262cd29cd22 or 6262cd49cd22
//TODO: VRSQRT28SD X8, X1, K1, X28 // 6242f509cde0 or 6242f529cde0 or 6242f549cde0
//TODO: VRSQRT28SD X6, X1, K1, X28 // 6262f509cde6 or 6262f529cde6 or 6262f549cde6
//TODO: VRSQRT28SD X0, X1, K1, X28 // 6262f509cde0 or 6262f529cde0 or 6262f549cde0
//TODO: VRSQRT28SD 99(R15)(R15*1), X1, K1, X28 // 6202f509cda43f63000000 or 6202f529cda43f63000000 or 6202f549cda43f63000000
//TODO: VRSQRT28SD (DX), X1, K1, X28 // 6262f509cd22 or 6262f529cd22 or 6262f549cd22
//TODO: VRSQRT28SD X8, X8, K1, X28 // 6242bd09cde0 or 6242bd29cde0 or 6242bd49cde0
//TODO: VRSQRT28SD X6, X8, K1, X28 // 6262bd09cde6 or 6262bd29cde6 or 6262bd49cde6
//TODO: VRSQRT28SD X0, X8, K1, X28 // 6262bd09cde0 or 6262bd29cde0 or 6262bd49cde0
//TODO: VRSQRT28SD 99(R15)(R15*1), X8, K1, X28 // 6202bd09cda43f63000000 or 6202bd29cda43f63000000 or 6202bd49cda43f63000000
//TODO: VRSQRT28SD (DX), X8, K1, X28 // 6262bd09cd22 or 6262bd29cd22 or 6262bd49cd22
//TODO: VRSQRT28SS X16, X6, K7, X11 // 62324d0fcdd8
//TODO: VRSQRT28SS X28, X6, K7, X11 // 62124d0fcddc
//TODO: VRSQRT28SS X8, X6, K7, X11 // 62524d0fcdd8
//TODO: VRSQRT28SS X16, X22, K7, X11 // 62324d07cdd8
//TODO: VRSQRT28SS X28, X22, K7, X11 // 62124d07cddc
//TODO: VRSQRT28SS X8, X22, K7, X11 // 62524d07cdd8
//TODO: VRSQRT28SS X16, X12, K7, X11 // 62321d0fcdd8
//TODO: VRSQRT28SS X28, X12, K7, X11 // 62121d0fcddc
//TODO: VRSQRT28SS X8, X12, K7, X11 // 62521d0fcdd8
//TODO: VRSQRT28SS X16, X6, K7, X16 // 62a24d0fcdc0
//TODO: VRSQRT28SS X28, X6, K7, X16 // 62824d0fcdc4
//TODO: VRSQRT28SS X8, X6, K7, X16 // 62c24d0fcdc0
//TODO: VRSQRT28SS X16, X22, K7, X16 // 62a24d07cdc0
//TODO: VRSQRT28SS X28, X22, K7, X16 // 62824d07cdc4
//TODO: VRSQRT28SS X8, X22, K7, X16 // 62c24d07cdc0
//TODO: VRSQRT28SS X16, X12, K7, X16 // 62a21d0fcdc0
//TODO: VRSQRT28SS X28, X12, K7, X16 // 62821d0fcdc4
//TODO: VRSQRT28SS X8, X12, K7, X16 // 62c21d0fcdc0
//TODO: VRSQRT28SS X16, X6, K7, X6 // 62b24d0fcdf0
//TODO: VRSQRT28SS X28, X6, K7, X6 // 62924d0fcdf4
//TODO: VRSQRT28SS X8, X6, K7, X6 // 62d24d0fcdf0
//TODO: VRSQRT28SS X16, X22, K7, X6 // 62b24d07cdf0
//TODO: VRSQRT28SS X28, X22, K7, X6 // 62924d07cdf4
//TODO: VRSQRT28SS X8, X22, K7, X6 // 62d24d07cdf0
//TODO: VRSQRT28SS X16, X12, K7, X6 // 62b21d0fcdf0
//TODO: VRSQRT28SS X28, X12, K7, X6 // 62921d0fcdf4
//TODO: VRSQRT28SS X8, X12, K7, X6 // 62d21d0fcdf0
//TODO: VRSQRT28SS X14, X19, K1, X15 // 62526501cdfe or 62526521cdfe or 62526541cdfe
//TODO: VRSQRT28SS X0, X19, K1, X15 // 62726501cdf8 or 62726521cdf8 or 62726541cdf8
//TODO: 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
//TODO: VRSQRT28SS X14, X13, K1, X15 // 62521509cdfe or 62521529cdfe or 62521549cdfe
//TODO: VRSQRT28SS X0, X13, K1, X15 // 62721509cdf8 or 62721529cdf8 or 62721549cdf8
//TODO: 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
//TODO: VRSQRT28SS X14, X2, K1, X15 // 62526d09cdfe or 62526d29cdfe or 62526d49cdfe
//TODO: VRSQRT28SS X0, X2, K1, X15 // 62726d09cdf8 or 62726d29cdf8 or 62726d49cdf8
//TODO: 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
//TODO: VRSQRT28SS X14, X19, K1, X11 // 62526501cdde or 62526521cdde or 62526541cdde
//TODO: VRSQRT28SS X0, X19, K1, X11 // 62726501cdd8 or 62726521cdd8 or 62726541cdd8
//TODO: 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
//TODO: VRSQRT28SS X14, X13, K1, X11 // 62521509cdde or 62521529cdde or 62521549cdde
//TODO: VRSQRT28SS X0, X13, K1, X11 // 62721509cdd8 or 62721529cdd8 or 62721549cdd8
//TODO: 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
//TODO: VRSQRT28SS X14, X2, K1, X11 // 62526d09cdde or 62526d29cdde or 62526d49cdde
//TODO: VRSQRT28SS X0, X2, K1, X11 // 62726d09cdd8 or 62726d29cdd8 or 62726d49cdd8
//TODO: 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
//TODO: VRSQRT28SS X14, X19, K1, X1 // 62d26501cdce or 62d26521cdce or 62d26541cdce
//TODO: VRSQRT28SS X0, X19, K1, X1 // 62f26501cdc8 or 62f26521cdc8 or 62f26541cdc8
//TODO: 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
//TODO: VRSQRT28SS X14, X13, K1, X1 // 62d21509cdce or 62d21529cdce or 62d21549cdce
//TODO: VRSQRT28SS X0, X13, K1, X1 // 62f21509cdc8 or 62f21529cdc8 or 62f21549cdc8
//TODO: 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
//TODO: VRSQRT28SS X14, X2, K1, X1 // 62d26d09cdce or 62d26d29cdce or 62d26d49cdce
//TODO: VRSQRT28SS X0, X2, K1, X1 // 62f26d09cdc8 or 62f26d29cdc8 or 62f26d49cdc8
//TODO: 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
VEXP2PD Z17, K7, Z20 // 62a2fd4fc8e1
VEXP2PD Z0, K7, Z20 // 62e2fd4fc8e0
VEXP2PD Z17, K7, Z0 // 62b2fd4fc8c1
VEXP2PD Z0, K7, Z0 // 62f2fd4fc8c0
VEXP2PD Z31, K2, Z17 // 6282fd4ac8cf
VEXP2PD Z0, K2, Z17 // 62e2fd4ac8c8
VEXP2PD (R14), K2, Z17 // 62c2fd4ac80e
VEXP2PD -7(DI)(R8*8), K2, Z17 // 62a2fd4ac88cc7f9ffffff
VEXP2PD Z31, K2, Z23 // 6282fd4ac8ff
VEXP2PD Z0, K2, Z23 // 62e2fd4ac8f8
VEXP2PD (R14), K2, Z23 // 62c2fd4ac83e
VEXP2PD -7(DI)(R8*8), K2, Z23 // 62a2fd4ac8bcc7f9ffffff
VEXP2PS Z6, K4, Z21 // 62e27d4cc8ee
VEXP2PS Z9, K4, Z21 // 62c27d4cc8e9
VEXP2PS Z6, K4, Z9 // 62727d4cc8ce
VEXP2PS Z9, K4, Z9 // 62527d4cc8c9
VEXP2PS Z20, K1, Z1 // 62b27d49c8cc
VEXP2PS Z9, K1, Z1 // 62d27d49c8c9
VEXP2PS 99(R15)(R15*4), K1, Z1 // 62927d49c88cbf63000000
VEXP2PS 15(DX), K1, Z1 // 62f27d49c88a0f000000
VEXP2PS Z20, K1, Z9 // 62327d49c8cc
VEXP2PS Z9, K1, Z9 // 62527d49c8c9
VEXP2PS 99(R15)(R15*4), K1, Z9 // 62127d49c88cbf63000000
VEXP2PS 15(DX), K1, Z9 // 62727d49c88a0f000000
VRCP28PD Z13, K7, Z11 // 6252fd4fcadd
VRCP28PD Z14, K7, Z11 // 6252fd4fcade
VRCP28PD Z13, K7, Z5 // 62d2fd4fcaed
VRCP28PD Z14, K7, Z5 // 62d2fd4fcaee
VRCP28PD Z2, K2, Z5 // 62f2fd4acaea
VRCP28PD -7(CX)(DX*1), K2, Z5 // 62f2fd4acaac11f9ffffff
VRCP28PD -15(R14)(R15*4), K2, Z5 // 6292fd4acaacbef1ffffff
VRCP28PD Z2, K2, Z23 // 62e2fd4acafa
VRCP28PD -7(CX)(DX*1), K2, Z23 // 62e2fd4acabc11f9ffffff
VRCP28PD -15(R14)(R15*4), K2, Z23 // 6282fd4acabcbef1ffffff
VRCP28PS Z26, K5, Z6 // 62927d4dcaf2
VRCP28PS Z14, K5, Z6 // 62d27d4dcaf6
VRCP28PS Z26, K5, Z14 // 62127d4dcaf2
VRCP28PS Z14, K5, Z14 // 62527d4dcaf6
VRCP28PS Z13, K3, Z28 // 62427d4bcae5
VRCP28PS Z21, K3, Z28 // 62227d4bcae5
VRCP28PS 15(DX)(BX*1), K3, Z28 // 62627d4bcaa41a0f000000
VRCP28PS -7(CX)(DX*2), K3, Z28 // 62627d4bcaa451f9ffffff
VRCP28PS Z13, K3, Z6 // 62d27d4bcaf5
VRCP28PS Z21, K3, Z6 // 62b27d4bcaf5
VRCP28PS 15(DX)(BX*1), K3, Z6 // 62f27d4bcab41a0f000000
VRCP28PS -7(CX)(DX*2), K3, Z6 // 62f27d4bcab451f9ffffff
VRCP28SD X25, X14, K4, X19 // 62828d0ccbd9
VRCP28SD X11, X14, K4, X19 // 62c28d0ccbdb
VRCP28SD X17, X14, K4, X19 // 62a28d0ccbd9
VRCP28SD X25, X0, K4, X19 // 6282fd0ccbd9
VRCP28SD X11, X0, K4, X19 // 62c2fd0ccbdb
VRCP28SD X17, X0, K4, X19 // 62a2fd0ccbd9
VRCP28SD X25, X14, K4, X13 // 62128d0ccbe9
VRCP28SD X11, X14, K4, X13 // 62528d0ccbeb
VRCP28SD X17, X14, K4, X13 // 62328d0ccbe9
VRCP28SD X25, X0, K4, X13 // 6212fd0ccbe9
VRCP28SD X11, X0, K4, X13 // 6252fd0ccbeb
VRCP28SD X17, X0, K4, X13 // 6232fd0ccbe9
VRCP28SD X25, X14, K4, X2 // 62928d0ccbd1
VRCP28SD X11, X14, K4, X2 // 62d28d0ccbd3
VRCP28SD X17, X14, K4, X2 // 62b28d0ccbd1
VRCP28SD X25, X0, K4, X2 // 6292fd0ccbd1
VRCP28SD X11, X0, K4, X2 // 62d2fd0ccbd3
VRCP28SD X17, X0, K4, X2 // 62b2fd0ccbd1
VRCP28SD X2, X2, K2, X18 // 62e2ed0acbd2 or 62e2ed2acbd2 or 62e2ed4acbd2
VRCP28SD X27, X2, K2, X18 // 6282ed0acbd3 or 6282ed2acbd3 or 6282ed4acbd3
VRCP28SD X26, X2, K2, X18 // 6282ed0acbd2 or 6282ed2acbd2 or 6282ed4acbd2
VRCP28SD 17(SP)(BP*8), X2, K2, X18 // 62e2ed0acb94ec11000000 or 62e2ed2acb94ec11000000 or 62e2ed4acb94ec11000000
VRCP28SD 17(SP)(BP*4), X2, K2, X18 // 62e2ed0acb94ac11000000 or 62e2ed2acb94ac11000000 or 62e2ed4acb94ac11000000
VRCP28SD X2, X24, K2, X18 // 62e2bd02cbd2 or 62e2bd22cbd2 or 62e2bd42cbd2
VRCP28SD X27, X24, K2, X18 // 6282bd02cbd3 or 6282bd22cbd3 or 6282bd42cbd3
VRCP28SD X26, X24, K2, X18 // 6282bd02cbd2 or 6282bd22cbd2 or 6282bd42cbd2
VRCP28SD 17(SP)(BP*8), X24, K2, X18 // 62e2bd02cb94ec11000000 or 62e2bd22cb94ec11000000 or 62e2bd42cb94ec11000000
VRCP28SD 17(SP)(BP*4), X24, K2, X18 // 62e2bd02cb94ac11000000 or 62e2bd22cb94ac11000000 or 62e2bd42cb94ac11000000
VRCP28SD X2, X2, K2, X11 // 6272ed0acbda or 6272ed2acbda or 6272ed4acbda
VRCP28SD X27, X2, K2, X11 // 6212ed0acbdb or 6212ed2acbdb or 6212ed4acbdb
VRCP28SD X26, X2, K2, X11 // 6212ed0acbda or 6212ed2acbda or 6212ed4acbda
VRCP28SD 17(SP)(BP*8), X2, K2, X11 // 6272ed0acb9cec11000000 or 6272ed2acb9cec11000000 or 6272ed4acb9cec11000000
VRCP28SD 17(SP)(BP*4), X2, K2, X11 // 6272ed0acb9cac11000000 or 6272ed2acb9cac11000000 or 6272ed4acb9cac11000000
VRCP28SD X2, X24, K2, X11 // 6272bd02cbda or 6272bd22cbda or 6272bd42cbda
VRCP28SD X27, X24, K2, X11 // 6212bd02cbdb or 6212bd22cbdb or 6212bd42cbdb
VRCP28SD X26, X24, K2, X11 // 6212bd02cbda or 6212bd22cbda or 6212bd42cbda
VRCP28SD 17(SP)(BP*8), X24, K2, X11 // 6272bd02cb9cec11000000 or 6272bd22cb9cec11000000 or 6272bd42cb9cec11000000
VRCP28SD 17(SP)(BP*4), X24, K2, X11 // 6272bd02cb9cac11000000 or 6272bd22cb9cac11000000 or 6272bd42cb9cac11000000
VRCP28SD X2, X2, K2, X9 // 6272ed0acbca or 6272ed2acbca or 6272ed4acbca
VRCP28SD X27, X2, K2, X9 // 6212ed0acbcb or 6212ed2acbcb or 6212ed4acbcb
VRCP28SD X26, X2, K2, X9 // 6212ed0acbca or 6212ed2acbca or 6212ed4acbca
VRCP28SD 17(SP)(BP*8), X2, K2, X9 // 6272ed0acb8cec11000000 or 6272ed2acb8cec11000000 or 6272ed4acb8cec11000000
VRCP28SD 17(SP)(BP*4), X2, K2, X9 // 6272ed0acb8cac11000000 or 6272ed2acb8cac11000000 or 6272ed4acb8cac11000000
VRCP28SD X2, X24, K2, X9 // 6272bd02cbca or 6272bd22cbca or 6272bd42cbca
VRCP28SD X27, X24, K2, X9 // 6212bd02cbcb or 6212bd22cbcb or 6212bd42cbcb
VRCP28SD X26, X24, K2, X9 // 6212bd02cbca or 6212bd22cbca or 6212bd42cbca
VRCP28SD 17(SP)(BP*8), X24, K2, X9 // 6272bd02cb8cec11000000 or 6272bd22cb8cec11000000 or 6272bd42cb8cec11000000
VRCP28SD 17(SP)(BP*4), X24, K2, X9 // 6272bd02cb8cac11000000 or 6272bd22cb8cac11000000 or 6272bd42cb8cac11000000
VRCP28SS X13, X11, K2, X22 // 62c2250acbf5
VRCP28SS X6, X11, K2, X22 // 62e2250acbf6
VRCP28SS X12, X11, K2, X22 // 62c2250acbf4
VRCP28SS X13, X15, K2, X22 // 62c2050acbf5
VRCP28SS X6, X15, K2, X22 // 62e2050acbf6
VRCP28SS X12, X15, K2, X22 // 62c2050acbf4
VRCP28SS X13, X30, K2, X22 // 62c20d02cbf5
VRCP28SS X6, X30, K2, X22 // 62e20d02cbf6
VRCP28SS X12, X30, K2, X22 // 62c20d02cbf4
VRCP28SS X13, X11, K2, X30 // 6242250acbf5
VRCP28SS X6, X11, K2, X30 // 6262250acbf6
VRCP28SS X12, X11, K2, X30 // 6242250acbf4
VRCP28SS X13, X15, K2, X30 // 6242050acbf5
VRCP28SS X6, X15, K2, X30 // 6262050acbf6
VRCP28SS X12, X15, K2, X30 // 6242050acbf4
VRCP28SS X13, X30, K2, X30 // 62420d02cbf5
VRCP28SS X6, X30, K2, X30 // 62620d02cbf6
VRCP28SS X12, X30, K2, X30 // 62420d02cbf4
VRCP28SS X13, X11, K2, X3 // 62d2250acbdd
VRCP28SS X6, X11, K2, X3 // 62f2250acbde
VRCP28SS X12, X11, K2, X3 // 62d2250acbdc
VRCP28SS X13, X15, K2, X3 // 62d2050acbdd
VRCP28SS X6, X15, K2, X3 // 62f2050acbde
VRCP28SS X12, X15, K2, X3 // 62d2050acbdc
VRCP28SS X13, X30, K2, X3 // 62d20d02cbdd
VRCP28SS X6, X30, K2, X3 // 62f20d02cbde
VRCP28SS X12, X30, K2, X3 // 62d20d02cbdc
VRCP28SS X26, X20, K3, X23 // 62825d03cbfa or 62825d23cbfa or 62825d43cbfa
VRCP28SS X19, X20, K3, X23 // 62a25d03cbfb or 62a25d23cbfb or 62a25d43cbfb
VRCP28SS X0, X20, K3, X23 // 62e25d03cbf8 or 62e25d23cbf8 or 62e25d43cbf8
VRCP28SS -7(CX), X20, K3, X23 // 62e25d03cbb9f9ffffff or 62e25d23cbb9f9ffffff or 62e25d43cbb9f9ffffff
VRCP28SS 15(DX)(BX*4), X20, K3, X23 // 62e25d03cbbc9a0f000000 or 62e25d23cbbc9a0f000000 or 62e25d43cbbc9a0f000000
VRCP28SS X26, X2, K3, X23 // 62826d0bcbfa or 62826d2bcbfa or 62826d4bcbfa
VRCP28SS X19, X2, K3, X23 // 62a26d0bcbfb or 62a26d2bcbfb or 62a26d4bcbfb
VRCP28SS X0, X2, K3, X23 // 62e26d0bcbf8 or 62e26d2bcbf8 or 62e26d4bcbf8
VRCP28SS -7(CX), X2, K3, X23 // 62e26d0bcbb9f9ffffff or 62e26d2bcbb9f9ffffff or 62e26d4bcbb9f9ffffff
VRCP28SS 15(DX)(BX*4), X2, K3, X23 // 62e26d0bcbbc9a0f000000 or 62e26d2bcbbc9a0f000000 or 62e26d4bcbbc9a0f000000
VRCP28SS X26, X9, K3, X23 // 6282350bcbfa or 6282352bcbfa or 6282354bcbfa
VRCP28SS X19, X9, K3, X23 // 62a2350bcbfb or 62a2352bcbfb or 62a2354bcbfb
VRCP28SS X0, X9, K3, X23 // 62e2350bcbf8 or 62e2352bcbf8 or 62e2354bcbf8
VRCP28SS -7(CX), X9, K3, X23 // 62e2350bcbb9f9ffffff or 62e2352bcbb9f9ffffff or 62e2354bcbb9f9ffffff
VRCP28SS 15(DX)(BX*4), X9, K3, X23 // 62e2350bcbbc9a0f000000 or 62e2352bcbbc9a0f000000 or 62e2354bcbbc9a0f000000
VRCP28SS X26, X20, K3, X30 // 62025d03cbf2 or 62025d23cbf2 or 62025d43cbf2
VRCP28SS X19, X20, K3, X30 // 62225d03cbf3 or 62225d23cbf3 or 62225d43cbf3
VRCP28SS X0, X20, K3, X30 // 62625d03cbf0 or 62625d23cbf0 or 62625d43cbf0
VRCP28SS -7(CX), X20, K3, X30 // 62625d03cbb1f9ffffff or 62625d23cbb1f9ffffff or 62625d43cbb1f9ffffff
VRCP28SS 15(DX)(BX*4), X20, K3, X30 // 62625d03cbb49a0f000000 or 62625d23cbb49a0f000000 or 62625d43cbb49a0f000000
VRCP28SS X26, X2, K3, X30 // 62026d0bcbf2 or 62026d2bcbf2 or 62026d4bcbf2
VRCP28SS X19, X2, K3, X30 // 62226d0bcbf3 or 62226d2bcbf3 or 62226d4bcbf3
VRCP28SS X0, X2, K3, X30 // 62626d0bcbf0 or 62626d2bcbf0 or 62626d4bcbf0
VRCP28SS -7(CX), X2, K3, X30 // 62626d0bcbb1f9ffffff or 62626d2bcbb1f9ffffff or 62626d4bcbb1f9ffffff
VRCP28SS 15(DX)(BX*4), X2, K3, X30 // 62626d0bcbb49a0f000000 or 62626d2bcbb49a0f000000 or 62626d4bcbb49a0f000000
VRCP28SS X26, X9, K3, X30 // 6202350bcbf2 or 6202352bcbf2 or 6202354bcbf2
VRCP28SS X19, X9, K3, X30 // 6222350bcbf3 or 6222352bcbf3 or 6222354bcbf3
VRCP28SS X0, X9, K3, X30 // 6262350bcbf0 or 6262352bcbf0 or 6262354bcbf0
VRCP28SS -7(CX), X9, K3, X30 // 6262350bcbb1f9ffffff or 6262352bcbb1f9ffffff or 6262354bcbb1f9ffffff
VRCP28SS 15(DX)(BX*4), X9, K3, X30 // 6262350bcbb49a0f000000 or 6262352bcbb49a0f000000 or 6262354bcbb49a0f000000
VRCP28SS X26, X20, K3, X8 // 62125d03cbc2 or 62125d23cbc2 or 62125d43cbc2
VRCP28SS X19, X20, K3, X8 // 62325d03cbc3 or 62325d23cbc3 or 62325d43cbc3
VRCP28SS X0, X20, K3, X8 // 62725d03cbc0 or 62725d23cbc0 or 62725d43cbc0
VRCP28SS -7(CX), X20, K3, X8 // 62725d03cb81f9ffffff or 62725d23cb81f9ffffff or 62725d43cb81f9ffffff
VRCP28SS 15(DX)(BX*4), X20, K3, X8 // 62725d03cb849a0f000000 or 62725d23cb849a0f000000 or 62725d43cb849a0f000000
VRCP28SS X26, X2, K3, X8 // 62126d0bcbc2 or 62126d2bcbc2 or 62126d4bcbc2
VRCP28SS X19, X2, K3, X8 // 62326d0bcbc3 or 62326d2bcbc3 or 62326d4bcbc3
VRCP28SS X0, X2, K3, X8 // 62726d0bcbc0 or 62726d2bcbc0 or 62726d4bcbc0
VRCP28SS -7(CX), X2, K3, X8 // 62726d0bcb81f9ffffff or 62726d2bcb81f9ffffff or 62726d4bcb81f9ffffff
VRCP28SS 15(DX)(BX*4), X2, K3, X8 // 62726d0bcb849a0f000000 or 62726d2bcb849a0f000000 or 62726d4bcb849a0f000000
VRCP28SS X26, X9, K3, X8 // 6212350bcbc2 or 6212352bcbc2 or 6212354bcbc2
VRCP28SS X19, X9, K3, X8 // 6232350bcbc3 or 6232352bcbc3 or 6232354bcbc3
VRCP28SS X0, X9, K3, X8 // 6272350bcbc0 or 6272352bcbc0 or 6272354bcbc0
VRCP28SS -7(CX), X9, K3, X8 // 6272350bcb81f9ffffff or 6272352bcb81f9ffffff or 6272354bcb81f9ffffff
VRCP28SS 15(DX)(BX*4), X9, K3, X8 // 6272350bcb849a0f000000 or 6272352bcb849a0f000000 or 6272354bcb849a0f000000
VRSQRT28PD Z7, K3, Z3 // 62f2fd4bccdf
VRSQRT28PD Z9, K3, Z3 // 62d2fd4bccd9
VRSQRT28PD Z7, K3, Z27 // 6262fd4bccdf
VRSQRT28PD Z9, K3, Z27 // 6242fd4bccd9
VRSQRT28PD Z20, K3, Z0 // 62b2fd4bccc4
VRSQRT28PD Z28, K3, Z0 // 6292fd4bccc4
VRSQRT28PD (SI), K3, Z0 // 62f2fd4bcc06
VRSQRT28PD 7(SI)(DI*2), K3, Z0 // 62f2fd4bcc847e07000000
VRSQRT28PD Z20, K3, Z6 // 62b2fd4bccf4
VRSQRT28PD Z28, K3, Z6 // 6292fd4bccf4
VRSQRT28PD (SI), K3, Z6 // 62f2fd4bcc36
VRSQRT28PD 7(SI)(DI*2), K3, Z6 // 62f2fd4bccb47e07000000
VRSQRT28PS Z9, K2, Z3 // 62d27d4accd9
VRSQRT28PS Z19, K2, Z3 // 62b27d4accdb
VRSQRT28PS Z9, K2, Z30 // 62427d4accf1
VRSQRT28PS Z19, K2, Z30 // 62227d4accf3
VRSQRT28PS Z11, K1, Z12 // 62527d49cce3
VRSQRT28PS Z5, K1, Z12 // 62727d49cce5
VRSQRT28PS 17(SP)(BP*8), K1, Z12 // 62727d49cca4ec11000000
VRSQRT28PS 17(SP)(BP*4), K1, Z12 // 62727d49cca4ac11000000
VRSQRT28PS Z11, K1, Z22 // 62c27d49ccf3
VRSQRT28PS Z5, K1, Z22 // 62e27d49ccf5
VRSQRT28PS 17(SP)(BP*8), K1, Z22 // 62e27d49ccb4ec11000000
VRSQRT28PS 17(SP)(BP*4), K1, Z22 // 62e27d49ccb4ac11000000
VRSQRT28SD X20, X20, K2, X31 // 6222dd02cdfc
VRSQRT28SD X16, X20, K2, X31 // 6222dd02cdf8
VRSQRT28SD X12, X20, K2, X31 // 6242dd02cdfc
VRSQRT28SD X20, X24, K2, X31 // 6222bd02cdfc
VRSQRT28SD X16, X24, K2, X31 // 6222bd02cdf8
VRSQRT28SD X12, X24, K2, X31 // 6242bd02cdfc
VRSQRT28SD X20, X7, K2, X31 // 6222c50acdfc
VRSQRT28SD X16, X7, K2, X31 // 6222c50acdf8
VRSQRT28SD X12, X7, K2, X31 // 6242c50acdfc
VRSQRT28SD X20, X20, K2, X3 // 62b2dd02cddc
VRSQRT28SD X16, X20, K2, X3 // 62b2dd02cdd8
VRSQRT28SD X12, X20, K2, X3 // 62d2dd02cddc
VRSQRT28SD X20, X24, K2, X3 // 62b2bd02cddc
VRSQRT28SD X16, X24, K2, X3 // 62b2bd02cdd8
VRSQRT28SD X12, X24, K2, X3 // 62d2bd02cddc
VRSQRT28SD X20, X7, K2, X3 // 62b2c50acddc
VRSQRT28SD X16, X7, K2, X3 // 62b2c50acdd8
VRSQRT28SD X12, X7, K2, X3 // 62d2c50acddc
VRSQRT28SD X20, X20, K2, X28 // 6222dd02cde4
VRSQRT28SD X16, X20, K2, X28 // 6222dd02cde0
VRSQRT28SD X12, X20, K2, X28 // 6242dd02cde4
VRSQRT28SD X20, X24, K2, X28 // 6222bd02cde4
VRSQRT28SD X16, X24, K2, X28 // 6222bd02cde0
VRSQRT28SD X12, X24, K2, X28 // 6242bd02cde4
VRSQRT28SD X20, X7, K2, X28 // 6222c50acde4
VRSQRT28SD X16, X7, K2, X28 // 6222c50acde0
VRSQRT28SD X12, X7, K2, X28 // 6242c50acde4
VRSQRT28SD X8, X6, K1, X6 // 62d2cd09cdf0 or 62d2cd29cdf0 or 62d2cd49cdf0
VRSQRT28SD X6, X6, K1, X6 // 62f2cd09cdf6 or 62f2cd29cdf6 or 62f2cd49cdf6
VRSQRT28SD X0, X6, K1, X6 // 62f2cd09cdf0 or 62f2cd29cdf0 or 62f2cd49cdf0
VRSQRT28SD 99(R15)(R15*1), X6, K1, X6 // 6292cd09cdb43f63000000 or 6292cd29cdb43f63000000 or 6292cd49cdb43f63000000
VRSQRT28SD (DX), X6, K1, X6 // 62f2cd09cd32 or 62f2cd29cd32 or 62f2cd49cd32
VRSQRT28SD X8, X1, K1, X6 // 62d2f509cdf0 or 62d2f529cdf0 or 62d2f549cdf0
VRSQRT28SD X6, X1, K1, X6 // 62f2f509cdf6 or 62f2f529cdf6 or 62f2f549cdf6
VRSQRT28SD X0, X1, K1, X6 // 62f2f509cdf0 or 62f2f529cdf0 or 62f2f549cdf0
VRSQRT28SD 99(R15)(R15*1), X1, K1, X6 // 6292f509cdb43f63000000 or 6292f529cdb43f63000000 or 6292f549cdb43f63000000
VRSQRT28SD (DX), X1, K1, X6 // 62f2f509cd32 or 62f2f529cd32 or 62f2f549cd32
VRSQRT28SD X8, X8, K1, X6 // 62d2bd09cdf0 or 62d2bd29cdf0 or 62d2bd49cdf0
VRSQRT28SD X6, X8, K1, X6 // 62f2bd09cdf6 or 62f2bd29cdf6 or 62f2bd49cdf6
VRSQRT28SD X0, X8, K1, X6 // 62f2bd09cdf0 or 62f2bd29cdf0 or 62f2bd49cdf0
VRSQRT28SD 99(R15)(R15*1), X8, K1, X6 // 6292bd09cdb43f63000000 or 6292bd29cdb43f63000000 or 6292bd49cdb43f63000000
VRSQRT28SD (DX), X8, K1, X6 // 62f2bd09cd32 or 62f2bd29cd32 or 62f2bd49cd32
VRSQRT28SD X8, X6, K1, X17 // 62c2cd09cdc8 or 62c2cd29cdc8 or 62c2cd49cdc8
VRSQRT28SD X6, X6, K1, X17 // 62e2cd09cdce or 62e2cd29cdce or 62e2cd49cdce
VRSQRT28SD X0, X6, K1, X17 // 62e2cd09cdc8 or 62e2cd29cdc8 or 62e2cd49cdc8
VRSQRT28SD 99(R15)(R15*1), X6, K1, X17 // 6282cd09cd8c3f63000000 or 6282cd29cd8c3f63000000 or 6282cd49cd8c3f63000000
VRSQRT28SD (DX), X6, K1, X17 // 62e2cd09cd0a or 62e2cd29cd0a or 62e2cd49cd0a
VRSQRT28SD X8, X1, K1, X17 // 62c2f509cdc8 or 62c2f529cdc8 or 62c2f549cdc8
VRSQRT28SD X6, X1, K1, X17 // 62e2f509cdce or 62e2f529cdce or 62e2f549cdce
VRSQRT28SD X0, X1, K1, X17 // 62e2f509cdc8 or 62e2f529cdc8 or 62e2f549cdc8
VRSQRT28SD 99(R15)(R15*1), X1, K1, X17 // 6282f509cd8c3f63000000 or 6282f529cd8c3f63000000 or 6282f549cd8c3f63000000
VRSQRT28SD (DX), X1, K1, X17 // 62e2f509cd0a or 62e2f529cd0a or 62e2f549cd0a
VRSQRT28SD X8, X8, K1, X17 // 62c2bd09cdc8 or 62c2bd29cdc8 or 62c2bd49cdc8
VRSQRT28SD X6, X8, K1, X17 // 62e2bd09cdce or 62e2bd29cdce or 62e2bd49cdce
VRSQRT28SD X0, X8, K1, X17 // 62e2bd09cdc8 or 62e2bd29cdc8 or 62e2bd49cdc8
VRSQRT28SD 99(R15)(R15*1), X8, K1, X17 // 6282bd09cd8c3f63000000 or 6282bd29cd8c3f63000000 or 6282bd49cd8c3f63000000
VRSQRT28SD (DX), X8, K1, X17 // 62e2bd09cd0a or 62e2bd29cd0a or 62e2bd49cd0a
VRSQRT28SD X8, X6, K1, X28 // 6242cd09cde0 or 6242cd29cde0 or 6242cd49cde0
VRSQRT28SD X6, X6, K1, X28 // 6262cd09cde6 or 6262cd29cde6 or 6262cd49cde6
VRSQRT28SD X0, X6, K1, X28 // 6262cd09cde0 or 6262cd29cde0 or 6262cd49cde0
VRSQRT28SD 99(R15)(R15*1), X6, K1, X28 // 6202cd09cda43f63000000 or 6202cd29cda43f63000000 or 6202cd49cda43f63000000
VRSQRT28SD (DX), X6, K1, X28 // 6262cd09cd22 or 6262cd29cd22 or 6262cd49cd22
VRSQRT28SD X8, X1, K1, X28 // 6242f509cde0 or 6242f529cde0 or 6242f549cde0
VRSQRT28SD X6, X1, K1, X28 // 6262f509cde6 or 6262f529cde6 or 6262f549cde6
VRSQRT28SD X0, X1, K1, X28 // 6262f509cde0 or 6262f529cde0 or 6262f549cde0
VRSQRT28SD 99(R15)(R15*1), X1, K1, X28 // 6202f509cda43f63000000 or 6202f529cda43f63000000 or 6202f549cda43f63000000
VRSQRT28SD (DX), X1, K1, X28 // 6262f509cd22 or 6262f529cd22 or 6262f549cd22
VRSQRT28SD X8, X8, K1, X28 // 6242bd09cde0 or 6242bd29cde0 or 6242bd49cde0
VRSQRT28SD X6, X8, K1, X28 // 6262bd09cde6 or 6262bd29cde6 or 6262bd49cde6
VRSQRT28SD X0, X8, K1, X28 // 6262bd09cde0 or 6262bd29cde0 or 6262bd49cde0
VRSQRT28SD 99(R15)(R15*1), X8, K1, X28 // 6202bd09cda43f63000000 or 6202bd29cda43f63000000 or 6202bd49cda43f63000000
VRSQRT28SD (DX), X8, K1, X28 // 6262bd09cd22 or 6262bd29cd22 or 6262bd49cd22
VRSQRT28SS X16, X6, K7, X11 // 62324d0fcdd8
VRSQRT28SS X28, X6, K7, X11 // 62124d0fcddc
VRSQRT28SS X8, X6, K7, X11 // 62524d0fcdd8
VRSQRT28SS X16, X22, K7, X11 // 62324d07cdd8
VRSQRT28SS X28, X22, K7, X11 // 62124d07cddc
VRSQRT28SS X8, X22, K7, X11 // 62524d07cdd8
VRSQRT28SS X16, X12, K7, X11 // 62321d0fcdd8
VRSQRT28SS X28, X12, K7, X11 // 62121d0fcddc
VRSQRT28SS X8, X12, K7, X11 // 62521d0fcdd8
VRSQRT28SS X16, X6, K7, X16 // 62a24d0fcdc0
VRSQRT28SS X28, X6, K7, X16 // 62824d0fcdc4
VRSQRT28SS X8, X6, K7, X16 // 62c24d0fcdc0
VRSQRT28SS X16, X22, K7, X16 // 62a24d07cdc0
VRSQRT28SS X28, X22, K7, X16 // 62824d07cdc4
VRSQRT28SS X8, X22, K7, X16 // 62c24d07cdc0
VRSQRT28SS X16, X12, K7, X16 // 62a21d0fcdc0
VRSQRT28SS X28, X12, K7, X16 // 62821d0fcdc4
VRSQRT28SS X8, X12, K7, X16 // 62c21d0fcdc0
VRSQRT28SS X16, X6, K7, X6 // 62b24d0fcdf0
VRSQRT28SS X28, X6, K7, X6 // 62924d0fcdf4
VRSQRT28SS X8, X6, K7, X6 // 62d24d0fcdf0
VRSQRT28SS X16, X22, K7, X6 // 62b24d07cdf0
VRSQRT28SS X28, X22, K7, X6 // 62924d07cdf4
VRSQRT28SS X8, X22, K7, X6 // 62d24d07cdf0
VRSQRT28SS X16, X12, K7, X6 // 62b21d0fcdf0
VRSQRT28SS X28, X12, K7, X6 // 62921d0fcdf4
VRSQRT28SS X8, X12, K7, X6 // 62d21d0fcdf0
VRSQRT28SS X14, X19, K1, X15 // 62526501cdfe or 62526521cdfe or 62526541cdfe
VRSQRT28SS X0, X19, K1, X15 // 62726501cdf8 or 62726521cdf8 or 62726541cdf8
VRSQRT28SS 15(R8)(R14*4), X19, K1, X15 // 62126501cdbcb00f000000 or 62126521cdbcb00f000000 or 62126541cdbcb00f000000
VRSQRT28SS -7(CX)(DX*4), X19, K1, X15 // 62726501cdbc91f9ffffff or 62726521cdbc91f9ffffff or 62726541cdbc91f9ffffff
VRSQRT28SS X14, X13, K1, X15 // 62521509cdfe or 62521529cdfe or 62521549cdfe
VRSQRT28SS X0, X13, K1, X15 // 62721509cdf8 or 62721529cdf8 or 62721549cdf8
VRSQRT28SS 15(R8)(R14*4), X13, K1, X15 // 62121509cdbcb00f000000 or 62121529cdbcb00f000000 or 62121549cdbcb00f000000
VRSQRT28SS -7(CX)(DX*4), X13, K1, X15 // 62721509cdbc91f9ffffff or 62721529cdbc91f9ffffff or 62721549cdbc91f9ffffff
VRSQRT28SS X14, X2, K1, X15 // 62526d09cdfe or 62526d29cdfe or 62526d49cdfe
VRSQRT28SS X0, X2, K1, X15 // 62726d09cdf8 or 62726d29cdf8 or 62726d49cdf8
VRSQRT28SS 15(R8)(R14*4), X2, K1, X15 // 62126d09cdbcb00f000000 or 62126d29cdbcb00f000000 or 62126d49cdbcb00f000000
VRSQRT28SS -7(CX)(DX*4), X2, K1, X15 // 62726d09cdbc91f9ffffff or 62726d29cdbc91f9ffffff or 62726d49cdbc91f9ffffff
VRSQRT28SS X14, X19, K1, X11 // 62526501cdde or 62526521cdde or 62526541cdde
VRSQRT28SS X0, X19, K1, X11 // 62726501cdd8 or 62726521cdd8 or 62726541cdd8
VRSQRT28SS 15(R8)(R14*4), X19, K1, X11 // 62126501cd9cb00f000000 or 62126521cd9cb00f000000 or 62126541cd9cb00f000000
VRSQRT28SS -7(CX)(DX*4), X19, K1, X11 // 62726501cd9c91f9ffffff or 62726521cd9c91f9ffffff or 62726541cd9c91f9ffffff
VRSQRT28SS X14, X13, K1, X11 // 62521509cdde or 62521529cdde or 62521549cdde
VRSQRT28SS X0, X13, K1, X11 // 62721509cdd8 or 62721529cdd8 or 62721549cdd8
VRSQRT28SS 15(R8)(R14*4), X13, K1, X11 // 62121509cd9cb00f000000 or 62121529cd9cb00f000000 or 62121549cd9cb00f000000
VRSQRT28SS -7(CX)(DX*4), X13, K1, X11 // 62721509cd9c91f9ffffff or 62721529cd9c91f9ffffff or 62721549cd9c91f9ffffff
VRSQRT28SS X14, X2, K1, X11 // 62526d09cdde or 62526d29cdde or 62526d49cdde
VRSQRT28SS X0, X2, K1, X11 // 62726d09cdd8 or 62726d29cdd8 or 62726d49cdd8
VRSQRT28SS 15(R8)(R14*4), X2, K1, X11 // 62126d09cd9cb00f000000 or 62126d29cd9cb00f000000 or 62126d49cd9cb00f000000
VRSQRT28SS -7(CX)(DX*4), X2, K1, X11 // 62726d09cd9c91f9ffffff or 62726d29cd9c91f9ffffff or 62726d49cd9c91f9ffffff
VRSQRT28SS X14, X19, K1, X1 // 62d26501cdce or 62d26521cdce or 62d26541cdce
VRSQRT28SS X0, X19, K1, X1 // 62f26501cdc8 or 62f26521cdc8 or 62f26541cdc8
VRSQRT28SS 15(R8)(R14*4), X19, K1, X1 // 62926501cd8cb00f000000 or 62926521cd8cb00f000000 or 62926541cd8cb00f000000
VRSQRT28SS -7(CX)(DX*4), X19, K1, X1 // 62f26501cd8c91f9ffffff or 62f26521cd8c91f9ffffff or 62f26541cd8c91f9ffffff
VRSQRT28SS X14, X13, K1, X1 // 62d21509cdce or 62d21529cdce or 62d21549cdce
VRSQRT28SS X0, X13, K1, X1 // 62f21509cdc8 or 62f21529cdc8 or 62f21549cdc8
VRSQRT28SS 15(R8)(R14*4), X13, K1, X1 // 62921509cd8cb00f000000 or 62921529cd8cb00f000000 or 62921549cd8cb00f000000
VRSQRT28SS -7(CX)(DX*4), X13, K1, X1 // 62f21509cd8c91f9ffffff or 62f21529cd8c91f9ffffff or 62f21549cd8c91f9ffffff
VRSQRT28SS X14, X2, K1, X1 // 62d26d09cdce or 62d26d29cdce or 62d26d49cdce
VRSQRT28SS X0, X2, K1, X1 // 62f26d09cdc8 or 62f26d29cdc8 or 62f26d49cdc8
VRSQRT28SS 15(R8)(R14*4), X2, K1, X1 // 62926d09cd8cb00f000000 or 62926d29cd8cb00f000000 or 62926d49cd8cb00f000000
VRSQRT28SS -7(CX)(DX*4), X2, K1, X1 // 62f26d09cd8c91f9ffffff or 62f26d29cd8c91f9ffffff or 62f26d49cd8c91f9ffffff
RET
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -3,52 +3,52 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_avx512pf(SB), NOSPLIT, $0
//TODO: VGATHERPF0DPD K5, (R10)(Y29*8) // 6292fd45c60cea
//TODO: VGATHERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc60c64
//TODO: VGATHERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc60c92
//TODO: VGATHERPF0DPS K3, (BP)(Z10*2) // 62b27d4bc64c5500
//TODO: VGATHERPF0DPS K3, (R10)(Z29*8) // 62927d43c60cea
//TODO: VGATHERPF0DPS K3, (R14)(Z29*8) // 62927d43c60cee
//TODO: VGATHERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc70c92
//TODO: VGATHERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc70c20
//TODO: VGATHERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc70c64
//TODO: VGATHERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac74c5500
//TODO: VGATHERPF0QPS K2, (R10)(Z29*8) // 62927d42c70cea
//TODO: VGATHERPF0QPS K2, (R14)(Z29*8) // 62927d42c70cee
//TODO: VGATHERPF1DPD K2, (R14)(Y29*8) // 6292fd42c614ee
//TODO: VGATHERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac61420
//TODO: VGATHERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6545500
//TODO: VGATHERPF1DPS K3, (DX)(Z10*4) // 62b27d4bc61492
//TODO: VGATHERPF1DPS K3, (AX)(Z4*1) // 62f27d4bc61420
//TODO: VGATHERPF1DPS K3, (SP)(Z4*2) // 62f27d4bc61464
//TODO: VGATHERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc71492
//TODO: VGATHERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc71420
//TODO: VGATHERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc71464
//TODO: VGATHERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7545500
//TODO: VGATHERPF1QPS K3, (R10)(Z29*8) // 62927d43c714ea
//TODO: VGATHERPF1QPS K3, (R14)(Z29*8) // 62927d43c714ee
//TODO: VSCATTERPF0DPD K5, (R10)(Y29*8) // 6292fd45c62cea
//TODO: VSCATTERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc62c64
//TODO: VSCATTERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc62c92
//TODO: VSCATTERPF0DPS K3, (DX)(Z10*4) // 62b27d4bc62c92
//TODO: VSCATTERPF0DPS K3, (AX)(Z4*1) // 62f27d4bc62c20
//TODO: VSCATTERPF0DPS K3, (SP)(Z4*2) // 62f27d4bc62c64
//TODO: VSCATTERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc72c92
//TODO: VSCATTERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc72c20
//TODO: VSCATTERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc72c64
//TODO: VSCATTERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac76c5500
//TODO: VSCATTERPF0QPS K2, (R10)(Z29*8) // 62927d42c72cea
//TODO: VSCATTERPF0QPS K2, (R14)(Z29*8) // 62927d42c72cee
//TODO: VSCATTERPF1DPD K2, (R14)(Y29*8) // 6292fd42c634ee
//TODO: VSCATTERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac63420
//TODO: VSCATTERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6745500
//TODO: VSCATTERPF1DPS K3, (BP)(Z10*2) // 62b27d4bc6745500
//TODO: VSCATTERPF1DPS K3, (R10)(Z29*8) // 62927d43c634ea
//TODO: VSCATTERPF1DPS K3, (R14)(Z29*8) // 62927d43c634ee
//TODO: VSCATTERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc73492
//TODO: VSCATTERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc73420
//TODO: VSCATTERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc73464
//TODO: VSCATTERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7745500
//TODO: VSCATTERPF1QPS K3, (R10)(Z29*8) // 62927d43c734ea
//TODO: VSCATTERPF1QPS K3, (R14)(Z29*8) // 62927d43c734ee
VGATHERPF0DPD K5, (R10)(Y29*8) // 6292fd45c60cea
VGATHERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc60c64
VGATHERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc60c92
VGATHERPF0DPS K3, (BP)(Z10*2) // 62b27d4bc64c5500
VGATHERPF0DPS K3, (R10)(Z29*8) // 62927d43c60cea
VGATHERPF0DPS K3, (R14)(Z29*8) // 62927d43c60cee
VGATHERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc70c92
VGATHERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc70c20
VGATHERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc70c64
VGATHERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac74c5500
VGATHERPF0QPS K2, (R10)(Z29*8) // 62927d42c70cea
VGATHERPF0QPS K2, (R14)(Z29*8) // 62927d42c70cee
VGATHERPF1DPD K2, (R14)(Y29*8) // 6292fd42c614ee
VGATHERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac61420
VGATHERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6545500
VGATHERPF1DPS K3, (DX)(Z10*4) // 62b27d4bc61492
VGATHERPF1DPS K3, (AX)(Z4*1) // 62f27d4bc61420
VGATHERPF1DPS K3, (SP)(Z4*2) // 62f27d4bc61464
VGATHERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc71492
VGATHERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc71420
VGATHERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc71464
VGATHERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7545500
VGATHERPF1QPS K3, (R10)(Z29*8) // 62927d43c714ea
VGATHERPF1QPS K3, (R14)(Z29*8) // 62927d43c714ee
VSCATTERPF0DPD K5, (R10)(Y29*8) // 6292fd45c62cea
VSCATTERPF0DPD K5, (SP)(Y4*2) // 62f2fd4dc62c64
VSCATTERPF0DPD K5, (DX)(Y10*4) // 62b2fd4dc62c92
VSCATTERPF0DPS K3, (DX)(Z10*4) // 62b27d4bc62c92
VSCATTERPF0DPS K3, (AX)(Z4*1) // 62f27d4bc62c20
VSCATTERPF0DPS K3, (SP)(Z4*2) // 62f27d4bc62c64
VSCATTERPF0QPD K4, (DX)(Z10*4) // 62b2fd4cc72c92
VSCATTERPF0QPD K4, (AX)(Z4*1) // 62f2fd4cc72c20
VSCATTERPF0QPD K4, (SP)(Z4*2) // 62f2fd4cc72c64
VSCATTERPF0QPS K2, (BP)(Z10*2) // 62b27d4ac76c5500
VSCATTERPF0QPS K2, (R10)(Z29*8) // 62927d42c72cea
VSCATTERPF0QPS K2, (R14)(Z29*8) // 62927d42c72cee
VSCATTERPF1DPD K2, (R14)(Y29*8) // 6292fd42c634ee
VSCATTERPF1DPD K2, (AX)(Y4*1) // 62f2fd4ac63420
VSCATTERPF1DPD K2, (BP)(Y10*2) // 62b2fd4ac6745500
VSCATTERPF1DPS K3, (BP)(Z10*2) // 62b27d4bc6745500
VSCATTERPF1DPS K3, (R10)(Z29*8) // 62927d43c634ea
VSCATTERPF1DPS K3, (R14)(Z29*8) // 62927d43c634ee
VSCATTERPF1QPD K3, (DX)(Z10*4) // 62b2fd4bc73492
VSCATTERPF1QPD K3, (AX)(Z4*1) // 62f2fd4bc73420
VSCATTERPF1QPD K3, (SP)(Z4*2) // 62f2fd4bc73464
VSCATTERPF1QPS K3, (BP)(Z10*2) // 62b27d4bc7745500
VSCATTERPF1QPS K3, (R10)(Z29*8) // 62927d43c734ea
VSCATTERPF1QPS K3, (R14)(Z29*8) // 62927d43c734ee
RET
......@@ -3,322 +3,322 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_gfni_avx512f(SB), NOSPLIT, $0
//TODO: VGF2P8AFFINEINVQB $64, X8, X31, K3, X26 // 62438503cfd040
//TODO: VGF2P8AFFINEINVQB $64, X1, X31, K3, X26 // 62638503cfd140
//TODO: VGF2P8AFFINEINVQB $64, X0, X31, K3, X26 // 62638503cfd040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X26 // 62638503cf95efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X26 // 62038503cf94fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X16, K3, X26 // 6243fd03cfd040
//TODO: VGF2P8AFFINEINVQB $64, X1, X16, K3, X26 // 6263fd03cfd140
//TODO: VGF2P8AFFINEINVQB $64, X0, X16, K3, X26 // 6263fd03cfd040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X26 // 6263fd03cf95efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X26 // 6203fd03cf94fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X7, K3, X26 // 6243c50bcfd040
//TODO: VGF2P8AFFINEINVQB $64, X1, X7, K3, X26 // 6263c50bcfd140
//TODO: VGF2P8AFFINEINVQB $64, X0, X7, K3, X26 // 6263c50bcfd040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X26 // 6263c50bcf95efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X26 // 6203c50bcf94fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X31, K3, X19 // 62c38503cfd840
//TODO: VGF2P8AFFINEINVQB $64, X1, X31, K3, X19 // 62e38503cfd940
//TODO: VGF2P8AFFINEINVQB $64, X0, X31, K3, X19 // 62e38503cfd840
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X19 // 62e38503cf9defffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X19 // 62838503cf9cfef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X16, K3, X19 // 62c3fd03cfd840
//TODO: VGF2P8AFFINEINVQB $64, X1, X16, K3, X19 // 62e3fd03cfd940
//TODO: VGF2P8AFFINEINVQB $64, X0, X16, K3, X19 // 62e3fd03cfd840
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X19 // 62e3fd03cf9defffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X19 // 6283fd03cf9cfef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X7, K3, X19 // 62c3c50bcfd840
//TODO: VGF2P8AFFINEINVQB $64, X1, X7, K3, X19 // 62e3c50bcfd940
//TODO: VGF2P8AFFINEINVQB $64, X0, X7, K3, X19 // 62e3c50bcfd840
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X19 // 62e3c50bcf9defffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X19 // 6283c50bcf9cfef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X31, K3, X0 // 62d38503cfc040
//TODO: VGF2P8AFFINEINVQB $64, X1, X31, K3, X0 // 62f38503cfc140
//TODO: VGF2P8AFFINEINVQB $64, X0, X31, K3, X0 // 62f38503cfc040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X0 // 62f38503cf85efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X0 // 62938503cf84fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X16, K3, X0 // 62d3fd03cfc040
//TODO: VGF2P8AFFINEINVQB $64, X1, X16, K3, X0 // 62f3fd03cfc140
//TODO: VGF2P8AFFINEINVQB $64, X0, X16, K3, X0 // 62f3fd03cfc040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X0 // 62f3fd03cf85efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X0 // 6293fd03cf84fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $64, X8, X7, K3, X0 // 62d3c50bcfc040
//TODO: VGF2P8AFFINEINVQB $64, X1, X7, K3, X0 // 62f3c50bcfc140
//TODO: VGF2P8AFFINEINVQB $64, X0, X7, K3, X0 // 62f3c50bcfc040
//TODO: VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X0 // 62f3c50bcf85efffffff40
//TODO: VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X0 // 6293c50bcf84fef1ffffff40
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y0 // 62f3dd23cfc51b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y0 // 6293dd23cfc41b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y0 // 62f3dd23cfc71b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y0 // 62f3dd23cf031b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y0 // 62f3dd23cf8435efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y0 // 62f39d2bcfc51b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y0 // 62939d2bcfc41b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y0 // 62f39d2bcfc71b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y0 // 62f39d2bcf031b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y0 // 62f39d2bcf8435efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y0 // 62f3e52bcfc51b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y0 // 6293e52bcfc41b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y0 // 62f3e52bcfc71b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y0 // 62f3e52bcf031b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y0 // 62f3e52bcf8435efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y3 // 62f3dd23cfdd1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y3 // 6293dd23cfdc1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y3 // 62f3dd23cfdf1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y3 // 62f3dd23cf1b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y3 // 62f3dd23cf9c35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y3 // 62f39d2bcfdd1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y3 // 62939d2bcfdc1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y3 // 62f39d2bcfdf1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y3 // 62f39d2bcf1b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y3 // 62f39d2bcf9c35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y3 // 62f3e52bcfdd1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y3 // 6293e52bcfdc1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y3 // 62f3e52bcfdf1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y3 // 62f3e52bcf1b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y3 // 62f3e52bcf9c35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y5 // 62f3dd23cfed1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y5 // 6293dd23cfec1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y5 // 62f3dd23cfef1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y5 // 62f3dd23cf2b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y5 // 62f3dd23cfac35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y5 // 62f39d2bcfed1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y5 // 62939d2bcfec1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y5 // 62f39d2bcfef1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y5 // 62f39d2bcf2b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y5 // 62f39d2bcfac35efffffff1b
//TODO: VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y5 // 62f3e52bcfed1b
//TODO: VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y5 // 6293e52bcfec1b
//TODO: VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y5 // 62f3e52bcfef1b
//TODO: VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y5 // 62f3e52bcf2b1b
//TODO: VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y5 // 62f3e52bcfac35efffffff1b
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z28 // 62638d4acfe32f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z28 // 62438d4acfe42f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z28 // 62038d4acfa43f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z28 // 62638d4acf222f
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z28 // 62639d42cfe32f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z28 // 62439d42cfe42f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z28 // 62039d42cfa43f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z28 // 62639d42cf222f
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z13 // 62738d4acfeb2f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z13 // 62538d4acfec2f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z13 // 62138d4acfac3f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z13 // 62738d4acf2a2f
//TODO: VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z13 // 62739d42cfeb2f
//TODO: VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z13 // 62539d42cfec2f
//TODO: VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z13 // 62139d42cfac3f630000002f
//TODO: VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z13 // 62739d42cf2a2f
//TODO: VGF2P8AFFINEQB $82, X22, X21, K1, X15 // 6233d501cefe52
//TODO: VGF2P8AFFINEQB $82, X7, X21, K1, X15 // 6273d501ceff52
//TODO: VGF2P8AFFINEQB $82, X19, X21, K1, X15 // 6233d501cefb52
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X15 // 6273d501cebc6c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X15 // 6233d501cebc87f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X0, K1, X15 // 6233fd09cefe52
//TODO: VGF2P8AFFINEQB $82, X7, X0, K1, X15 // 6273fd09ceff52
//TODO: VGF2P8AFFINEQB $82, X19, X0, K1, X15 // 6233fd09cefb52
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X15 // 6273fd09cebc6c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X15 // 6233fd09cebc87f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X28, K1, X15 // 62339d01cefe52
//TODO: VGF2P8AFFINEQB $82, X7, X28, K1, X15 // 62739d01ceff52
//TODO: VGF2P8AFFINEQB $82, X19, X28, K1, X15 // 62339d01cefb52
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X15 // 62739d01cebc6c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X15 // 62339d01cebc87f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X21, K1, X0 // 62b3d501cec652
//TODO: VGF2P8AFFINEQB $82, X7, X21, K1, X0 // 62f3d501cec752
//TODO: VGF2P8AFFINEQB $82, X19, X21, K1, X0 // 62b3d501cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X0 // 62f3d501ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X0 // 62b3d501ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X0, K1, X0 // 62b3fd09cec652
//TODO: VGF2P8AFFINEQB $82, X7, X0, K1, X0 // 62f3fd09cec752
//TODO: VGF2P8AFFINEQB $82, X19, X0, K1, X0 // 62b3fd09cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X0 // 62f3fd09ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X0 // 62b3fd09ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X28, K1, X0 // 62b39d01cec652
//TODO: VGF2P8AFFINEQB $82, X7, X28, K1, X0 // 62f39d01cec752
//TODO: VGF2P8AFFINEQB $82, X19, X28, K1, X0 // 62b39d01cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X0 // 62f39d01ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X0 // 62b39d01ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X21, K1, X16 // 62a3d501cec652
//TODO: VGF2P8AFFINEQB $82, X7, X21, K1, X16 // 62e3d501cec752
//TODO: VGF2P8AFFINEQB $82, X19, X21, K1, X16 // 62a3d501cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X16 // 62e3d501ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X16 // 62a3d501ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X0, K1, X16 // 62a3fd09cec652
//TODO: VGF2P8AFFINEQB $82, X7, X0, K1, X16 // 62e3fd09cec752
//TODO: VGF2P8AFFINEQB $82, X19, X0, K1, X16 // 62a3fd09cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X16 // 62e3fd09ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X16 // 62a3fd09ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $82, X22, X28, K1, X16 // 62a39d01cec652
//TODO: VGF2P8AFFINEQB $82, X7, X28, K1, X16 // 62e39d01cec752
//TODO: VGF2P8AFFINEQB $82, X19, X28, K1, X16 // 62a39d01cec352
//TODO: VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X16 // 62e39d01ce846c1100000052
//TODO: VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X16 // 62a39d01ce8487f9ffffff52
//TODO: VGF2P8AFFINEQB $126, Y17, Y12, K2, Y0 // 62b39d2acec17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y12, K2, Y0 // 62f39d2acec77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y12, K2, Y0 // 62d39d2acec17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y0 // 62939d2ace84b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y0 // 62f39d2ace8491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y1, K2, Y0 // 62b3f52acec17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y1, K2, Y0 // 62f3f52acec77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y1, K2, Y0 // 62d3f52acec17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y0 // 6293f52ace84b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y0 // 62f3f52ace8491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y14, K2, Y0 // 62b38d2acec17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y14, K2, Y0 // 62f38d2acec77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y14, K2, Y0 // 62d38d2acec17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y0 // 62938d2ace84b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y0 // 62f38d2ace8491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y12, K2, Y22 // 62a39d2acef17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y12, K2, Y22 // 62e39d2acef77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y12, K2, Y22 // 62c39d2acef17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y22 // 62839d2aceb4b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y22 // 62e39d2aceb491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y1, K2, Y22 // 62a3f52acef17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y1, K2, Y22 // 62e3f52acef77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y1, K2, Y22 // 62c3f52acef17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y22 // 6283f52aceb4b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y22 // 62e3f52aceb491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y14, K2, Y22 // 62a38d2acef17e
//TODO: VGF2P8AFFINEQB $126, Y7, Y14, K2, Y22 // 62e38d2acef77e
//TODO: VGF2P8AFFINEQB $126, Y9, Y14, K2, Y22 // 62c38d2acef17e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y22 // 62838d2aceb4b00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y22 // 62e38d2aceb491f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y12, K2, Y13 // 62339d2acee97e
//TODO: VGF2P8AFFINEQB $126, Y7, Y12, K2, Y13 // 62739d2aceef7e
//TODO: VGF2P8AFFINEQB $126, Y9, Y12, K2, Y13 // 62539d2acee97e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y13 // 62139d2aceacb00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y13 // 62739d2aceac91f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y1, K2, Y13 // 6233f52acee97e
//TODO: VGF2P8AFFINEQB $126, Y7, Y1, K2, Y13 // 6273f52aceef7e
//TODO: VGF2P8AFFINEQB $126, Y9, Y1, K2, Y13 // 6253f52acee97e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y13 // 6213f52aceacb00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y13 // 6273f52aceac91f9ffffff7e
//TODO: VGF2P8AFFINEQB $126, Y17, Y14, K2, Y13 // 62338d2acee97e
//TODO: VGF2P8AFFINEQB $126, Y7, Y14, K2, Y13 // 62738d2aceef7e
//TODO: VGF2P8AFFINEQB $126, Y9, Y14, K2, Y13 // 62538d2acee97e
//TODO: VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y13 // 62138d2aceacb00f0000007e
//TODO: VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y13 // 62738d2aceac91f9ffffff7e
//TODO: VGF2P8AFFINEQB $94, Z5, Z19, K1, Z15 // 6273e541cefd5e
//TODO: VGF2P8AFFINEQB $94, Z1, Z19, K1, Z15 // 6273e541cef95e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z15 // 6273e541cebcf5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z19, K1, Z15 // 6253e541ce3f5e
//TODO: VGF2P8AFFINEQB $94, Z5, Z15, K1, Z15 // 62738549cefd5e
//TODO: VGF2P8AFFINEQB $94, Z1, Z15, K1, Z15 // 62738549cef95e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z15 // 62738549cebcf5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z15, K1, Z15 // 62538549ce3f5e
//TODO: VGF2P8AFFINEQB $94, Z5, Z19, K1, Z30 // 6263e541cef55e
//TODO: VGF2P8AFFINEQB $94, Z1, Z19, K1, Z30 // 6263e541cef15e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z30 // 6263e541ceb4f5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z19, K1, Z30 // 6243e541ce375e
//TODO: VGF2P8AFFINEQB $94, Z5, Z15, K1, Z30 // 62638549cef55e
//TODO: VGF2P8AFFINEQB $94, Z1, Z15, K1, Z30 // 62638549cef15e
//TODO: VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z30 // 62638549ceb4f5efffffff5e
//TODO: VGF2P8AFFINEQB $94, (R15), Z15, K1, Z30 // 62438549ce375e
//TODO: VGF2P8MULB X15, X1, K7, X7 // 62d2750fcfff
//TODO: VGF2P8MULB X12, X1, K7, X7 // 62d2750fcffc
//TODO: VGF2P8MULB X0, X1, K7, X7 // 62f2750fcff8
//TODO: VGF2P8MULB 15(R8), X1, K7, X7 // 62d2750fcfb80f000000
//TODO: VGF2P8MULB (BP), X1, K7, X7 // 62f2750fcf7d00
//TODO: VGF2P8MULB X15, X7, K7, X7 // 62d2450fcfff
//TODO: VGF2P8MULB X12, X7, K7, X7 // 62d2450fcffc
//TODO: VGF2P8MULB X0, X7, K7, X7 // 62f2450fcff8
//TODO: VGF2P8MULB 15(R8), X7, K7, X7 // 62d2450fcfb80f000000
//TODO: VGF2P8MULB (BP), X7, K7, X7 // 62f2450fcf7d00
//TODO: VGF2P8MULB X15, X9, K7, X7 // 62d2350fcfff
//TODO: VGF2P8MULB X12, X9, K7, X7 // 62d2350fcffc
//TODO: VGF2P8MULB X0, X9, K7, X7 // 62f2350fcff8
//TODO: VGF2P8MULB 15(R8), X9, K7, X7 // 62d2350fcfb80f000000
//TODO: VGF2P8MULB (BP), X9, K7, X7 // 62f2350fcf7d00
//TODO: VGF2P8MULB X15, X1, K7, X16 // 62c2750fcfc7
//TODO: VGF2P8MULB X12, X1, K7, X16 // 62c2750fcfc4
//TODO: VGF2P8MULB X0, X1, K7, X16 // 62e2750fcfc0
//TODO: VGF2P8MULB 15(R8), X1, K7, X16 // 62c2750fcf800f000000
//TODO: VGF2P8MULB (BP), X1, K7, X16 // 62e2750fcf4500
//TODO: VGF2P8MULB X15, X7, K7, X16 // 62c2450fcfc7
//TODO: VGF2P8MULB X12, X7, K7, X16 // 62c2450fcfc4
//TODO: VGF2P8MULB X0, X7, K7, X16 // 62e2450fcfc0
//TODO: VGF2P8MULB 15(R8), X7, K7, X16 // 62c2450fcf800f000000
//TODO: VGF2P8MULB (BP), X7, K7, X16 // 62e2450fcf4500
//TODO: VGF2P8MULB X15, X9, K7, X16 // 62c2350fcfc7
//TODO: VGF2P8MULB X12, X9, K7, X16 // 62c2350fcfc4
//TODO: VGF2P8MULB X0, X9, K7, X16 // 62e2350fcfc0
//TODO: VGF2P8MULB 15(R8), X9, K7, X16 // 62c2350fcf800f000000
//TODO: VGF2P8MULB (BP), X9, K7, X16 // 62e2350fcf4500
//TODO: VGF2P8MULB X15, X1, K7, X31 // 6242750fcfff
//TODO: VGF2P8MULB X12, X1, K7, X31 // 6242750fcffc
//TODO: VGF2P8MULB X0, X1, K7, X31 // 6262750fcff8
//TODO: VGF2P8MULB 15(R8), X1, K7, X31 // 6242750fcfb80f000000
//TODO: VGF2P8MULB (BP), X1, K7, X31 // 6262750fcf7d00
//TODO: VGF2P8MULB X15, X7, K7, X31 // 6242450fcfff
//TODO: VGF2P8MULB X12, X7, K7, X31 // 6242450fcffc
//TODO: VGF2P8MULB X0, X7, K7, X31 // 6262450fcff8
//TODO: VGF2P8MULB 15(R8), X7, K7, X31 // 6242450fcfb80f000000
//TODO: VGF2P8MULB (BP), X7, K7, X31 // 6262450fcf7d00
//TODO: VGF2P8MULB X15, X9, K7, X31 // 6242350fcfff
//TODO: VGF2P8MULB X12, X9, K7, X31 // 6242350fcffc
//TODO: VGF2P8MULB X0, X9, K7, X31 // 6262350fcff8
//TODO: VGF2P8MULB 15(R8), X9, K7, X31 // 6242350fcfb80f000000
//TODO: VGF2P8MULB (BP), X9, K7, X31 // 6262350fcf7d00
//TODO: VGF2P8MULB Y2, Y28, K1, Y31 // 62621d21cffa
//TODO: VGF2P8MULB Y21, Y28, K1, Y31 // 62221d21cffd
//TODO: VGF2P8MULB Y12, Y28, K1, Y31 // 62421d21cffc
//TODO: VGF2P8MULB (R8), Y28, K1, Y31 // 62421d21cf38
//TODO: VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y31 // 62621d21cfbc5a0f000000
//TODO: VGF2P8MULB Y2, Y13, K1, Y31 // 62621529cffa
//TODO: VGF2P8MULB Y21, Y13, K1, Y31 // 62221529cffd
//TODO: VGF2P8MULB Y12, Y13, K1, Y31 // 62421529cffc
//TODO: VGF2P8MULB (R8), Y13, K1, Y31 // 62421529cf38
//TODO: VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y31 // 62621529cfbc5a0f000000
//TODO: VGF2P8MULB Y2, Y7, K1, Y31 // 62624529cffa
//TODO: VGF2P8MULB Y21, Y7, K1, Y31 // 62224529cffd
//TODO: VGF2P8MULB Y12, Y7, K1, Y31 // 62424529cffc
//TODO: VGF2P8MULB (R8), Y7, K1, Y31 // 62424529cf38
//TODO: VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y31 // 62624529cfbc5a0f000000
//TODO: VGF2P8MULB Y2, Y28, K1, Y8 // 62721d21cfc2
//TODO: VGF2P8MULB Y21, Y28, K1, Y8 // 62321d21cfc5
//TODO: VGF2P8MULB Y12, Y28, K1, Y8 // 62521d21cfc4
//TODO: VGF2P8MULB (R8), Y28, K1, Y8 // 62521d21cf00
//TODO: VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y8 // 62721d21cf845a0f000000
//TODO: VGF2P8MULB Y2, Y13, K1, Y8 // 62721529cfc2
//TODO: VGF2P8MULB Y21, Y13, K1, Y8 // 62321529cfc5
//TODO: VGF2P8MULB Y12, Y13, K1, Y8 // 62521529cfc4
//TODO: VGF2P8MULB (R8), Y13, K1, Y8 // 62521529cf00
//TODO: VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y8 // 62721529cf845a0f000000
//TODO: VGF2P8MULB Y2, Y7, K1, Y8 // 62724529cfc2
//TODO: VGF2P8MULB Y21, Y7, K1, Y8 // 62324529cfc5
//TODO: VGF2P8MULB Y12, Y7, K1, Y8 // 62524529cfc4
//TODO: VGF2P8MULB (R8), Y7, K1, Y8 // 62524529cf00
//TODO: VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y8 // 62724529cf845a0f000000
//TODO: VGF2P8MULB Y2, Y28, K1, Y1 // 62f21d21cfca
//TODO: VGF2P8MULB Y21, Y28, K1, Y1 // 62b21d21cfcd
//TODO: VGF2P8MULB Y12, Y28, K1, Y1 // 62d21d21cfcc
//TODO: VGF2P8MULB (R8), Y28, K1, Y1 // 62d21d21cf08
//TODO: VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y1 // 62f21d21cf8c5a0f000000
//TODO: VGF2P8MULB Y2, Y13, K1, Y1 // 62f21529cfca
//TODO: VGF2P8MULB Y21, Y13, K1, Y1 // 62b21529cfcd
//TODO: VGF2P8MULB Y12, Y13, K1, Y1 // 62d21529cfcc
//TODO: VGF2P8MULB (R8), Y13, K1, Y1 // 62d21529cf08
//TODO: VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y1 // 62f21529cf8c5a0f000000
//TODO: VGF2P8MULB Y2, Y7, K1, Y1 // 62f24529cfca
//TODO: VGF2P8MULB Y21, Y7, K1, Y1 // 62b24529cfcd
//TODO: VGF2P8MULB Y12, Y7, K1, Y1 // 62d24529cfcc
//TODO: VGF2P8MULB (R8), Y7, K1, Y1 // 62d24529cf08
//TODO: VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y1 // 62f24529cf8c5a0f000000
//TODO: VGF2P8MULB Z21, Z14, K1, Z3 // 62b20d49cfdd
//TODO: VGF2P8MULB Z8, Z14, K1, Z3 // 62d20d49cfd8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z3 // 62f20d49cf9cfe07000000
//TODO: VGF2P8MULB -15(R14), Z14, K1, Z3 // 62d20d49cf9ef1ffffff
//TODO: VGF2P8MULB Z21, Z15, K1, Z3 // 62b20549cfdd
//TODO: VGF2P8MULB Z8, Z15, K1, Z3 // 62d20549cfd8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z3 // 62f20549cf9cfe07000000
//TODO: VGF2P8MULB -15(R14), Z15, K1, Z3 // 62d20549cf9ef1ffffff
//TODO: VGF2P8MULB Z21, Z14, K1, Z5 // 62b20d49cfed
//TODO: VGF2P8MULB Z8, Z14, K1, Z5 // 62d20d49cfe8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z5 // 62f20d49cfacfe07000000
//TODO: VGF2P8MULB -15(R14), Z14, K1, Z5 // 62d20d49cfaef1ffffff
//TODO: VGF2P8MULB Z21, Z15, K1, Z5 // 62b20549cfed
//TODO: VGF2P8MULB Z8, Z15, K1, Z5 // 62d20549cfe8
//TODO: VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z5 // 62f20549cfacfe07000000
//TODO: VGF2P8MULB -15(R14), Z15, K1, Z5 // 62d20549cfaef1ffffff
VGF2P8AFFINEINVQB $64, X8, X31, K3, X26 // 62438503cfd040
VGF2P8AFFINEINVQB $64, X1, X31, K3, X26 // 62638503cfd140
VGF2P8AFFINEINVQB $64, X0, X31, K3, X26 // 62638503cfd040
VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X26 // 62638503cf95efffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X26 // 62038503cf94fef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X16, K3, X26 // 6243fd03cfd040
VGF2P8AFFINEINVQB $64, X1, X16, K3, X26 // 6263fd03cfd140
VGF2P8AFFINEINVQB $64, X0, X16, K3, X26 // 6263fd03cfd040
VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X26 // 6263fd03cf95efffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X26 // 6203fd03cf94fef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X7, K3, X26 // 6243c50bcfd040
VGF2P8AFFINEINVQB $64, X1, X7, K3, X26 // 6263c50bcfd140
VGF2P8AFFINEINVQB $64, X0, X7, K3, X26 // 6263c50bcfd040
VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X26 // 6263c50bcf95efffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X26 // 6203c50bcf94fef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X31, K3, X19 // 62c38503cfd840
VGF2P8AFFINEINVQB $64, X1, X31, K3, X19 // 62e38503cfd940
VGF2P8AFFINEINVQB $64, X0, X31, K3, X19 // 62e38503cfd840
VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X19 // 62e38503cf9defffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X19 // 62838503cf9cfef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X16, K3, X19 // 62c3fd03cfd840
VGF2P8AFFINEINVQB $64, X1, X16, K3, X19 // 62e3fd03cfd940
VGF2P8AFFINEINVQB $64, X0, X16, K3, X19 // 62e3fd03cfd840
VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X19 // 62e3fd03cf9defffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X19 // 6283fd03cf9cfef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X7, K3, X19 // 62c3c50bcfd840
VGF2P8AFFINEINVQB $64, X1, X7, K3, X19 // 62e3c50bcfd940
VGF2P8AFFINEINVQB $64, X0, X7, K3, X19 // 62e3c50bcfd840
VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X19 // 62e3c50bcf9defffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X19 // 6283c50bcf9cfef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X31, K3, X0 // 62d38503cfc040
VGF2P8AFFINEINVQB $64, X1, X31, K3, X0 // 62f38503cfc140
VGF2P8AFFINEINVQB $64, X0, X31, K3, X0 // 62f38503cfc040
VGF2P8AFFINEINVQB $64, -17(BP), X31, K3, X0 // 62f38503cf85efffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X31, K3, X0 // 62938503cf84fef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X16, K3, X0 // 62d3fd03cfc040
VGF2P8AFFINEINVQB $64, X1, X16, K3, X0 // 62f3fd03cfc140
VGF2P8AFFINEINVQB $64, X0, X16, K3, X0 // 62f3fd03cfc040
VGF2P8AFFINEINVQB $64, -17(BP), X16, K3, X0 // 62f3fd03cf85efffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X16, K3, X0 // 6293fd03cf84fef1ffffff40
VGF2P8AFFINEINVQB $64, X8, X7, K3, X0 // 62d3c50bcfc040
VGF2P8AFFINEINVQB $64, X1, X7, K3, X0 // 62f3c50bcfc140
VGF2P8AFFINEINVQB $64, X0, X7, K3, X0 // 62f3c50bcfc040
VGF2P8AFFINEINVQB $64, -17(BP), X7, K3, X0 // 62f3c50bcf85efffffff40
VGF2P8AFFINEINVQB $64, -15(R14)(R15*8), X7, K3, X0 // 6293c50bcf84fef1ffffff40
VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y0 // 62f3dd23cfc51b
VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y0 // 6293dd23cfc41b
VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y0 // 62f3dd23cfc71b
VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y0 // 62f3dd23cf031b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y0 // 62f3dd23cf8435efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y0 // 62f39d2bcfc51b
VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y0 // 62939d2bcfc41b
VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y0 // 62f39d2bcfc71b
VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y0 // 62f39d2bcf031b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y0 // 62f39d2bcf8435efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y0 // 62f3e52bcfc51b
VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y0 // 6293e52bcfc41b
VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y0 // 62f3e52bcfc71b
VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y0 // 62f3e52bcf031b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y0 // 62f3e52bcf8435efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y3 // 62f3dd23cfdd1b
VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y3 // 6293dd23cfdc1b
VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y3 // 62f3dd23cfdf1b
VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y3 // 62f3dd23cf1b1b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y3 // 62f3dd23cf9c35efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y3 // 62f39d2bcfdd1b
VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y3 // 62939d2bcfdc1b
VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y3 // 62f39d2bcfdf1b
VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y3 // 62f39d2bcf1b1b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y3 // 62f39d2bcf9c35efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y3 // 62f3e52bcfdd1b
VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y3 // 6293e52bcfdc1b
VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y3 // 62f3e52bcfdf1b
VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y3 // 62f3e52bcf1b1b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y3 // 62f3e52bcf9c35efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y20, K3, Y5 // 62f3dd23cfed1b
VGF2P8AFFINEINVQB $27, Y28, Y20, K3, Y5 // 6293dd23cfec1b
VGF2P8AFFINEINVQB $27, Y7, Y20, K3, Y5 // 62f3dd23cfef1b
VGF2P8AFFINEINVQB $27, (BX), Y20, K3, Y5 // 62f3dd23cf2b1b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y20, K3, Y5 // 62f3dd23cfac35efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y12, K3, Y5 // 62f39d2bcfed1b
VGF2P8AFFINEINVQB $27, Y28, Y12, K3, Y5 // 62939d2bcfec1b
VGF2P8AFFINEINVQB $27, Y7, Y12, K3, Y5 // 62f39d2bcfef1b
VGF2P8AFFINEINVQB $27, (BX), Y12, K3, Y5 // 62f39d2bcf2b1b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y12, K3, Y5 // 62f39d2bcfac35efffffff1b
VGF2P8AFFINEINVQB $27, Y5, Y3, K3, Y5 // 62f3e52bcfed1b
VGF2P8AFFINEINVQB $27, Y28, Y3, K3, Y5 // 6293e52bcfec1b
VGF2P8AFFINEINVQB $27, Y7, Y3, K3, Y5 // 62f3e52bcfef1b
VGF2P8AFFINEINVQB $27, (BX), Y3, K3, Y5 // 62f3e52bcf2b1b
VGF2P8AFFINEINVQB $27, -17(BP)(SI*1), Y3, K3, Y5 // 62f3e52bcfac35efffffff1b
VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z28 // 62638d4acfe32f
VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z28 // 62438d4acfe42f
VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z28 // 62038d4acfa43f630000002f
VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z28 // 62638d4acf222f
VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z28 // 62639d42cfe32f
VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z28 // 62439d42cfe42f
VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z28 // 62039d42cfa43f630000002f
VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z28 // 62639d42cf222f
VGF2P8AFFINEINVQB $47, Z3, Z14, K2, Z13 // 62738d4acfeb2f
VGF2P8AFFINEINVQB $47, Z12, Z14, K2, Z13 // 62538d4acfec2f
VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z14, K2, Z13 // 62138d4acfac3f630000002f
VGF2P8AFFINEINVQB $47, (DX), Z14, K2, Z13 // 62738d4acf2a2f
VGF2P8AFFINEINVQB $47, Z3, Z28, K2, Z13 // 62739d42cfeb2f
VGF2P8AFFINEINVQB $47, Z12, Z28, K2, Z13 // 62539d42cfec2f
VGF2P8AFFINEINVQB $47, 99(R15)(R15*1), Z28, K2, Z13 // 62139d42cfac3f630000002f
VGF2P8AFFINEINVQB $47, (DX), Z28, K2, Z13 // 62739d42cf2a2f
VGF2P8AFFINEQB $82, X22, X21, K1, X15 // 6233d501cefe52
VGF2P8AFFINEQB $82, X7, X21, K1, X15 // 6273d501ceff52
VGF2P8AFFINEQB $82, X19, X21, K1, X15 // 6233d501cefb52
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X15 // 6273d501cebc6c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X15 // 6233d501cebc87f9ffffff52
VGF2P8AFFINEQB $82, X22, X0, K1, X15 // 6233fd09cefe52
VGF2P8AFFINEQB $82, X7, X0, K1, X15 // 6273fd09ceff52
VGF2P8AFFINEQB $82, X19, X0, K1, X15 // 6233fd09cefb52
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X15 // 6273fd09cebc6c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X15 // 6233fd09cebc87f9ffffff52
VGF2P8AFFINEQB $82, X22, X28, K1, X15 // 62339d01cefe52
VGF2P8AFFINEQB $82, X7, X28, K1, X15 // 62739d01ceff52
VGF2P8AFFINEQB $82, X19, X28, K1, X15 // 62339d01cefb52
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X15 // 62739d01cebc6c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X15 // 62339d01cebc87f9ffffff52
VGF2P8AFFINEQB $82, X22, X21, K1, X0 // 62b3d501cec652
VGF2P8AFFINEQB $82, X7, X21, K1, X0 // 62f3d501cec752
VGF2P8AFFINEQB $82, X19, X21, K1, X0 // 62b3d501cec352
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X0 // 62f3d501ce846c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X0 // 62b3d501ce8487f9ffffff52
VGF2P8AFFINEQB $82, X22, X0, K1, X0 // 62b3fd09cec652
VGF2P8AFFINEQB $82, X7, X0, K1, X0 // 62f3fd09cec752
VGF2P8AFFINEQB $82, X19, X0, K1, X0 // 62b3fd09cec352
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X0 // 62f3fd09ce846c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X0 // 62b3fd09ce8487f9ffffff52
VGF2P8AFFINEQB $82, X22, X28, K1, X0 // 62b39d01cec652
VGF2P8AFFINEQB $82, X7, X28, K1, X0 // 62f39d01cec752
VGF2P8AFFINEQB $82, X19, X28, K1, X0 // 62b39d01cec352
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X0 // 62f39d01ce846c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X0 // 62b39d01ce8487f9ffffff52
VGF2P8AFFINEQB $82, X22, X21, K1, X16 // 62a3d501cec652
VGF2P8AFFINEQB $82, X7, X21, K1, X16 // 62e3d501cec752
VGF2P8AFFINEQB $82, X19, X21, K1, X16 // 62a3d501cec352
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X21, K1, X16 // 62e3d501ce846c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X21, K1, X16 // 62a3d501ce8487f9ffffff52
VGF2P8AFFINEQB $82, X22, X0, K1, X16 // 62a3fd09cec652
VGF2P8AFFINEQB $82, X7, X0, K1, X16 // 62e3fd09cec752
VGF2P8AFFINEQB $82, X19, X0, K1, X16 // 62a3fd09cec352
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X0, K1, X16 // 62e3fd09ce846c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X0, K1, X16 // 62a3fd09ce8487f9ffffff52
VGF2P8AFFINEQB $82, X22, X28, K1, X16 // 62a39d01cec652
VGF2P8AFFINEQB $82, X7, X28, K1, X16 // 62e39d01cec752
VGF2P8AFFINEQB $82, X19, X28, K1, X16 // 62a39d01cec352
VGF2P8AFFINEQB $82, 17(SP)(BP*2), X28, K1, X16 // 62e39d01ce846c1100000052
VGF2P8AFFINEQB $82, -7(DI)(R8*4), X28, K1, X16 // 62a39d01ce8487f9ffffff52
VGF2P8AFFINEQB $126, Y17, Y12, K2, Y0 // 62b39d2acec17e
VGF2P8AFFINEQB $126, Y7, Y12, K2, Y0 // 62f39d2acec77e
VGF2P8AFFINEQB $126, Y9, Y12, K2, Y0 // 62d39d2acec17e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y0 // 62939d2ace84b00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y0 // 62f39d2ace8491f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y1, K2, Y0 // 62b3f52acec17e
VGF2P8AFFINEQB $126, Y7, Y1, K2, Y0 // 62f3f52acec77e
VGF2P8AFFINEQB $126, Y9, Y1, K2, Y0 // 62d3f52acec17e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y0 // 6293f52ace84b00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y0 // 62f3f52ace8491f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y14, K2, Y0 // 62b38d2acec17e
VGF2P8AFFINEQB $126, Y7, Y14, K2, Y0 // 62f38d2acec77e
VGF2P8AFFINEQB $126, Y9, Y14, K2, Y0 // 62d38d2acec17e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y0 // 62938d2ace84b00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y0 // 62f38d2ace8491f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y12, K2, Y22 // 62a39d2acef17e
VGF2P8AFFINEQB $126, Y7, Y12, K2, Y22 // 62e39d2acef77e
VGF2P8AFFINEQB $126, Y9, Y12, K2, Y22 // 62c39d2acef17e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y22 // 62839d2aceb4b00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y22 // 62e39d2aceb491f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y1, K2, Y22 // 62a3f52acef17e
VGF2P8AFFINEQB $126, Y7, Y1, K2, Y22 // 62e3f52acef77e
VGF2P8AFFINEQB $126, Y9, Y1, K2, Y22 // 62c3f52acef17e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y22 // 6283f52aceb4b00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y22 // 62e3f52aceb491f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y14, K2, Y22 // 62a38d2acef17e
VGF2P8AFFINEQB $126, Y7, Y14, K2, Y22 // 62e38d2acef77e
VGF2P8AFFINEQB $126, Y9, Y14, K2, Y22 // 62c38d2acef17e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y22 // 62838d2aceb4b00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y22 // 62e38d2aceb491f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y12, K2, Y13 // 62339d2acee97e
VGF2P8AFFINEQB $126, Y7, Y12, K2, Y13 // 62739d2aceef7e
VGF2P8AFFINEQB $126, Y9, Y12, K2, Y13 // 62539d2acee97e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y12, K2, Y13 // 62139d2aceacb00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y12, K2, Y13 // 62739d2aceac91f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y1, K2, Y13 // 6233f52acee97e
VGF2P8AFFINEQB $126, Y7, Y1, K2, Y13 // 6273f52aceef7e
VGF2P8AFFINEQB $126, Y9, Y1, K2, Y13 // 6253f52acee97e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y1, K2, Y13 // 6213f52aceacb00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y1, K2, Y13 // 6273f52aceac91f9ffffff7e
VGF2P8AFFINEQB $126, Y17, Y14, K2, Y13 // 62338d2acee97e
VGF2P8AFFINEQB $126, Y7, Y14, K2, Y13 // 62738d2aceef7e
VGF2P8AFFINEQB $126, Y9, Y14, K2, Y13 // 62538d2acee97e
VGF2P8AFFINEQB $126, 15(R8)(R14*4), Y14, K2, Y13 // 62138d2aceacb00f0000007e
VGF2P8AFFINEQB $126, -7(CX)(DX*4), Y14, K2, Y13 // 62738d2aceac91f9ffffff7e
VGF2P8AFFINEQB $94, Z5, Z19, K1, Z15 // 6273e541cefd5e
VGF2P8AFFINEQB $94, Z1, Z19, K1, Z15 // 6273e541cef95e
VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z15 // 6273e541cebcf5efffffff5e
VGF2P8AFFINEQB $94, (R15), Z19, K1, Z15 // 6253e541ce3f5e
VGF2P8AFFINEQB $94, Z5, Z15, K1, Z15 // 62738549cefd5e
VGF2P8AFFINEQB $94, Z1, Z15, K1, Z15 // 62738549cef95e
VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z15 // 62738549cebcf5efffffff5e
VGF2P8AFFINEQB $94, (R15), Z15, K1, Z15 // 62538549ce3f5e
VGF2P8AFFINEQB $94, Z5, Z19, K1, Z30 // 6263e541cef55e
VGF2P8AFFINEQB $94, Z1, Z19, K1, Z30 // 6263e541cef15e
VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z19, K1, Z30 // 6263e541ceb4f5efffffff5e
VGF2P8AFFINEQB $94, (R15), Z19, K1, Z30 // 6243e541ce375e
VGF2P8AFFINEQB $94, Z5, Z15, K1, Z30 // 62638549cef55e
VGF2P8AFFINEQB $94, Z1, Z15, K1, Z30 // 62638549cef15e
VGF2P8AFFINEQB $94, -17(BP)(SI*8), Z15, K1, Z30 // 62638549ceb4f5efffffff5e
VGF2P8AFFINEQB $94, (R15), Z15, K1, Z30 // 62438549ce375e
VGF2P8MULB X15, X1, K7, X7 // 62d2750fcfff
VGF2P8MULB X12, X1, K7, X7 // 62d2750fcffc
VGF2P8MULB X0, X1, K7, X7 // 62f2750fcff8
VGF2P8MULB 15(R8), X1, K7, X7 // 62d2750fcfb80f000000
VGF2P8MULB (BP), X1, K7, X7 // 62f2750fcf7d00
VGF2P8MULB X15, X7, K7, X7 // 62d2450fcfff
VGF2P8MULB X12, X7, K7, X7 // 62d2450fcffc
VGF2P8MULB X0, X7, K7, X7 // 62f2450fcff8
VGF2P8MULB 15(R8), X7, K7, X7 // 62d2450fcfb80f000000
VGF2P8MULB (BP), X7, K7, X7 // 62f2450fcf7d00
VGF2P8MULB X15, X9, K7, X7 // 62d2350fcfff
VGF2P8MULB X12, X9, K7, X7 // 62d2350fcffc
VGF2P8MULB X0, X9, K7, X7 // 62f2350fcff8
VGF2P8MULB 15(R8), X9, K7, X7 // 62d2350fcfb80f000000
VGF2P8MULB (BP), X9, K7, X7 // 62f2350fcf7d00
VGF2P8MULB X15, X1, K7, X16 // 62c2750fcfc7
VGF2P8MULB X12, X1, K7, X16 // 62c2750fcfc4
VGF2P8MULB X0, X1, K7, X16 // 62e2750fcfc0
VGF2P8MULB 15(R8), X1, K7, X16 // 62c2750fcf800f000000
VGF2P8MULB (BP), X1, K7, X16 // 62e2750fcf4500
VGF2P8MULB X15, X7, K7, X16 // 62c2450fcfc7
VGF2P8MULB X12, X7, K7, X16 // 62c2450fcfc4
VGF2P8MULB X0, X7, K7, X16 // 62e2450fcfc0
VGF2P8MULB 15(R8), X7, K7, X16 // 62c2450fcf800f000000
VGF2P8MULB (BP), X7, K7, X16 // 62e2450fcf4500
VGF2P8MULB X15, X9, K7, X16 // 62c2350fcfc7
VGF2P8MULB X12, X9, K7, X16 // 62c2350fcfc4
VGF2P8MULB X0, X9, K7, X16 // 62e2350fcfc0
VGF2P8MULB 15(R8), X9, K7, X16 // 62c2350fcf800f000000
VGF2P8MULB (BP), X9, K7, X16 // 62e2350fcf4500
VGF2P8MULB X15, X1, K7, X31 // 6242750fcfff
VGF2P8MULB X12, X1, K7, X31 // 6242750fcffc
VGF2P8MULB X0, X1, K7, X31 // 6262750fcff8
VGF2P8MULB 15(R8), X1, K7, X31 // 6242750fcfb80f000000
VGF2P8MULB (BP), X1, K7, X31 // 6262750fcf7d00
VGF2P8MULB X15, X7, K7, X31 // 6242450fcfff
VGF2P8MULB X12, X7, K7, X31 // 6242450fcffc
VGF2P8MULB X0, X7, K7, X31 // 6262450fcff8
VGF2P8MULB 15(R8), X7, K7, X31 // 6242450fcfb80f000000
VGF2P8MULB (BP), X7, K7, X31 // 6262450fcf7d00
VGF2P8MULB X15, X9, K7, X31 // 6242350fcfff
VGF2P8MULB X12, X9, K7, X31 // 6242350fcffc
VGF2P8MULB X0, X9, K7, X31 // 6262350fcff8
VGF2P8MULB 15(R8), X9, K7, X31 // 6242350fcfb80f000000
VGF2P8MULB (BP), X9, K7, X31 // 6262350fcf7d00
VGF2P8MULB Y2, Y28, K1, Y31 // 62621d21cffa
VGF2P8MULB Y21, Y28, K1, Y31 // 62221d21cffd
VGF2P8MULB Y12, Y28, K1, Y31 // 62421d21cffc
VGF2P8MULB (R8), Y28, K1, Y31 // 62421d21cf38
VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y31 // 62621d21cfbc5a0f000000
VGF2P8MULB Y2, Y13, K1, Y31 // 62621529cffa
VGF2P8MULB Y21, Y13, K1, Y31 // 62221529cffd
VGF2P8MULB Y12, Y13, K1, Y31 // 62421529cffc
VGF2P8MULB (R8), Y13, K1, Y31 // 62421529cf38
VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y31 // 62621529cfbc5a0f000000
VGF2P8MULB Y2, Y7, K1, Y31 // 62624529cffa
VGF2P8MULB Y21, Y7, K1, Y31 // 62224529cffd
VGF2P8MULB Y12, Y7, K1, Y31 // 62424529cffc
VGF2P8MULB (R8), Y7, K1, Y31 // 62424529cf38
VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y31 // 62624529cfbc5a0f000000
VGF2P8MULB Y2, Y28, K1, Y8 // 62721d21cfc2
VGF2P8MULB Y21, Y28, K1, Y8 // 62321d21cfc5
VGF2P8MULB Y12, Y28, K1, Y8 // 62521d21cfc4
VGF2P8MULB (R8), Y28, K1, Y8 // 62521d21cf00
VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y8 // 62721d21cf845a0f000000
VGF2P8MULB Y2, Y13, K1, Y8 // 62721529cfc2
VGF2P8MULB Y21, Y13, K1, Y8 // 62321529cfc5
VGF2P8MULB Y12, Y13, K1, Y8 // 62521529cfc4
VGF2P8MULB (R8), Y13, K1, Y8 // 62521529cf00
VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y8 // 62721529cf845a0f000000
VGF2P8MULB Y2, Y7, K1, Y8 // 62724529cfc2
VGF2P8MULB Y21, Y7, K1, Y8 // 62324529cfc5
VGF2P8MULB Y12, Y7, K1, Y8 // 62524529cfc4
VGF2P8MULB (R8), Y7, K1, Y8 // 62524529cf00
VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y8 // 62724529cf845a0f000000
VGF2P8MULB Y2, Y28, K1, Y1 // 62f21d21cfca
VGF2P8MULB Y21, Y28, K1, Y1 // 62b21d21cfcd
VGF2P8MULB Y12, Y28, K1, Y1 // 62d21d21cfcc
VGF2P8MULB (R8), Y28, K1, Y1 // 62d21d21cf08
VGF2P8MULB 15(DX)(BX*2), Y28, K1, Y1 // 62f21d21cf8c5a0f000000
VGF2P8MULB Y2, Y13, K1, Y1 // 62f21529cfca
VGF2P8MULB Y21, Y13, K1, Y1 // 62b21529cfcd
VGF2P8MULB Y12, Y13, K1, Y1 // 62d21529cfcc
VGF2P8MULB (R8), Y13, K1, Y1 // 62d21529cf08
VGF2P8MULB 15(DX)(BX*2), Y13, K1, Y1 // 62f21529cf8c5a0f000000
VGF2P8MULB Y2, Y7, K1, Y1 // 62f24529cfca
VGF2P8MULB Y21, Y7, K1, Y1 // 62b24529cfcd
VGF2P8MULB Y12, Y7, K1, Y1 // 62d24529cfcc
VGF2P8MULB (R8), Y7, K1, Y1 // 62d24529cf08
VGF2P8MULB 15(DX)(BX*2), Y7, K1, Y1 // 62f24529cf8c5a0f000000
VGF2P8MULB Z21, Z14, K1, Z3 // 62b20d49cfdd
VGF2P8MULB Z8, Z14, K1, Z3 // 62d20d49cfd8
VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z3 // 62f20d49cf9cfe07000000
VGF2P8MULB -15(R14), Z14, K1, Z3 // 62d20d49cf9ef1ffffff
VGF2P8MULB Z21, Z15, K1, Z3 // 62b20549cfdd
VGF2P8MULB Z8, Z15, K1, Z3 // 62d20549cfd8
VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z3 // 62f20549cf9cfe07000000
VGF2P8MULB -15(R14), Z15, K1, Z3 // 62d20549cf9ef1ffffff
VGF2P8MULB Z21, Z14, K1, Z5 // 62b20d49cfed
VGF2P8MULB Z8, Z14, K1, Z5 // 62d20d49cfe8
VGF2P8MULB 7(SI)(DI*8), Z14, K1, Z5 // 62f20d49cfacfe07000000
VGF2P8MULB -15(R14), Z14, K1, Z5 // 62d20d49cfaef1ffffff
VGF2P8MULB Z21, Z15, K1, Z5 // 62b20549cfed
VGF2P8MULB Z8, Z15, K1, Z5 // 62d20549cfe8
VGF2P8MULB 7(SI)(DI*8), Z15, K1, Z5 // 62f20549cfacfe07000000
VGF2P8MULB -15(R14), Z15, K1, Z5 // 62d20549cfaef1ffffff
RET
......@@ -3,92 +3,92 @@
#include "../../../../../../runtime/textflag.h"
TEXT asmtest_vpclmulqdq_avx512f(SB), NOSPLIT, $0
//TODO: VPCLMULQDQ $127, X22, X21, X15 // 6233550044fe7f or 6233d50044fe7f
//TODO: VPCLMULQDQ $127, X7, X21, X15 // 6273550044ff7f or 6273d50044ff7f
//TODO: VPCLMULQDQ $127, X19, X21, X15 // 6233550044fb7f or 6233d50044fb7f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X21, X15 // 6273550044bcf5efffffff7f or 6273d50044bcf5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X21, X15 // 62535500443f7f or 6253d500443f7f
//TODO: VPCLMULQDQ $127, X22, X0, X15 // 62337d0844fe7f or 6233fd0844fe7f
//TODO: VPCLMULQDQ $127, X19, X0, X15 // 62337d0844fb7f or 6233fd0844fb7f
//TODO: VPCLMULQDQ $127, X22, X28, X15 // 62331d0044fe7f or 62339d0044fe7f
//TODO: VPCLMULQDQ $127, X7, X28, X15 // 62731d0044ff7f or 62739d0044ff7f
//TODO: VPCLMULQDQ $127, X19, X28, X15 // 62331d0044fb7f or 62339d0044fb7f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X28, X15 // 62731d0044bcf5efffffff7f or 62739d0044bcf5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X28, X15 // 62531d00443f7f or 62539d00443f7f
//TODO: VPCLMULQDQ $127, X22, X21, X0 // 62b3550044c67f or 62b3d50044c67f
//TODO: VPCLMULQDQ $127, X7, X21, X0 // 62f3550044c77f or 62f3d50044c77f
//TODO: VPCLMULQDQ $127, X19, X21, X0 // 62b3550044c37f or 62b3d50044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X21, X0 // 62f355004484f5efffffff7f or 62f3d5004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X21, X0 // 62d3550044077f or 62d3d50044077f
//TODO: VPCLMULQDQ $127, X22, X0, X0 // 62b37d0844c67f or 62b3fd0844c67f
//TODO: VPCLMULQDQ $127, X19, X0, X0 // 62b37d0844c37f or 62b3fd0844c37f
//TODO: VPCLMULQDQ $127, X22, X28, X0 // 62b31d0044c67f or 62b39d0044c67f
//TODO: VPCLMULQDQ $127, X7, X28, X0 // 62f31d0044c77f or 62f39d0044c77f
//TODO: VPCLMULQDQ $127, X19, X28, X0 // 62b31d0044c37f or 62b39d0044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X28, X0 // 62f31d004484f5efffffff7f or 62f39d004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X28, X0 // 62d31d0044077f or 62d39d0044077f
//TODO: VPCLMULQDQ $127, X22, X21, X16 // 62a3550044c67f or 62a3d50044c67f
//TODO: VPCLMULQDQ $127, X7, X21, X16 // 62e3550044c77f or 62e3d50044c77f
//TODO: VPCLMULQDQ $127, X19, X21, X16 // 62a3550044c37f or 62a3d50044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X21, X16 // 62e355004484f5efffffff7f or 62e3d5004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X21, X16 // 62c3550044077f or 62c3d50044077f
//TODO: VPCLMULQDQ $127, X22, X0, X16 // 62a37d0844c67f or 62a3fd0844c67f
//TODO: VPCLMULQDQ $127, X7, X0, X16 // 62e37d0844c77f or 62e3fd0844c77f
//TODO: VPCLMULQDQ $127, X19, X0, X16 // 62a37d0844c37f or 62a3fd0844c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X0, X16 // 62e37d084484f5efffffff7f or 62e3fd084484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X0, X16 // 62c37d0844077f or 62c3fd0844077f
//TODO: VPCLMULQDQ $127, X22, X28, X16 // 62a31d0044c67f or 62a39d0044c67f
//TODO: VPCLMULQDQ $127, X7, X28, X16 // 62e31d0044c77f or 62e39d0044c77f
//TODO: VPCLMULQDQ $127, X19, X28, X16 // 62a31d0044c37f or 62a39d0044c37f
//TODO: VPCLMULQDQ $127, -17(BP)(SI*8), X28, X16 // 62e31d004484f5efffffff7f or 62e39d004484f5efffffff7f
//TODO: VPCLMULQDQ $127, (R15), X28, X16 // 62c31d0044077f or 62c39d0044077f
//TODO: VPCLMULQDQ $0, Y15, Y2, Y31 // 62436d2844ff00 or 6243ed2844ff00
//TODO: VPCLMULQDQ $0, Y22, Y2, Y31 // 62236d2844fe00 or 6223ed2844fe00
//TODO: VPCLMULQDQ $0, Y20, Y2, Y31 // 62236d2844fc00 or 6223ed2844fc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y2, Y31 // 62036d2844bcbf6300000000 or 6203ed2844bcbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y2, Y31 // 62636d2844ba0f00000000 or 6263ed2844ba0f00000000
//TODO: VPCLMULQDQ $0, Y15, Y13, Y31 // 6243152844ff00 or 6243952844ff00
//TODO: VPCLMULQDQ $0, Y22, Y13, Y31 // 6223152844fe00 or 6223952844fe00
//TODO: VPCLMULQDQ $0, Y20, Y13, Y31 // 6223152844fc00 or 6223952844fc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y13, Y31 // 6203152844bcbf6300000000 or 6203952844bcbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y13, Y31 // 6263152844ba0f00000000 or 6263952844ba0f00000000
//TODO: VPCLMULQDQ $0, Y15, Y27, Y31 // 6243252044ff00 or 6243a52044ff00
//TODO: VPCLMULQDQ $0, Y22, Y27, Y31 // 6223252044fe00 or 6223a52044fe00
//TODO: VPCLMULQDQ $0, Y20, Y27, Y31 // 6223252044fc00 or 6223a52044fc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y31 // 6203252044bcbf6300000000 or 6203a52044bcbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y27, Y31 // 6263252044ba0f00000000 or 6263a52044ba0f00000000
//TODO: VPCLMULQDQ $0, Y22, Y2, Y3 // 62b36d2844de00 or 62b3ed2844de00
//TODO: VPCLMULQDQ $0, Y20, Y2, Y3 // 62b36d2844dc00 or 62b3ed2844dc00
//TODO: VPCLMULQDQ $0, Y22, Y13, Y3 // 62b3152844de00 or 62b3952844de00
//TODO: VPCLMULQDQ $0, Y20, Y13, Y3 // 62b3152844dc00 or 62b3952844dc00
//TODO: VPCLMULQDQ $0, Y15, Y27, Y3 // 62d3252044df00 or 62d3a52044df00
//TODO: VPCLMULQDQ $0, Y22, Y27, Y3 // 62b3252044de00 or 62b3a52044de00
//TODO: VPCLMULQDQ $0, Y20, Y27, Y3 // 62b3252044dc00 or 62b3a52044dc00
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y3 // 62932520449cbf6300000000 or 6293a520449cbf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y27, Y3 // 62f32520449a0f00000000 or 62f3a520449a0f00000000
//TODO: VPCLMULQDQ $0, Y22, Y2, Y14 // 62336d2844f600 or 6233ed2844f600
//TODO: VPCLMULQDQ $0, Y20, Y2, Y14 // 62336d2844f400 or 6233ed2844f400
//TODO: VPCLMULQDQ $0, Y22, Y13, Y14 // 6233152844f600 or 6233952844f600
//TODO: VPCLMULQDQ $0, Y20, Y13, Y14 // 6233152844f400 or 6233952844f400
//TODO: VPCLMULQDQ $0, Y15, Y27, Y14 // 6253252044f700 or 6253a52044f700
//TODO: VPCLMULQDQ $0, Y22, Y27, Y14 // 6233252044f600 or 6233a52044f600
//TODO: VPCLMULQDQ $0, Y20, Y27, Y14 // 6233252044f400 or 6233a52044f400
//TODO: VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y14 // 6213252044b4bf6300000000 or 6213a52044b4bf6300000000
//TODO: VPCLMULQDQ $0, 15(DX), Y27, Y14 // 6273252044b20f00000000 or 6273a52044b20f00000000
//TODO: VPCLMULQDQ $97, Z9, Z0, Z24 // 62437d4844c161 or 6243fd4844c161
//TODO: VPCLMULQDQ $97, Z3, Z0, Z24 // 62637d4844c361 or 6263fd4844c361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z24 // 62637d4844843e0700000061 or 6263fd4844843e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z24 // 62637d484484da0f00000061 or 6263fd484484da0f00000061
//TODO: VPCLMULQDQ $97, Z9, Z26, Z24 // 62432d4044c161 or 6243ad4044c161
//TODO: VPCLMULQDQ $97, Z3, Z26, Z24 // 62632d4044c361 or 6263ad4044c361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z24 // 62632d4044843e0700000061 or 6263ad4044843e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z24 // 62632d404484da0f00000061 or 6263ad404484da0f00000061
//TODO: VPCLMULQDQ $97, Z9, Z0, Z12 // 62537d4844e161 or 6253fd4844e161
//TODO: VPCLMULQDQ $97, Z3, Z0, Z12 // 62737d4844e361 or 6273fd4844e361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z12 // 62737d4844a43e0700000061 or 6273fd4844a43e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z12 // 62737d4844a4da0f00000061 or 6273fd4844a4da0f00000061
//TODO: VPCLMULQDQ $97, Z9, Z26, Z12 // 62532d4044e161 or 6253ad4044e161
//TODO: VPCLMULQDQ $97, Z3, Z26, Z12 // 62732d4044e361 or 6273ad4044e361
//TODO: VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z12 // 62732d4044a43e0700000061 or 6273ad4044a43e0700000061
//TODO: VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z12 // 62732d4044a4da0f00000061 or 6273ad4044a4da0f00000061
VPCLMULQDQ $127, X22, X21, X15 // 6233550044fe7f or 6233d50044fe7f
VPCLMULQDQ $127, X7, X21, X15 // 6273550044ff7f or 6273d50044ff7f
VPCLMULQDQ $127, X19, X21, X15 // 6233550044fb7f or 6233d50044fb7f
VPCLMULQDQ $127, -17(BP)(SI*8), X21, X15 // 6273550044bcf5efffffff7f or 6273d50044bcf5efffffff7f
VPCLMULQDQ $127, (R15), X21, X15 // 62535500443f7f or 6253d500443f7f
VPCLMULQDQ $127, X22, X0, X15 // 62337d0844fe7f or 6233fd0844fe7f
VPCLMULQDQ $127, X19, X0, X15 // 62337d0844fb7f or 6233fd0844fb7f
VPCLMULQDQ $127, X22, X28, X15 // 62331d0044fe7f or 62339d0044fe7f
VPCLMULQDQ $127, X7, X28, X15 // 62731d0044ff7f or 62739d0044ff7f
VPCLMULQDQ $127, X19, X28, X15 // 62331d0044fb7f or 62339d0044fb7f
VPCLMULQDQ $127, -17(BP)(SI*8), X28, X15 // 62731d0044bcf5efffffff7f or 62739d0044bcf5efffffff7f
VPCLMULQDQ $127, (R15), X28, X15 // 62531d00443f7f or 62539d00443f7f
VPCLMULQDQ $127, X22, X21, X0 // 62b3550044c67f or 62b3d50044c67f
VPCLMULQDQ $127, X7, X21, X0 // 62f3550044c77f or 62f3d50044c77f
VPCLMULQDQ $127, X19, X21, X0 // 62b3550044c37f or 62b3d50044c37f
VPCLMULQDQ $127, -17(BP)(SI*8), X21, X0 // 62f355004484f5efffffff7f or 62f3d5004484f5efffffff7f
VPCLMULQDQ $127, (R15), X21, X0 // 62d3550044077f or 62d3d50044077f
VPCLMULQDQ $127, X22, X0, X0 // 62b37d0844c67f or 62b3fd0844c67f
VPCLMULQDQ $127, X19, X0, X0 // 62b37d0844c37f or 62b3fd0844c37f
VPCLMULQDQ $127, X22, X28, X0 // 62b31d0044c67f or 62b39d0044c67f
VPCLMULQDQ $127, X7, X28, X0 // 62f31d0044c77f or 62f39d0044c77f
VPCLMULQDQ $127, X19, X28, X0 // 62b31d0044c37f or 62b39d0044c37f
VPCLMULQDQ $127, -17(BP)(SI*8), X28, X0 // 62f31d004484f5efffffff7f or 62f39d004484f5efffffff7f
VPCLMULQDQ $127, (R15), X28, X0 // 62d31d0044077f or 62d39d0044077f
VPCLMULQDQ $127, X22, X21, X16 // 62a3550044c67f or 62a3d50044c67f
VPCLMULQDQ $127, X7, X21, X16 // 62e3550044c77f or 62e3d50044c77f
VPCLMULQDQ $127, X19, X21, X16 // 62a3550044c37f or 62a3d50044c37f
VPCLMULQDQ $127, -17(BP)(SI*8), X21, X16 // 62e355004484f5efffffff7f or 62e3d5004484f5efffffff7f
VPCLMULQDQ $127, (R15), X21, X16 // 62c3550044077f or 62c3d50044077f
VPCLMULQDQ $127, X22, X0, X16 // 62a37d0844c67f or 62a3fd0844c67f
VPCLMULQDQ $127, X7, X0, X16 // 62e37d0844c77f or 62e3fd0844c77f
VPCLMULQDQ $127, X19, X0, X16 // 62a37d0844c37f or 62a3fd0844c37f
VPCLMULQDQ $127, -17(BP)(SI*8), X0, X16 // 62e37d084484f5efffffff7f or 62e3fd084484f5efffffff7f
VPCLMULQDQ $127, (R15), X0, X16 // 62c37d0844077f or 62c3fd0844077f
VPCLMULQDQ $127, X22, X28, X16 // 62a31d0044c67f or 62a39d0044c67f
VPCLMULQDQ $127, X7, X28, X16 // 62e31d0044c77f or 62e39d0044c77f
VPCLMULQDQ $127, X19, X28, X16 // 62a31d0044c37f or 62a39d0044c37f
VPCLMULQDQ $127, -17(BP)(SI*8), X28, X16 // 62e31d004484f5efffffff7f or 62e39d004484f5efffffff7f
VPCLMULQDQ $127, (R15), X28, X16 // 62c31d0044077f or 62c39d0044077f
VPCLMULQDQ $0, Y15, Y2, Y31 // 62436d2844ff00 or 6243ed2844ff00
VPCLMULQDQ $0, Y22, Y2, Y31 // 62236d2844fe00 or 6223ed2844fe00
VPCLMULQDQ $0, Y20, Y2, Y31 // 62236d2844fc00 or 6223ed2844fc00
VPCLMULQDQ $0, 99(R15)(R15*4), Y2, Y31 // 62036d2844bcbf6300000000 or 6203ed2844bcbf6300000000
VPCLMULQDQ $0, 15(DX), Y2, Y31 // 62636d2844ba0f00000000 or 6263ed2844ba0f00000000
VPCLMULQDQ $0, Y15, Y13, Y31 // 6243152844ff00 or 6243952844ff00
VPCLMULQDQ $0, Y22, Y13, Y31 // 6223152844fe00 or 6223952844fe00
VPCLMULQDQ $0, Y20, Y13, Y31 // 6223152844fc00 or 6223952844fc00
VPCLMULQDQ $0, 99(R15)(R15*4), Y13, Y31 // 6203152844bcbf6300000000 or 6203952844bcbf6300000000
VPCLMULQDQ $0, 15(DX), Y13, Y31 // 6263152844ba0f00000000 or 6263952844ba0f00000000
VPCLMULQDQ $0, Y15, Y27, Y31 // 6243252044ff00 or 6243a52044ff00
VPCLMULQDQ $0, Y22, Y27, Y31 // 6223252044fe00 or 6223a52044fe00
VPCLMULQDQ $0, Y20, Y27, Y31 // 6223252044fc00 or 6223a52044fc00
VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y31 // 6203252044bcbf6300000000 or 6203a52044bcbf6300000000
VPCLMULQDQ $0, 15(DX), Y27, Y31 // 6263252044ba0f00000000 or 6263a52044ba0f00000000
VPCLMULQDQ $0, Y22, Y2, Y3 // 62b36d2844de00 or 62b3ed2844de00
VPCLMULQDQ $0, Y20, Y2, Y3 // 62b36d2844dc00 or 62b3ed2844dc00
VPCLMULQDQ $0, Y22, Y13, Y3 // 62b3152844de00 or 62b3952844de00
VPCLMULQDQ $0, Y20, Y13, Y3 // 62b3152844dc00 or 62b3952844dc00
VPCLMULQDQ $0, Y15, Y27, Y3 // 62d3252044df00 or 62d3a52044df00
VPCLMULQDQ $0, Y22, Y27, Y3 // 62b3252044de00 or 62b3a52044de00
VPCLMULQDQ $0, Y20, Y27, Y3 // 62b3252044dc00 or 62b3a52044dc00
VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y3 // 62932520449cbf6300000000 or 6293a520449cbf6300000000
VPCLMULQDQ $0, 15(DX), Y27, Y3 // 62f32520449a0f00000000 or 62f3a520449a0f00000000
VPCLMULQDQ $0, Y22, Y2, Y14 // 62336d2844f600 or 6233ed2844f600
VPCLMULQDQ $0, Y20, Y2, Y14 // 62336d2844f400 or 6233ed2844f400
VPCLMULQDQ $0, Y22, Y13, Y14 // 6233152844f600 or 6233952844f600
VPCLMULQDQ $0, Y20, Y13, Y14 // 6233152844f400 or 6233952844f400
VPCLMULQDQ $0, Y15, Y27, Y14 // 6253252044f700 or 6253a52044f700
VPCLMULQDQ $0, Y22, Y27, Y14 // 6233252044f600 or 6233a52044f600
VPCLMULQDQ $0, Y20, Y27, Y14 // 6233252044f400 or 6233a52044f400
VPCLMULQDQ $0, 99(R15)(R15*4), Y27, Y14 // 6213252044b4bf6300000000 or 6213a52044b4bf6300000000
VPCLMULQDQ $0, 15(DX), Y27, Y14 // 6273252044b20f00000000 or 6273a52044b20f00000000
VPCLMULQDQ $97, Z9, Z0, Z24 // 62437d4844c161 or 6243fd4844c161
VPCLMULQDQ $97, Z3, Z0, Z24 // 62637d4844c361 or 6263fd4844c361
VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z24 // 62637d4844843e0700000061 or 6263fd4844843e0700000061
VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z24 // 62637d484484da0f00000061 or 6263fd484484da0f00000061
VPCLMULQDQ $97, Z9, Z26, Z24 // 62432d4044c161 or 6243ad4044c161
VPCLMULQDQ $97, Z3, Z26, Z24 // 62632d4044c361 or 6263ad4044c361
VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z24 // 62632d4044843e0700000061 or 6263ad4044843e0700000061
VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z24 // 62632d404484da0f00000061 or 6263ad404484da0f00000061
VPCLMULQDQ $97, Z9, Z0, Z12 // 62537d4844e161 or 6253fd4844e161
VPCLMULQDQ $97, Z3, Z0, Z12 // 62737d4844e361 or 6273fd4844e361
VPCLMULQDQ $97, 7(SI)(DI*1), Z0, Z12 // 62737d4844a43e0700000061 or 6273fd4844a43e0700000061
VPCLMULQDQ $97, 15(DX)(BX*8), Z0, Z12 // 62737d4844a4da0f00000061 or 6273fd4844a4da0f00000061
VPCLMULQDQ $97, Z9, Z26, Z12 // 62532d4044e161 or 6253ad4044e161
VPCLMULQDQ $97, Z3, Z26, Z12 // 62732d4044e361 or 6273ad4044e361
VPCLMULQDQ $97, 7(SI)(DI*1), Z26, Z12 // 62732d4044a43e0700000061 or 6273ad4044a43e0700000061
VPCLMULQDQ $97, 15(DX)(BX*8), Z26, Z12 // 62732d4044a4da0f00000061 or 6273ad4044a4da0f00000061
RET
......@@ -39,6 +39,7 @@ func init() {
obj.RegisterRegister(obj.RBaseARM, MAXREG, rconv)
obj.RegisterOpcode(obj.ABaseARM, Anames)
obj.RegisterRegisterList(obj.RegListARMLo, obj.RegListARMHi, rlconv)
obj.RegisterOpSuffix("arm", obj.CConvARM)
}
func rconv(r int) string {
......
......@@ -58,6 +58,7 @@ func init() {
obj.RegisterRegister(obj.RBaseARM64, REG_SPECIAL+1024, rconv)
obj.RegisterOpcode(obj.ABaseARM64, Anames)
obj.RegisterRegisterList(obj.RegListARM64Lo, obj.RegListARM64Hi, rlconv)
obj.RegisterOpSuffix("arm64", obj.CConvARM)
}
func arrange(a int) string {
......
......@@ -138,13 +138,16 @@ import (
// offset = second register
//
// [reg, reg, reg-reg]
// Register list for ARM and ARM64.
// Register list for ARM, ARM64, 386/AMD64.
// Encoding:
// type = TYPE_REGLIST
// On ARM:
// offset = bit mask of registers in list; R0 is low bit.
// On ARM64:
// offset = register count (Q:size) | arrangement (opcode) | first register
// On 386/AMD64:
// reg = range low register
// offset = 2 packed registers + kind tag (see x86.EncodeRegisterRange)
//
// reg, reg
// Register pair for ARM.
......@@ -282,7 +285,7 @@ type Prog struct {
RegTo2 int16 // 2nd destination operand
Mark uint16 // bitmask of arch-specific items
Optab uint16 // arch-specific opcode index
Scond uint8 // condition bits for conditional instruction (e.g., on ARM)
Scond uint8 // bits that describe instruction suffixes (e.g. ARM conditions)
Back uint8 // for x86 back end: backwards branch state
Ft uint8 // for x86 back end: type index of Prog.From
Tt uint8 // for x86 back end: type index of Prog.To
......
......@@ -72,11 +72,26 @@ const (
C_SCOND_XOR = 14
)
// CConv formats ARM condition codes.
// CConv formats opcode suffix bits (Prog.Scond).
func CConv(s uint8) string {
if s == 0 {
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]
if s&C_SBIT != 0 {
sc += ".S"
......@@ -368,6 +383,30 @@ func offConv(off int64) string {
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 {
lo int
hi int
......@@ -434,6 +473,10 @@ const (
// arm64 uses the 60th bit to differentiate from other archs
RegListARM64Lo = 1 << 60
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
......
......@@ -94,6 +94,15 @@ const (
REG_M6
REG_M7
REG_K0
REG_K1
REG_K2
REG_K3
REG_K4
REG_K5
REG_K6
REG_K7
REG_X0
REG_X1
REG_X2
......@@ -110,6 +119,22 @@ const (
REG_X13
REG_X14
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_Y1
......@@ -127,6 +152,55 @@ const (
REG_Y13
REG_Y14
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_SS
......@@ -221,7 +295,7 @@ var AMD64DWARFRegisters = map[int16]int16{
REG_R14: 14,
REG_R15: 15,
// 16 is "Return Address RA", whatever that is.
// XMM registers. %xmmN => XN.
// 17-24 vector registers (X/Y/Z).
REG_X0: 17,
REG_X1: 18,
REG_X2: 19,
......@@ -230,6 +304,7 @@ var AMD64DWARFRegisters = map[int16]int16{
REG_X5: 22,
REG_X6: 23,
REG_X7: 24,
// 25-32 extended vector registers (X/Y/Z).
REG_X8: 25,
REG_X9: 26,
REG_X10: 27,
......@@ -267,6 +342,34 @@ var AMD64DWARFRegisters = map[int16]int16{
REG_TR: 62,
REG_LDTR: 63,
// 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
......
......@@ -387,6 +387,57 @@ const (
AJPC // parity clear
AJPL // sign bit clear (positive)
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
ALARL
ALARQ
......@@ -838,6 +889,10 @@ const (
AUNPCKHPS
AUNPCKLPD
AUNPCKLPS
AV4FMADDPS
AV4FMADDSS
AV4FNMADDPS
AV4FNMADDSS
AVADDPD
AVADDPS
AVADDSD
......@@ -850,16 +905,30 @@ const (
AVAESENCLAST
AVAESIMC
AVAESKEYGENASSIST
AVALIGND
AVALIGNQ
AVANDNPD
AVANDNPS
AVANDPD
AVANDPS
AVBLENDMPD
AVBLENDMPS
AVBLENDPD
AVBLENDPS
AVBLENDVPD
AVBLENDVPS
AVBROADCASTF128
AVBROADCASTF32X2
AVBROADCASTF32X4
AVBROADCASTF32X8
AVBROADCASTF64X2
AVBROADCASTF64X4
AVBROADCASTI128
AVBROADCASTI32X2
AVBROADCASTI32X4
AVBROADCASTI32X8
AVBROADCASTI64X2
AVBROADCASTI64X4
AVBROADCASTSD
AVBROADCASTSS
AVCMPPD
......@@ -868,19 +937,38 @@ const (
AVCMPSS
AVCOMISD
AVCOMISS
AVCOMPRESSPD
AVCOMPRESSPS
AVCVTDQ2PD
AVCVTDQ2PS
AVCVTPD2DQ
AVCVTPD2DQX
AVCVTPD2DQY
AVCVTPD2PS
AVCVTPD2PSX
AVCVTPD2PSY
AVCVTPD2QQ
AVCVTPD2UDQ
AVCVTPD2UDQX
AVCVTPD2UDQY
AVCVTPD2UQQ
AVCVTPH2PS
AVCVTPS2DQ
AVCVTPS2PD
AVCVTPS2PH
AVCVTPS2QQ
AVCVTPS2UDQ
AVCVTPS2UQQ
AVCVTQQ2PD
AVCVTQQ2PS
AVCVTQQ2PSX
AVCVTQQ2PSY
AVCVTSD2SI
AVCVTSD2SIQ
AVCVTSD2SS
AVCVTSD2USI
AVCVTSD2USIL
AVCVTSD2USIQ
AVCVTSI2SDL
AVCVTSI2SDQ
AVCVTSI2SSL
......@@ -888,13 +976,44 @@ const (
AVCVTSS2SD
AVCVTSS2SI
AVCVTSS2SIQ
AVCVTSS2USI
AVCVTSS2USIL
AVCVTSS2USIQ
AVCVTTPD2DQ
AVCVTTPD2DQX
AVCVTTPD2DQY
AVCVTTPD2QQ
AVCVTTPD2UDQ
AVCVTTPD2UDQX
AVCVTTPD2UDQY
AVCVTTPD2UQQ
AVCVTTPS2DQ
AVCVTTPS2QQ
AVCVTTPS2UDQ
AVCVTTPS2UQQ
AVCVTTSD2SI
AVCVTTSD2SIQ
AVCVTTSD2USI
AVCVTTSD2USIL
AVCVTTSD2USIQ
AVCVTTSS2SI
AVCVTTSS2SIQ
AVCVTTSS2USI
AVCVTTSS2USIL
AVCVTTSS2USIQ
AVCVTUDQ2PD
AVCVTUDQ2PS
AVCVTUQQ2PD
AVCVTUQQ2PS
AVCVTUQQ2PSX
AVCVTUQQ2PSY
AVCVTUSI2SD
AVCVTUSI2SDL
AVCVTUSI2SDQ
AVCVTUSI2SS
AVCVTUSI2SSL
AVCVTUSI2SSQ
AVDBPSADBW
AVDIVPD
AVDIVPS
AVDIVSD
......@@ -903,9 +1022,25 @@ const (
AVDPPS
AVERR
AVERW
AVEXP2PD
AVEXP2PS
AVEXPANDPD
AVEXPANDPS
AVEXTRACTF128
AVEXTRACTF32X4
AVEXTRACTF32X8
AVEXTRACTF64X2
AVEXTRACTF64X4
AVEXTRACTI128
AVEXTRACTI32X4
AVEXTRACTI32X8
AVEXTRACTI64X2
AVEXTRACTI64X4
AVEXTRACTPS
AVFIXUPIMMPD
AVFIXUPIMMPS
AVFIXUPIMMSD
AVFIXUPIMMSS
AVFMADD132PD
AVFMADD132PS
AVFMADD132SD
......@@ -966,16 +1101,53 @@ const (
AVFNMSUB231PS
AVFNMSUB231SD
AVFNMSUB231SS
AVFPCLASSPD
AVFPCLASSPDX
AVFPCLASSPDY
AVFPCLASSPDZ
AVFPCLASSPS
AVFPCLASSPSX
AVFPCLASSPSY
AVFPCLASSPSZ
AVFPCLASSSD
AVFPCLASSSS
AVGATHERDPD
AVGATHERDPS
AVGATHERPF0DPD
AVGATHERPF0DPS
AVGATHERPF0QPD
AVGATHERPF0QPS
AVGATHERPF1DPD
AVGATHERPF1DPS
AVGATHERPF1QPD
AVGATHERPF1QPS
AVGATHERQPD
AVGATHERQPS
AVGETEXPPD
AVGETEXPPS
AVGETEXPSD
AVGETEXPSS
AVGETMANTPD
AVGETMANTPS
AVGETMANTSD
AVGETMANTSS
AVGF2P8AFFINEINVQB
AVGF2P8AFFINEQB
AVGF2P8MULB
AVHADDPD
AVHADDPS
AVHSUBPD
AVHSUBPS
AVINSERTF128
AVINSERTF32X4
AVINSERTF32X8
AVINSERTF64X2
AVINSERTF64X4
AVINSERTI128
AVINSERTI32X4
AVINSERTI32X8
AVINSERTI64X2
AVINSERTI64X4
AVINSERTPS
AVLDDQU
AVLDMXCSR
......@@ -995,7 +1167,13 @@ const (
AVMOVD
AVMOVDDUP
AVMOVDQA
AVMOVDQA32
AVMOVDQA64
AVMOVDQU
AVMOVDQU16
AVMOVDQU32
AVMOVDQU64
AVMOVDQU8
AVMOVHLPS
AVMOVHPD
AVMOVHPS
......@@ -1022,8 +1200,11 @@ const (
AVMULSS
AVORPD
AVORPS
AVP4DPWSSD
AVP4DPWSSDS
AVPABSB
AVPABSD
AVPABSQ
AVPABSW
AVPACKSSDW
AVPACKSSWB
......@@ -1039,17 +1220,29 @@ const (
AVPADDW
AVPALIGNR
AVPAND
AVPANDD
AVPANDN
AVPANDND
AVPANDNQ
AVPANDQ
AVPAVGB
AVPAVGW
AVPBLENDD
AVPBLENDMB
AVPBLENDMD
AVPBLENDMQ
AVPBLENDMW
AVPBLENDVB
AVPBLENDW
AVPBROADCASTB
AVPBROADCASTD
AVPBROADCASTMB2Q
AVPBROADCASTMW2D
AVPBROADCASTQ
AVPBROADCASTW
AVPCLMULQDQ
AVPCMPB
AVPCMPD
AVPCMPEQB
AVPCMPEQD
AVPCMPEQQ
......@@ -1062,14 +1255,48 @@ const (
AVPCMPGTW
AVPCMPISTRI
AVPCMPISTRM
AVPCMPQ
AVPCMPUB
AVPCMPUD
AVPCMPUQ
AVPCMPUW
AVPCMPW
AVPCOMPRESSB
AVPCOMPRESSD
AVPCOMPRESSQ
AVPCOMPRESSW
AVPCONFLICTD
AVPCONFLICTQ
AVPDPBUSD
AVPDPBUSDS
AVPDPWSSD
AVPDPWSSDS
AVPERM2F128
AVPERM2I128
AVPERMB
AVPERMD
AVPERMI2B
AVPERMI2D
AVPERMI2PD
AVPERMI2PS
AVPERMI2Q
AVPERMI2W
AVPERMILPD
AVPERMILPS
AVPERMPD
AVPERMPS
AVPERMQ
AVPERMT2B
AVPERMT2D
AVPERMT2PD
AVPERMT2PS
AVPERMT2Q
AVPERMT2W
AVPERMW
AVPEXPANDB
AVPEXPANDD
AVPEXPANDQ
AVPEXPANDW
AVPEXTRB
AVPEXTRD
AVPEXTRQ
......@@ -1089,29 +1316,63 @@ const (
AVPINSRD
AVPINSRQ
AVPINSRW
AVPLZCNTD
AVPLZCNTQ
AVPMADD52HUQ
AVPMADD52LUQ
AVPMADDUBSW
AVPMADDWD
AVPMASKMOVD
AVPMASKMOVQ
AVPMAXSB
AVPMAXSD
AVPMAXSQ
AVPMAXSW
AVPMAXUB
AVPMAXUD
AVPMAXUQ
AVPMAXUW
AVPMINSB
AVPMINSD
AVPMINSQ
AVPMINSW
AVPMINUB
AVPMINUD
AVPMINUQ
AVPMINUW
AVPMOVB2M
AVPMOVD2M
AVPMOVDB
AVPMOVDW
AVPMOVM2B
AVPMOVM2D
AVPMOVM2Q
AVPMOVM2W
AVPMOVMSKB
AVPMOVQ2M
AVPMOVQB
AVPMOVQD
AVPMOVQW
AVPMOVSDB
AVPMOVSDW
AVPMOVSQB
AVPMOVSQD
AVPMOVSQW
AVPMOVSWB
AVPMOVSXBD
AVPMOVSXBQ
AVPMOVSXBW
AVPMOVSXDQ
AVPMOVSXWD
AVPMOVSXWQ
AVPMOVUSDB
AVPMOVUSDW
AVPMOVUSQB
AVPMOVUSQD
AVPMOVUSQW
AVPMOVUSWB
AVPMOVW2M
AVPMOVWB
AVPMOVZXBD
AVPMOVZXBQ
AVPMOVZXBW
......@@ -1123,11 +1384,44 @@ const (
AVPMULHUW
AVPMULHW
AVPMULLD
AVPMULLQ
AVPMULLW
AVPMULTISHIFTQB
AVPMULUDQ
AVPOPCNTB
AVPOPCNTD
AVPOPCNTQ
AVPOPCNTW
AVPOR
AVPORD
AVPORQ
AVPROLD
AVPROLQ
AVPROLVD
AVPROLVQ
AVPRORD
AVPRORQ
AVPRORVD
AVPRORVQ
AVPSADBW
AVPSCATTERDD
AVPSCATTERDQ
AVPSCATTERQD
AVPSCATTERQQ
AVPSHLDD
AVPSHLDQ
AVPSHLDVD
AVPSHLDVQ
AVPSHLDVW
AVPSHLDW
AVPSHRDD
AVPSHRDQ
AVPSHRDVD
AVPSHRDVQ
AVPSHRDVW
AVPSHRDW
AVPSHUFB
AVPSHUFBITQMB
AVPSHUFD
AVPSHUFHW
AVPSHUFLW
......@@ -1139,15 +1433,20 @@ const (
AVPSLLQ
AVPSLLVD
AVPSLLVQ
AVPSLLVW
AVPSLLW
AVPSRAD
AVPSRAQ
AVPSRAVD
AVPSRAVQ
AVPSRAVW
AVPSRAW
AVPSRLD
AVPSRLDQ
AVPSRLQ
AVPSRLVD
AVPSRLVQ
AVPSRLVW
AVPSRLW
AVPSUBB
AVPSUBD
......@@ -1157,7 +1456,17 @@ const (
AVPSUBUSB
AVPSUBUSW
AVPSUBW
AVPTERNLOGD
AVPTERNLOGQ
AVPTEST
AVPTESTMB
AVPTESTMD
AVPTESTMQ
AVPTESTMW
AVPTESTNMB
AVPTESTNMD
AVPTESTNMQ
AVPTESTNMW
AVPUNPCKHBW
AVPUNPCKHDQ
AVPUNPCKHQDQ
......@@ -1167,14 +1476,64 @@ const (
AVPUNPCKLQDQ
AVPUNPCKLWD
AVPXOR
AVPXORD
AVPXORQ
AVRANGEPD
AVRANGEPS
AVRANGESD
AVRANGESS
AVRCP14PD
AVRCP14PS
AVRCP14SD
AVRCP14SS
AVRCP28PD
AVRCP28PS
AVRCP28SD
AVRCP28SS
AVRCPPS
AVRCPSS
AVREDUCEPD
AVREDUCEPS
AVREDUCESD
AVREDUCESS
AVRNDSCALEPD
AVRNDSCALEPS
AVRNDSCALESD
AVRNDSCALESS
AVROUNDPD
AVROUNDPS
AVROUNDSD
AVROUNDSS
AVRSQRT14PD
AVRSQRT14PS
AVRSQRT14SD
AVRSQRT14SS
AVRSQRT28PD
AVRSQRT28PS
AVRSQRT28SD
AVRSQRT28SS
AVRSQRTPS
AVRSQRTSS
AVSCALEFPD
AVSCALEFPS
AVSCALEFSD
AVSCALEFSS
AVSCATTERDPD
AVSCATTERDPS
AVSCATTERPF0DPD
AVSCATTERPF0DPS
AVSCATTERPF0QPD
AVSCATTERPF0QPS
AVSCATTERPF1DPD
AVSCATTERPF1DPS
AVSCATTERPF1QPD
AVSCATTERPF1QPS
AVSCATTERQPD
AVSCATTERQPS
AVSHUFF32X4
AVSHUFF64X2
AVSHUFI32X4
AVSHUFI64X2
AVSHUFPD
AVSHUFPS
AVSQRTPD
......
......@@ -386,6 +386,57 @@ var Anames = []string{
"JPC",
"JPL",
"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",
"LARL",
"LARQ",
......@@ -837,6 +888,10 @@ var Anames = []string{
"UNPCKHPS",
"UNPCKLPD",
"UNPCKLPS",
"V4FMADDPS",
"V4FMADDSS",
"V4FNMADDPS",
"V4FNMADDSS",
"VADDPD",
"VADDPS",
"VADDSD",
......@@ -849,16 +904,30 @@ var Anames = []string{
"VAESENCLAST",
"VAESIMC",
"VAESKEYGENASSIST",
"VALIGND",
"VALIGNQ",
"VANDNPD",
"VANDNPS",
"VANDPD",
"VANDPS",
"VBLENDMPD",
"VBLENDMPS",
"VBLENDPD",
"VBLENDPS",
"VBLENDVPD",
"VBLENDVPS",
"VBROADCASTF128",
"VBROADCASTF32X2",
"VBROADCASTF32X4",
"VBROADCASTF32X8",
"VBROADCASTF64X2",
"VBROADCASTF64X4",
"VBROADCASTI128",
"VBROADCASTI32X2",
"VBROADCASTI32X4",
"VBROADCASTI32X8",
"VBROADCASTI64X2",
"VBROADCASTI64X4",
"VBROADCASTSD",
"VBROADCASTSS",
"VCMPPD",
......@@ -867,19 +936,38 @@ var Anames = []string{
"VCMPSS",
"VCOMISD",
"VCOMISS",
"VCOMPRESSPD",
"VCOMPRESSPS",
"VCVTDQ2PD",
"VCVTDQ2PS",
"VCVTPD2DQ",
"VCVTPD2DQX",
"VCVTPD2DQY",
"VCVTPD2PS",
"VCVTPD2PSX",
"VCVTPD2PSY",
"VCVTPD2QQ",
"VCVTPD2UDQ",
"VCVTPD2UDQX",
"VCVTPD2UDQY",
"VCVTPD2UQQ",
"VCVTPH2PS",
"VCVTPS2DQ",
"VCVTPS2PD",
"VCVTPS2PH",
"VCVTPS2QQ",
"VCVTPS2UDQ",
"VCVTPS2UQQ",
"VCVTQQ2PD",
"VCVTQQ2PS",
"VCVTQQ2PSX",
"VCVTQQ2PSY",
"VCVTSD2SI",
"VCVTSD2SIQ",
"VCVTSD2SS",
"VCVTSD2USI",
"VCVTSD2USIL",
"VCVTSD2USIQ",
"VCVTSI2SDL",
"VCVTSI2SDQ",
"VCVTSI2SSL",
......@@ -887,13 +975,44 @@ var Anames = []string{
"VCVTSS2SD",
"VCVTSS2SI",
"VCVTSS2SIQ",
"VCVTSS2USI",
"VCVTSS2USIL",
"VCVTSS2USIQ",
"VCVTTPD2DQ",
"VCVTTPD2DQX",
"VCVTTPD2DQY",
"VCVTTPD2QQ",
"VCVTTPD2UDQ",
"VCVTTPD2UDQX",
"VCVTTPD2UDQY",
"VCVTTPD2UQQ",
"VCVTTPS2DQ",
"VCVTTPS2QQ",
"VCVTTPS2UDQ",
"VCVTTPS2UQQ",
"VCVTTSD2SI",
"VCVTTSD2SIQ",
"VCVTTSD2USI",
"VCVTTSD2USIL",
"VCVTTSD2USIQ",
"VCVTTSS2SI",
"VCVTTSS2SIQ",
"VCVTTSS2USI",
"VCVTTSS2USIL",
"VCVTTSS2USIQ",
"VCVTUDQ2PD",
"VCVTUDQ2PS",
"VCVTUQQ2PD",
"VCVTUQQ2PS",
"VCVTUQQ2PSX",
"VCVTUQQ2PSY",
"VCVTUSI2SD",
"VCVTUSI2SDL",
"VCVTUSI2SDQ",
"VCVTUSI2SS",
"VCVTUSI2SSL",
"VCVTUSI2SSQ",
"VDBPSADBW",
"VDIVPD",
"VDIVPS",
"VDIVSD",
......@@ -902,9 +1021,25 @@ var Anames = []string{
"VDPPS",
"VERR",
"VERW",
"VEXP2PD",
"VEXP2PS",
"VEXPANDPD",
"VEXPANDPS",
"VEXTRACTF128",
"VEXTRACTF32X4",
"VEXTRACTF32X8",
"VEXTRACTF64X2",
"VEXTRACTF64X4",
"VEXTRACTI128",
"VEXTRACTI32X4",
"VEXTRACTI32X8",
"VEXTRACTI64X2",
"VEXTRACTI64X4",
"VEXTRACTPS",
"VFIXUPIMMPD",
"VFIXUPIMMPS",
"VFIXUPIMMSD",
"VFIXUPIMMSS",
"VFMADD132PD",
"VFMADD132PS",
"VFMADD132SD",
......@@ -965,16 +1100,53 @@ var Anames = []string{
"VFNMSUB231PS",
"VFNMSUB231SD",
"VFNMSUB231SS",
"VFPCLASSPD",
"VFPCLASSPDX",
"VFPCLASSPDY",
"VFPCLASSPDZ",
"VFPCLASSPS",
"VFPCLASSPSX",
"VFPCLASSPSY",
"VFPCLASSPSZ",
"VFPCLASSSD",
"VFPCLASSSS",
"VGATHERDPD",
"VGATHERDPS",
"VGATHERPF0DPD",
"VGATHERPF0DPS",
"VGATHERPF0QPD",
"VGATHERPF0QPS",
"VGATHERPF1DPD",
"VGATHERPF1DPS",
"VGATHERPF1QPD",
"VGATHERPF1QPS",
"VGATHERQPD",
"VGATHERQPS",
"VGETEXPPD",
"VGETEXPPS",
"VGETEXPSD",
"VGETEXPSS",
"VGETMANTPD",
"VGETMANTPS",
"VGETMANTSD",
"VGETMANTSS",
"VGF2P8AFFINEINVQB",
"VGF2P8AFFINEQB",
"VGF2P8MULB",
"VHADDPD",
"VHADDPS",
"VHSUBPD",
"VHSUBPS",
"VINSERTF128",
"VINSERTF32X4",
"VINSERTF32X8",
"VINSERTF64X2",
"VINSERTF64X4",
"VINSERTI128",
"VINSERTI32X4",
"VINSERTI32X8",
"VINSERTI64X2",
"VINSERTI64X4",
"VINSERTPS",
"VLDDQU",
"VLDMXCSR",
......@@ -994,7 +1166,13 @@ var Anames = []string{
"VMOVD",
"VMOVDDUP",
"VMOVDQA",
"VMOVDQA32",
"VMOVDQA64",
"VMOVDQU",
"VMOVDQU16",
"VMOVDQU32",
"VMOVDQU64",
"VMOVDQU8",
"VMOVHLPS",
"VMOVHPD",
"VMOVHPS",
......@@ -1021,8 +1199,11 @@ var Anames = []string{
"VMULSS",
"VORPD",
"VORPS",
"VP4DPWSSD",
"VP4DPWSSDS",
"VPABSB",
"VPABSD",
"VPABSQ",
"VPABSW",
"VPACKSSDW",
"VPACKSSWB",
......@@ -1038,17 +1219,29 @@ var Anames = []string{
"VPADDW",
"VPALIGNR",
"VPAND",
"VPANDD",
"VPANDN",
"VPANDND",
"VPANDNQ",
"VPANDQ",
"VPAVGB",
"VPAVGW",
"VPBLENDD",
"VPBLENDMB",
"VPBLENDMD",
"VPBLENDMQ",
"VPBLENDMW",
"VPBLENDVB",
"VPBLENDW",
"VPBROADCASTB",
"VPBROADCASTD",
"VPBROADCASTMB2Q",
"VPBROADCASTMW2D",
"VPBROADCASTQ",
"VPBROADCASTW",
"VPCLMULQDQ",
"VPCMPB",
"VPCMPD",
"VPCMPEQB",
"VPCMPEQD",
"VPCMPEQQ",
......@@ -1061,14 +1254,48 @@ var Anames = []string{
"VPCMPGTW",
"VPCMPISTRI",
"VPCMPISTRM",
"VPCMPQ",
"VPCMPUB",
"VPCMPUD",
"VPCMPUQ",
"VPCMPUW",
"VPCMPW",
"VPCOMPRESSB",
"VPCOMPRESSD",
"VPCOMPRESSQ",
"VPCOMPRESSW",
"VPCONFLICTD",
"VPCONFLICTQ",
"VPDPBUSD",
"VPDPBUSDS",
"VPDPWSSD",
"VPDPWSSDS",
"VPERM2F128",
"VPERM2I128",
"VPERMB",
"VPERMD",
"VPERMI2B",
"VPERMI2D",
"VPERMI2PD",
"VPERMI2PS",
"VPERMI2Q",
"VPERMI2W",
"VPERMILPD",
"VPERMILPS",
"VPERMPD",
"VPERMPS",
"VPERMQ",
"VPERMT2B",
"VPERMT2D",
"VPERMT2PD",
"VPERMT2PS",
"VPERMT2Q",
"VPERMT2W",
"VPERMW",
"VPEXPANDB",
"VPEXPANDD",
"VPEXPANDQ",
"VPEXPANDW",
"VPEXTRB",
"VPEXTRD",
"VPEXTRQ",
......@@ -1088,29 +1315,63 @@ var Anames = []string{
"VPINSRD",
"VPINSRQ",
"VPINSRW",
"VPLZCNTD",
"VPLZCNTQ",
"VPMADD52HUQ",
"VPMADD52LUQ",
"VPMADDUBSW",
"VPMADDWD",
"VPMASKMOVD",
"VPMASKMOVQ",
"VPMAXSB",
"VPMAXSD",
"VPMAXSQ",
"VPMAXSW",
"VPMAXUB",
"VPMAXUD",
"VPMAXUQ",
"VPMAXUW",
"VPMINSB",
"VPMINSD",
"VPMINSQ",
"VPMINSW",
"VPMINUB",
"VPMINUD",
"VPMINUQ",
"VPMINUW",
"VPMOVB2M",
"VPMOVD2M",
"VPMOVDB",
"VPMOVDW",
"VPMOVM2B",
"VPMOVM2D",
"VPMOVM2Q",
"VPMOVM2W",
"VPMOVMSKB",
"VPMOVQ2M",
"VPMOVQB",
"VPMOVQD",
"VPMOVQW",
"VPMOVSDB",
"VPMOVSDW",
"VPMOVSQB",
"VPMOVSQD",
"VPMOVSQW",
"VPMOVSWB",
"VPMOVSXBD",
"VPMOVSXBQ",
"VPMOVSXBW",
"VPMOVSXDQ",
"VPMOVSXWD",
"VPMOVSXWQ",
"VPMOVUSDB",
"VPMOVUSDW",
"VPMOVUSQB",
"VPMOVUSQD",
"VPMOVUSQW",
"VPMOVUSWB",
"VPMOVW2M",
"VPMOVWB",
"VPMOVZXBD",
"VPMOVZXBQ",
"VPMOVZXBW",
......@@ -1122,11 +1383,44 @@ var Anames = []string{
"VPMULHUW",
"VPMULHW",
"VPMULLD",
"VPMULLQ",
"VPMULLW",
"VPMULTISHIFTQB",
"VPMULUDQ",
"VPOPCNTB",
"VPOPCNTD",
"VPOPCNTQ",
"VPOPCNTW",
"VPOR",
"VPORD",
"VPORQ",
"VPROLD",
"VPROLQ",
"VPROLVD",
"VPROLVQ",
"VPRORD",
"VPRORQ",
"VPRORVD",
"VPRORVQ",
"VPSADBW",
"VPSCATTERDD",
"VPSCATTERDQ",
"VPSCATTERQD",
"VPSCATTERQQ",
"VPSHLDD",
"VPSHLDQ",
"VPSHLDVD",
"VPSHLDVQ",
"VPSHLDVW",
"VPSHLDW",
"VPSHRDD",
"VPSHRDQ",
"VPSHRDVD",
"VPSHRDVQ",
"VPSHRDVW",
"VPSHRDW",
"VPSHUFB",
"VPSHUFBITQMB",
"VPSHUFD",
"VPSHUFHW",
"VPSHUFLW",
......@@ -1138,15 +1432,20 @@ var Anames = []string{
"VPSLLQ",
"VPSLLVD",
"VPSLLVQ",
"VPSLLVW",
"VPSLLW",
"VPSRAD",
"VPSRAQ",
"VPSRAVD",
"VPSRAVQ",
"VPSRAVW",
"VPSRAW",
"VPSRLD",
"VPSRLDQ",
"VPSRLQ",
"VPSRLVD",
"VPSRLVQ",
"VPSRLVW",
"VPSRLW",
"VPSUBB",
"VPSUBD",
......@@ -1156,7 +1455,17 @@ var Anames = []string{
"VPSUBUSB",
"VPSUBUSW",
"VPSUBW",
"VPTERNLOGD",
"VPTERNLOGQ",
"VPTEST",
"VPTESTMB",
"VPTESTMD",
"VPTESTMQ",
"VPTESTMW",
"VPTESTNMB",
"VPTESTNMD",
"VPTESTNMQ",
"VPTESTNMW",
"VPUNPCKHBW",
"VPUNPCKHDQ",
"VPUNPCKHQDQ",
......@@ -1166,14 +1475,64 @@ var Anames = []string{
"VPUNPCKLQDQ",
"VPUNPCKLWD",
"VPXOR",
"VPXORD",
"VPXORQ",
"VRANGEPD",
"VRANGEPS",
"VRANGESD",
"VRANGESS",
"VRCP14PD",
"VRCP14PS",
"VRCP14SD",
"VRCP14SS",
"VRCP28PD",
"VRCP28PS",
"VRCP28SD",
"VRCP28SS",
"VRCPPS",
"VRCPSS",
"VREDUCEPD",
"VREDUCEPS",
"VREDUCESD",
"VREDUCESS",
"VRNDSCALEPD",
"VRNDSCALEPS",
"VRNDSCALESD",
"VRNDSCALESS",
"VROUNDPD",
"VROUNDPS",
"VROUNDSD",
"VROUNDSS",
"VRSQRT14PD",
"VRSQRT14PS",
"VRSQRT14SD",
"VRSQRT14SS",
"VRSQRT28PD",
"VRSQRT28PS",
"VRSQRT28SD",
"VRSQRT28SS",
"VRSQRTPS",
"VRSQRTSS",
"VSCALEFPD",
"VSCALEFPS",
"VSCALEFSD",
"VSCALEFSS",
"VSCATTERDPD",
"VSCATTERDPS",
"VSCATTERPF0DPD",
"VSCATTERPF0DPS",
"VSCATTERPF0QPD",
"VSCATTERPF0QPS",
"VSCATTERPF1DPD",
"VSCATTERPF1DPS",
"VSCATTERPF1QPD",
"VSCATTERPF1QPS",
"VSCATTERQPD",
"VSCATTERQPS",
"VSHUFF32X4",
"VSHUFF64X2",
"VSHUFI32X4",
"VSHUFI64X2",
"VSHUFPD",
"VSHUFPS",
"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{
"M5",
"M6",
"M7",
"K0",
"K1",
"K2",
"K3",
"K4",
"K5",
"K6",
"K7",
"X0",
"X1",
"X2",
......@@ -104,6 +112,22 @@ var Register = []string{
"X13",
"X14",
"X15",
"X16",
"X17",
"X18",
"X19",
"X20",
"X21",
"X22",
"X23",
"X24",
"X25",
"X26",
"X27",
"X28",
"X29",
"X30",
"X31",
"Y0",
"Y1",
"Y2",
......@@ -120,6 +144,54 @@ var Register = []string{
"Y13",
"Y14",
"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]
"SS",
"DS",
......@@ -170,6 +242,9 @@ var Register = []string{
func init() {
obj.RegisterRegister(REG_AL, REG_AL+len(Register), rconv)
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 {
......@@ -178,3 +253,12 @@ func rconv(r int) string {
}
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