From 1702e56ccbddb48a27aeef530c1eaf672d2132f5 Mon Sep 17 00:00:00 2001 From: Vaughn Iverson Date: Thu, 15 Dec 2022 17:35:27 -0800 Subject: [PATCH] replaced hardcoded consts in inst.Forms w/symbolic --- internal/opcodesextra/bitalg.go | 240 ++++++++--------- internal/opcodesextra/vpopcntdq.go | 396 ++++++++++++++--------------- 2 files changed, 318 insertions(+), 318 deletions(-) diff --git a/internal/opcodesextra/bitalg.go b/internal/opcodesextra/bitalg.go index 91b07cbe..9a463d0c 100644 --- a/internal/opcodesextra/bitalg.go +++ b/internal/opcodesextra/bitalg.go @@ -35,116 +35,116 @@ var bitalg = []*inst.Instruction{ { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, }, }, @@ -199,163 +199,163 @@ var vpopcntbw = inst.Forms{ { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "m128", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "m256", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512BITALG", "AVX512VL"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "m512", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512BITALG"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, } diff --git a/internal/opcodesextra/vpopcntdq.go b/internal/opcodesextra/vpopcntdq.go index bda10ddf..c448c218 100644 --- a/internal/opcodesextra/vpopcntdq.go +++ b/internal/opcodesextra/vpopcntdq.go @@ -43,254 +43,254 @@ var vpopcntdq = []*inst.Instruction{ { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "m128", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "m256", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "m32", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m32", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "m32", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m32", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m32", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m32", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "m32", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m32", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, Broadcast: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m32", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m32", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "m512", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, }, }, @@ -318,254 +318,254 @@ var vpopcntdq = []*inst.Instruction{ { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "m128", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m128", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m128", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "m256", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m256", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m256", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "m64", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m64", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "m64", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m64", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "m64", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "m64", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x3}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "xmm", Action: 0x1}, - {Type: "xmm", Action: 0x2}, + {Type: "xmm", Action: inst.R}, + {Type: "xmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x3}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VL", "AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "ymm", Action: 0x1}, - {Type: "ymm", Action: 0x2}, + {Type: "ymm", Action: inst.R}, + {Type: "ymm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "m512", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m512", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m512", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "m64", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m64", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, Broadcast: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "m64", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "m64", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Broadcast: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x3}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.RW}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "k", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "k", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, Zeroing: true, }, { ISA: []string{"AVX512VPOPCNTDQ"}, Operands: []inst.Operand{ - {Type: "zmm", Action: 0x1}, - {Type: "zmm", Action: 0x2}, + {Type: "zmm", Action: inst.R}, + {Type: "zmm", Action: inst.W}, }, - EncodingType: 0x4, + EncodingType: inst.EncodingTypeEVEX, }, }, },