You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61076 lines
2.8 MiB

/// @file xed-enc-groups.c
// This file was automatically generated.
// Do not edit this file.
/*BEGIN_LEGAL
Copyright (c) 2021 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
END_LEGAL */
#include "xed-internal-header.h"
#include "xed-encode-private.h"
#include "xed-enc-operand-lu.h"
#include "xed-operand-accessors.h"
#include "xed-encoder.h"
xed_bool_t xed_encode_group_0(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][4] = {
/*FADD */ { 3, 1, 2, 0},
/*FDIV */ { 24, 22, 23, 21},
/*FDIVR */ { 28, 26, 27, 25},
/*FMUL */ { 7, 5, 6, 4},
/*FSUB */ { 16, 14, 15, 13},
/*FSUBR */ { 20, 18, 19, 17},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64REAL);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32REAL);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_1(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*FCOMP */ { 9, 10, 11, 12, 8},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_2(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*FCOM */ { 31, 32, 30, 29},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_3(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*FLD */ { 34, 36, 33, 35},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM80REAL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_4(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*FST */ { 39, 38, 37},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64REAL) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32REAL) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_5(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*FSTP */ { 43, 44, 45, 42, 40, 41},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64REAL) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32REAL) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM80REAL) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_6(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[7][1] = {
/*FADDP */ { 156},
/*FDIVP */ { 162},
/*FDIVRP */ { 161},
/*FMULP */ { 157},
/*FSTPNCE */ { 46},
/*FSUBP */ { 160},
/*FSUBRP */ { 159},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_7(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*FLDENV */ { 47, 50, 48, 51, 49, 52, 53},
/*FNSTENV */ { 55, 58, 56, 59, 57, 60, 61},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM14);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM28);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM14);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM28);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM14);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM28);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM28);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_8(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*FLDCW */ { 54},
/*FNSTCW */ { 62},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM16);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_9(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*FXCH */ { 63, 64, 65},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_10(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[121][1] = {
/*CLAC */ {2481},
/*CLC */ {1112},
/*CLD */ {1116},
/*CLGI */ {2044},
/*CLI */ {1114},
/*CLTS */ {1123},
/*CLZERO */ {2057},
/*CMC */ {1111},
/*CPUID */ {1295},
/*EMMS */ {1272},
/*ENCLS */ {2484},
/*ENCLU */ {2483},
/*ENCLV */ {2497},
/*ENDBR32 */ {2439},
/*ENDBR64 */ {2440},
/*F2XM1 */ { 78},
/*FABS */ { 68},
/*FCHS */ { 67},
/*FCOMPP */ { 158},
/*FCOS */ { 93},
/*FDECSTP */ { 84},
/*FDISI8087_NOP */ { 134},
/*FEMMS */ {1988},
/*FENI8087_NOP */ { 133},
/*FINCSTP */ { 85},
/*FLD1 */ { 71},
/*FLDL2E */ { 73},
/*FLDL2T */ { 72},
/*FLDLG2 */ { 75},
/*FLDLN2 */ { 76},
/*FLDPI */ { 74},
/*FLDZ */ { 77},
/*FNCLEX */ { 130},
/*FNINIT */ { 131},
/*FNOP */ { 66},
/*FPATAN */ { 81},
/*FPREM */ { 86},
/*FPREM1 */ { 83},
/*FPTAN */ { 80},
/*FRNDINT */ { 90},
/*FSCALE */ { 91},
/*FSETPM287_NOP */ { 132},
/*FSIN */ { 92},
/*FSINCOS */ { 89},
/*FSQRT */ { 88},
/*FTST */ { 69},
/*FUCOMPP */ { 114},
/*FWAIT */ { 929},
/*FXAM */ { 70},
/*FXTRACT */ { 82},
/*FYL2X */ { 79},
/*FYL2XP1 */ { 87},
/*GETSEC */ {1942},
/*HLT */ {1110},
/*INSB */ { 793},
/*INT1 */ {1109},
/*INT3 */ {1074},
/*INVD */ {1391},
/*LAHF */ { 945},
/*LFENCE */ { 763},
/*MCOMMIT */ {2063},
/*MFENCE */ { 764},
/*MWAIT */ { 755},
/*MWAITX */ {2062},
/*NOP2 */ {1969},
/*NOP3 */ {1970},
/*NOP4 */ {1971},
/*NOP5 */ {1972},
/*NOP6 */ {1973},
/*NOP7 */ {1974},
/*NOP8 */ {1975},
/*NOP9 */ {1976},
/*PAUSE */ { 912},
/*RDMSR */ {1170},
/*RDPKRU */ {5458},
/*RDPMC */ {1171},
/*RDPRU */ {2064},
/*RDTSC */ {1169},
/*RDTSCP */ { 760},
/*REPE_SCASB */ {1042},
/*REPNE_SCASB */ {1043},
/*REP_XCRYPTCBC */ {1980},
/*REP_XCRYPTCFB */ {1982},
/*REP_XCRYPTCTR */ {1981},
/*REP_XCRYPTECB */ {1979},
/*REP_XCRYPTOFB */ {1983},
/*REP_XSHA1 */ {1984},
/*REP_XSHA256 */ {1985},
/*REP_XSTORE */ {1978},
/*RSM */ {1625},
/*SAHF */ { 944},
/*SAVEPREVSSP */ {2446},
/*SCASB */ {1044},
/*SERIALIZE */ {7043},
/*SETSSBSY */ {2447},
/*SFENCE */ { 761},
/*STAC */ {2482},
/*STC */ {1113},
/*STD */ {1117},
/*STGI */ {2043},
/*STI */ {1115},
/*STOSB */ { 996},
/*TLBSYNC */ {2071},
/*UD2 */ {1400},
/*VMCALL */ { 743},
/*VMFUNC */ {5443},
/*VMLAUNCH */ { 744},
/*VMMCALL */ {2040},
/*VMRESUME */ { 745},
/*VMSAVE */ {2042},
/*VMXOFF */ { 746},
/*WBNOINVD */ {6845},
/*WRMSR */ {1168},
/*WRPKRU */ {5459},
/*XEND */ {5447},
/*XGETBV */ {1934},
/*XRESLDTRK */ {7041},
/*XSETBV */ {1935},
/*XSTORE */ {1977},
/*XSUSLDTRK */ {7042},
/*XTEST */ {5449},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'VTX', 'VTX', 'VTX', 'VTX', 'MONITOR', 'RDTSCP', 'SSE', 'SSE2', 'SSE2', 'I186', 'PAUSE', 'X87', 'LAHF', 'LAHF', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I286REAL', 'PENTIUMREAL', 'PENTIUMREAL', 'PENTIUMREAL', 'RDPMC', 'PENTIUMMMX', 'I486REAL', 'I486REAL', 'PPRO', 'I486', 'XSAVE', 'XSAVE', 'SMX', 'I86', 'FAT_NOP', 'FAT_NOP', 'FAT_NOP', 'FAT_NOP', 'FAT_NOP', 'FAT_NOP', 'FAT_NOP', 'VIA_PADLOCK_RNG', 'VIA_PADLOCK_RNG', 'VIA_PADLOCK_AES', 'VIA_PADLOCK_AES', 'VIA_PADLOCK_AES', 'VIA_PADLOCK_AES', 'VIA_PADLOCK_AES', 'VIA_PADLOCK_SHA', 'VIA_PADLOCK_SHA', '3DNOW', 'SVM', 'SVM', 'SVM', 'SVM', 'CLZERO', 'MONITORX', 'MCOMMIT', 'RDPRU', 'AMD_INVLPGB', 'CET', 'CET', 'CET', 'CET', 'SMAP', 'SMAP', 'SGX', 'SGX', 'SGX_ENCLV', 'VMFUNC', 'RTM', 'RTM', 'PKU', 'PKU', 'WBNOINVD', 'TSX_LDTRK', 'TSX_LDTRK', 'SERIALIZE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_11(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][2] = {
/*FIADD */ { 95, 94},
/*FICOM */ { 99, 98},
/*FICOMP */ { 101, 100},
/*FIDIV */ { 107, 106},
/*FIDIVR */ { 109, 108},
/*FIMUL */ { 97, 96},
/*FISUB */ { 103, 102},
/*FISUBR */ { 105, 104},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM16INT);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32INT);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_12(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[14][1] = {
/*FCMOVB */ { 110},
/*FCMOVBE */ { 112},
/*FCMOVE */ { 111},
/*FCMOVNB */ { 126},
/*FCMOVNBE */ { 128},
/*FCMOVNE */ { 127},
/*FCMOVNU */ { 129},
/*FCMOVU */ { 113},
/*FCOMI */ { 136},
/*FCOMIP */ { 167},
/*FUCOM */ { 154},
/*FUCOMI */ { 135},
/*FUCOMIP */ { 166},
/*FUCOMP */ { 155},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
xed_encode_ntluf_X87(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FCMOV', 'FCMOV', 'FCMOV', 'FCMOV', 'FCMOV', 'FCMOV', 'FCMOV', 'FCMOV', 'PPRO', 'PPRO', 'X87', 'X87', 'PPRO', 'PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_13(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*FILD */ { 117, 116, 115},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64INT);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM16INT);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32INT);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_14(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*FISTP */ { 125, 124, 123},
/*FISTTP */ { 119, 120, 118},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M64INT) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE3X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM16INT) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE3X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32INT) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE3', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_15(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*FIST */ { 122, 121},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM16INT) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM32INT) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_16(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*FNSAVE */ { 147, 144, 148, 145, 149, 150, 146},
/*FRSTOR */ { 140, 137, 141, 138, 142, 143, 139},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM108);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM94);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM108);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM94);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM108);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM108);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM94);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_17(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*FNSTSW */ { 152, 151},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM16);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_18(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*FFREE */ { 153},
/*FFREEP */ { 165},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_X87(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['X87', 'X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_19(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*FBLD */ { 163},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_ST0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM80DEC);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_20(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*FBSTP */ { 164},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MEM80DEC) &&
(xed3_operand_get_reg0(xes) == XED_REG_ST0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['X87']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_21(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][6] = {
/*ADC_LOCK */ { 220, 221, 216, 219, 217, 218},
/*ADD_LOCK */ { 172, 173, 168, 171, 169, 170},
/*OR_LOCK */ { 196, 197, 192, 195, 193, 194},
/*SBB_LOCK */ { 244, 245, 240, 243, 241, 242},
/*SUB_LOCK */ { 292, 293, 288, 291, 289, 290},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_22(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][18] = {
/*ADC */ { 239, 238, 231, 235, 233, 237, 230, 232, 227, 223, 234, 229, 225, 236, 222, 228, 224, 226},
/*ADD */ { 191, 190, 183, 187, 185, 189, 182, 184, 179, 175, 186, 181, 177, 188, 174, 180, 176, 178},
/*CMP */ { 353, 352, 345, 349, 347, 351, 344, 346, 341, 337, 348, 343, 339, 350, 336, 342, 338, 340},
/*SBB */ { 263, 262, 255, 258, 257, 260, 254, 256, 251, 247, 259, 253, 249, 261, 246, 252, 248, 250},
/*SUB */ { 311, 310, 303, 306, 305, 308, 302, 304, 299, 295, 307, 301, 297, 309, 294, 300, 296, 298},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_23(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][18] = {
/*OR */ { 215, 214, 207, 211, 209, 213, 206, 208, 203, 199, 210, 205, 201, 212, 198, 204, 200, 202},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_24(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*AND_LOCK */ { 268, 269, 264, 267, 265, 266},
/*XOR_LOCK */ { 316, 317, 312, 315, 313, 314},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_25(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][18] = {
/*AND */ { 287, 286, 279, 282, 281, 284, 278, 280, 275, 271, 283, 277, 273, 285, 270, 276, 272, 274},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_26(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][18] = {
/*XOR */ { 335, 334, 327, 330, 329, 332, 326, 328, 323, 319, 331, 325, 321, 333, 318, 324, 320, 322},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_27(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*POP */ { 358, 356, 357, 359, 360, 361, 355, 354},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_DS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_ES);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_SS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_FS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_GS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_28(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][12] = {
/*RCL */ { 395, 397, 394, 396, 391, 387, 393, 389, 390, 386, 392, 388},
/*RCR */ { 407, 409, 406, 408, 403, 399, 405, 401, 402, 398, 404, 400},
/*ROL */ { 371, 373, 370, 372, 367, 363, 369, 365, 366, 362, 368, 364},
/*ROR */ { 383, 385, 382, 384, 379, 375, 381, 376, 378, 374, 380, 377},
/*SAR */ { 455, 457, 454, 456, 451, 447, 453, 449, 450, 446, 452, 448},
/*SHR */ { 443, 445, 442, 444, 439, 435, 441, 437, 438, 434, 440, 436},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_reg0(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_reg0(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I186', 'I186', 'I186', 'I186', 'I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I186', 'I186', 'I186', 'I186', 'I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I186', 'I186', 'I186', 'I186', 'I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I186', 'I186', 'I186', 'I186', 'I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_29(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][24] = {
/*SHL */ { 427, 429, 431, 433, 426, 428, 430, 432, 419, 421, 411, 413, 423, 425, 415, 417, 418, 420, 410, 412, 422, 424, 414, 416},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_reg0(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_reg0(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_reg0(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_reg0(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][20]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][21]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ONE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][22]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][23]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_30(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][14] = {
/*TEST */ { 471, 470, 467, 469, 466, 468, 460, 461, 464, 465, 458, 459, 462, 463},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_31(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][2] = {
/*DEC_LOCK */ { 513, 514},
/*INC_LOCK */ { 506, 507},
/*NEG_LOCK */ { 478, 479},
/*NOT_LOCK */ { 472, 473},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_32(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][4] = {
/*DIV */ { 499, 501, 498, 500},
/*IDIV */ { 503, 505, 502, 504},
/*MUL */ { 485, 487, 484, 486},
/*NEG */ { 481, 483, 480, 482},
/*NOT */ { 475, 477, 474, 476},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_33(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*IMUL */ { 489, 491, 488, 490, 497, 495, 493, 496, 494, 492},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_34(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*DEC */ { 519, 516, 518, 515, 517},
/*INC */ { 512, 509, 511, 508, 510},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_35(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*CALL_NEAR */ { 522, 523, 521, 520},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISPz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP32_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CET_NO_TRACK_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CET_NO_TRACK_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_36(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*JMP */ { 528, 526, 527, 529, 525, 524},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISPz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CET_NO_TRACK_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CET_NO_TRACK_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_37(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CALL_FAR */ { 928, 927},
/*JMP_FAR */ { 531, 530},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_PTR && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_ptr(xes) == 1) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISPz_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM16_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_P2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_38(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*PUSH */ { 535, 537, 534, 536, 540, 539, 538, 541, 542, 533, 532},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_CS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_DS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_ES);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_SS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_FS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_GS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_39(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*SLDT */ { 544, 543},
/*SMSW */ { 558, 557},
/*STR */ { 546, 545},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I286PROTECTED', 'I286PROTECTED', 'I286REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I286PROTECTED', 'I286PROTECTED', 'I286REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_40(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][2] = {
/*LLDT */ { 548, 547},
/*LMSW */ { 560, 559},
/*LTR */ { 550, 549},
/*VERR */ { 552, 551},
/*VERW */ { 554, 553},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR16_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I286PROTECTED', 'I286PROTECTED', 'I286PROTECTED', 'I286PROTECTED', 'I286REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['I286PROTECTED', 'I286PROTECTED', 'I286PROTECTED', 'I286PROTECTED', 'I286REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_41(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][2] = {
/*LGDT */ { 556, 555},
/*LIDT */ { 750, 749},
/*SGDT */ { 748, 747},
/*SIDT */ { 756, 757},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_S);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I286REAL', 'I286REAL', 'I286REAL', 'I286REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_S64);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I286REAL', 'I286REAL', 'I286REAL', 'I286REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_42(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][4] = {
/*BT */ { 564, 563, 562, 561},
/*BTC */ { 582, 581, 580, 579},
/*BTR */ { 576, 575, 574, 573},
/*BTS */ { 570, 569, 568, 567},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I386', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I386', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I386', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['I386', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_43(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*BTC_LOCK */ { 578, 577},
/*BTR_LOCK */ { 572, 571},
/*BTS_LOCK */ { 566, 565},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_44(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*VMCLEAR */ { 583},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_45(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*CLRSSBSY */ {2438},
/*RSTORSSP */ {2445},
/*VMPTRLD */ { 584},
/*VMPTRST */ { 585},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['VTX', 'VTX', 'CET', 'CET']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_46(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*VMXON */ { 586},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_47(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CMPXCHG8B */ { 589, 590},
/*CMPXCHG8B_LOCK*/ { 587, 588},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['PENTIUMREAL', 'PENTIUMREAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['PENTIUMREAL', 'PENTIUMREAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_48(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*CMPXCHG16B */ { 592},
/*CMPXCHG16B_LOCK*/ { 591},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['CMPXCHG16B', 'CMPXCHG16B']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_49(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][22] = {
/*MOV */ { 611, 612, 613, 614, 610, 609, 597, 602, 600, 606, 604, 608, 598, 599, 605, 593, 601, 595, 603, 607, 594, 596},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_base0(xes) == XED_REG_INVALID) &&
(xed3_operand_get_index(xes) == XED_REG_INVALID);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MEMDISPv_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_base0(xes) == XED_REG_INVALID) &&
(xed3_operand_get_index(xes) == XED_REG_INVALID);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MEMDISPv_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_SB(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMMv_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_base0(xes) == XED_REG_INVALID) &&
(xed3_operand_get_index(xes) == XED_REG_INVALID);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MEMDISPv_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_base0(xes) == XED_REG_INVALID) &&
(xed3_operand_get_index(xes) == XED_REG_INVALID);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MEMDISPv_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_SEG(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_SEG_MOV(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR16_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
xed_encode_ntluf_SEG(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_SEG_MOV(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][20]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][21]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SIMMz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_50(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][6] = {
/*PSLLD */ { 648, 645, 647, 650, 646, 649},
/*PSLLQ */ { 660, 657, 659, 662, 658, 661},
/*PSLLW */ { 630, 627, 629, 632, 628, 631},
/*PSRAD */ { 642, 639, 641, 644, 640, 643},
/*PSRAW */ { 624, 621, 623, 626, 622, 625},
/*PSRLD */ { 636, 633, 635, 638, 634, 637},
/*PSRLQ */ { 654, 651, 653, 656, 652, 655},
/*PSRLW */ { 618, 615, 617, 620, 616, 619},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_51(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*PSLLDQ */ { 664},
/*PSRLDQ */ { 663},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_52(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*FXRSTOR */ { 666},
/*FXRSTOR64 */ { 668},
/*FXSAVE */ { 665},
/*FXSAVE64 */ { 667},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MFPXENV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FXSAVE', 'FXSAVE', 'FXSAVE64', 'FXSAVE64']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_53(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*LDMXCSR */ { 669},
/*STMXCSR */ { 670},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSEMXCSR', 'SSEMXCSR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_54(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][1] = {
/*CLFLUSH */ { 762},
/*PREFETCHNTA */ { 671},
/*PREFETCHT0 */ { 672},
/*PREFETCHT1 */ { 673},
/*PREFETCHT2 */ { 674},
/*PREFETCH_EXCLUSIVE*/ {1961},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['SSE_PREFETCH', 'SSE_PREFETCH', 'SSE_PREFETCH', 'SSE_PREFETCH', 'CLFSH', 'PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_55(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][60] = {
/*NOP */ { 700, 699, 701, 702, 730, 707, 708, 704, 705, 706, 675, 676, 677, 678, 680, 682, 683, 684, 688, 696, 703, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 741, 679, 681, 685, 686, 687, 695, 711, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 742, 709, 710},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 0) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 0) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][20]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][21]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][22]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][23]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][24]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][25]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][26]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][27]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][28]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][29]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][30]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][31]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][32]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][33]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][34]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][35]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][36]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][37]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][38]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][39]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][40]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][41]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][42]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][43]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][44]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['FAT_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][45]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][46]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][47]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][48]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][49]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][50]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][51]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][52]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][53]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][54]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][55]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][56]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][57]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 0) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][58]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 0) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][59]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_56(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*MONITOR */ { 752, 751, 754, 753},
/*MONITORX */ {2059,2058,2061,2060},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_easz(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['MONITOR', 'MONITORX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_easz(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['MONITOR', 'MONITORX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_easz(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['MONITOR', 'MONITORX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_easz(xes) == 3);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['MONITOR', 'MONITORX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_57(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][1] = {
/*CLDEMOTE */ {2496},
/*INVLPG */ { 758},
/*PREFETCHWT1 */ {5565},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I486REAL', 'CLDEMOTE', 'PREFETCHWT1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_58(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[17][1] = {
/*CDQE */ { 916},
/*CLUI */ {7022},
/*CQO */ { 923},
/*IRETQ */ {1083},
/*REPE_SCASQ */ {1063},
/*REPNE_SCASQ */ {1064},
/*SCASQ */ {1065},
/*SEAMCALL */ {7044},
/*SEAMOPS */ {7045},
/*SEAMRET */ {7046},
/*STOSQ */ {1017},
/*STUI */ {7024},
/*SWAPGS */ { 759},
/*SYSRET */ {1124},
/*SYSRET64 */ {1125},
/*TESTUI */ {7025},
/*UIRET */ {7026},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE', 'UINTR', 'UINTR', 'UINTR', 'UINTR', 'TDX', 'TDX', 'TDX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_59(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][1] = {
/*LOADIWKEY */ {7020},
/*MOVHLPS */ { 765},
/*MOVLHPS */ { 768},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE', 'SSE', 'KEYLOCKER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_60(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*MOVHPS */ { 770, 769},
/*MOVLPS */ { 767, 766},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_61(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[7][1] = {
/*AAA */ { 773},
/*AAS */ { 774},
/*DAA */ { 771},
/*DAS */ { 772},
/*INTO */ {1076},
/*SALC */ {1086},
/*SYSRET_AMD */ {2038},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'AMD']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_62(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][2] = {
/*POPA */ { 779, 780},
/*POPAD */ { 781, 782},
/*POPFD */ { 940, 941},
/*PUSHA */ { 775, 776},
/*PUSHAD */ { 777, 778},
/*PUSHFD */ { 934, 933},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I386', 'I186', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I386', 'I186', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_63(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*BOUND */ { 783, 785, 784, 786},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_A16);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_A32);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_A16);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_A32);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_64(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*ARPL */ { 788, 787},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR16_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR16_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I286PROTECTED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
xed_encode_ntluf_GPR16_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I286PROTECTED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_65(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*MOVSXD */ { 790, 789},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRz_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Z);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_66(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*REP_INSB */ { 791, 792},
/*REP_STOSB */ { 994, 995},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I186', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I186', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_67(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*REP_INSW */ { 794, 797, 795, 798, 796, 799},
/*REP_STOSD */ {1006,1009,1007,1010,1008,1011},
/*REP_STOSW */ { 997,1000, 998,1001, 999,1002},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_68(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[17][3] = {
/*CBW */ { 913, 914, 915},
/*CDQ */ { 924, 925, 926},
/*CWD */ { 920, 921, 922},
/*CWDE */ { 917, 918, 919},
/*INSW */ { 800, 801, 802},
/*IRET */ {1077,1078,1079},
/*IRETD */ {1080,1081,1082},
/*POPF */ { 937, 938, 939},
/*PUSHF */ { 930, 931, 932},
/*REPE_SCASD */ {1054,1055,1056},
/*REPE_SCASW */ {1045,1046,1047},
/*REPNE_SCASD */ {1057,1058,1059},
/*REPNE_SCASW */ {1048,1049,1050},
/*SCASD */ {1060,1061,1062},
/*SCASW */ {1051,1052,1053},
/*STOSD */ {1012,1013,1014},
/*STOSW */ {1003,1004,1005},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I186', 'I86', 'I386', 'I86', 'I386', 'I86', 'I86', 'I86', 'I386', 'I86', 'I86', 'I86', 'I386', 'I386', 'I386', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I186', 'I86', 'I386', 'I86', 'I386', 'I86', 'I86', 'I86', 'I386', 'I86', 'I86', 'I86', 'I386', 'I386', 'I386', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I186', 'I86', 'I386', 'I86', 'I386', 'I86', 'I86', 'I86', 'I386', 'I86', 'I86', 'I86', 'I386', 'I386', 'I386', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_69(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*REP_INSD */ { 803, 807, 804, 808, 805, 806, 809, 810},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_70(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*INSD */ { 811, 812, 813, 814},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_71(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*REP_LODSB */ {1018,1019},
/*REP_OUTSB */ { 815, 816},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I186', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I186', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_72(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][1] = {
/*CMPSB */ { 972},
/*LODSB */ {1020},
/*OUTSB */ { 817},
/*REPE_CMPSB */ { 970},
/*REPNE_CMPSB */ { 971},
/*XLAT */ {1087},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['I186', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_73(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*REP_LODSD */ {1030,1033,1031,1034,1032,1035},
/*REP_LODSW */ {1021,1024,1022,1025,1023,1026},
/*REP_OUTSW */ { 818, 821, 819, 822, 820, 823},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I186', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_74(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[9][3] = {
/*CMPSD */ { 988, 989, 990},
/*CMPSW */ { 979, 980, 981},
/*LODSD */ {1036,1037,1038},
/*LODSW */ {1027,1028,1029},
/*OUTSW */ { 824, 825, 826},
/*REPE_CMPSD */ { 982, 983, 984},
/*REPE_CMPSW */ { 973, 974, 975},
/*REPNE_CMPSD */ { 985, 986, 987},
/*REPNE_CMPSW */ { 976, 977, 978},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['I186', 'I86', 'I86', 'I86', 'I386', 'I386', 'I386', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['I186', 'I86', 'I86', 'I86', 'I386', 'I386', 'I386', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['I186', 'I86', 'I86', 'I86', 'I386', 'I386', 'I386', 'I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_75(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*REP_OUTSD */ { 827, 831, 828, 832, 829, 830, 833, 834},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_76(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*OUTSD */ { 835, 836, 837, 838},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_77(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[16][4] = {
/*JB */ { 848, 849, 847, 850},
/*JBE */ { 864, 865, 863, 866},
/*JL */ { 888, 889, 887, 890},
/*JLE */ { 896, 897, 895, 898},
/*JNB */ { 852, 853, 851, 854},
/*JNBE */ { 868, 869, 867, 870},
/*JNL */ { 892, 893, 891, 894},
/*JNLE */ { 900, 901, 899, 902},
/*JNO */ { 844, 845, 843, 846},
/*JNP */ { 884, 885, 883, 886},
/*JNS */ { 876, 877, 875, 878},
/*JNZ */ { 860, 861, 859, 862},
/*JO */ { 840, 842, 839, 841},
/*JP */ { 880, 881, 879, 882},
/*JS */ { 872, 873, 871, 874},
/*JZ */ { 856, 857, 855, 858},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRANCH_HINT_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRANCH_HINT_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISPz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRANCH_HINT_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRANCH_HINT_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_78(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*XCHG */ { 909, 910, 905, 908, 903, 904, 906, 907},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_OrAX(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_79(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*LEA */ { 911},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_AGEN) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_agen(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REMOVE_SEGMENT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_80(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*POPFQ */ { 942, 943},
/*PUSHFQ */ { 935, 936},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['LONGMODE', 'LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['LONGMODE', 'LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_81(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*REP_MOVSB */ { 946, 947},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_82(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVSB */ { 948},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_83(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*REP_MOVSD */ { 958, 961, 959, 962, 960, 963},
/*REP_MOVSW */ { 949, 952, 950, 953, 951, 954},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_84(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*MOVSD */ { 964, 965, 966},
/*MOVSW */ { 955, 956, 957},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_85(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*REP_MOVSQ */ { 967, 968},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_86(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVSQ */ { 969},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_87(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*CMPSQ */ { 993},
/*LODSQ */ {1041},
/*REPE_CMPSQ */ { 991},
/*REPNE_CMPSQ */ { 992},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['LONGMODE', 'LONGMODE', 'LONGMODE', 'LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_88(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*REP_STOSQ */ {1015,1016},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_89(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*REP_LODSQ */ {1039,1040},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_90(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*RET_NEAR */ {1067,1066},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM16_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_91(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*LDS */ {1069},
/*LES */ {1068},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPRz_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_P);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_92(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*ENTER */ {1070},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_IMM0 && xes->_operand_order[1] == XED_OPERAND_IMM1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1) &&
(xed3_operand_get_imm1(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM16_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_93(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*LEAVE */ {1071},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I186']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_94(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*RET_FAR */ {1073,1072},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM16_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_95(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][1] = {
/*HRESET */ {7021},
/*INT */ {1075},
/*XABORT */ {5448},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I86', 'RTM', 'HRESET']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_96(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*AAD */ {1085},
/*AAM */ {1084},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_97(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*LOOPE */ {1094,1092,1093,1095},
/*LOOPNE */ {1090,1088,1089,1091},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_modep5(xes) == 0) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_modep5(xes) == 1) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_modep5(xes) == 1) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_modep5(xes) == 1) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I86', 'I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_98(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*LOOP */ {1096},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_DF64_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_LOOP64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_99(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*JCXZ */ {1097},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 1) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_100(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*JECXZ */ {1098,1099},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 2) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 2) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_101(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*JRCXZ */ {1100},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 3) &&
(xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISP8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_102(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*IN */ {1103,1104,1101,1102},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_reg1(xes) == XED_REG_DX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OeAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_DX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE_REXW_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_AL) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_IMM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_OeAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE_REXW_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_103(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*OUT */ {1107,1105,1108,1106},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_DX) &&
(xed3_operand_get_reg1(xes) == XED_REG_AL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_IMM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1) &&
(xed3_operand_get_reg0(xes) == XED_REG_AL);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_DX) &&
xed_encode_ntluf_OeAX(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE_REXW_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_IMM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_imm0(xes) == 1) &&
xed_encode_ntluf_OeAX(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE_REXW_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_104(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*LAR */ {1119,1118},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I286PROTECTED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I286PROTECTED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_105(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*LSL */ {1121,1120},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRz_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I286PROTECTED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I286PROTECTED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_106(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*SYSCALL */ {1122},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LONGMODE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FORCE64_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_107(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*MOVAPS */ {1404,1402,1403,1401},
/*MOVUPS */ {1129,1127,1128,1126},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_108(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[10][2] = {
/*CVTDQ2PS */ {1478,1477},
/*GF2P8MULB */ {6966,6967},
/*SHA1MSG1 */ {2453,2454},
/*SHA1MSG2 */ {2455,2456},
/*SHA1NEXTE */ {2457,2458},
/*SHA256MSG1 */ {2461,2462},
/*SHA256MSG2 */ {2463,2464},
/*SHA256RNDS2 */ {2465,2466},
/*UNPCKHPS */ {1133,1132},
/*UNPCKLPS */ {1131,1130},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True] isa_set ['SSE', 'SSE', 'SSE2', 'SHA', 'SHA', 'SHA', 'SHA', 'SHA', 'SHA', 'GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True] isa_set ['SSE', 'SSE', 'SSE2', 'SHA', 'SHA', 'SHA', 'SHA', 'SHA', 'SHA', 'GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_109(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*MOVSS */ {1137,1135,1136,1134},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_110(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][2] = {
/*ADDSUBPS */ {1350,1349},
/*CVTTPS2DQ */ {1494,1493},
/*HADDPS */ {1606,1605},
/*HSUBPS */ {1608,1607},
/*MOVSHDUP */ {1141,1140},
/*MOVSLDUP */ {1139,1138},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['SSE3', 'SSE3', 'SSE3', 'SSE2', 'SSE3', 'SSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['SSE3', 'SSE3', 'SSE3', 'SSE2', 'SSE3', 'SSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_111(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*MOVAPD */ {1431,1429,1430,1428},
/*MOVUPD */ {1145,1143,1144,1142},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PD) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_112(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*MOVHPD */ {1153,1152},
/*MOVLPD */ {1147,1146},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_113(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[27][2] = {
/*AESDEC */ {1949,1950},
/*AESDECLAST */ {1951,1952},
/*AESENC */ {1945,1946},
/*AESENCLAST */ {1947,1948},
/*AESIMC */ {1953,1954},
/*BLENDVPD */ {1822,1821},
/*BLENDVPS */ {1824,1823},
/*PACKUSDW */ {1839,1838},
/*PBLENDVB */ {1843,1842},
/*PCMPEQQ */ {1826,1825},
/*PCMPGTQ */ {1812,1811},
/*PHMINPOSUW */ {1869,1868},
/*PMAXSB */ {1871,1870},
/*PMAXSD */ {1873,1872},
/*PMAXUD */ {1875,1874},
/*PMAXUW */ {1877,1876},
/*PMINSB */ {1879,1878},
/*PMINSD */ {1881,1880},
/*PMINUD */ {1883,1882},
/*PMINUW */ {1885,1884},
/*PMULDQ */ {1889,1888},
/*PMULLD */ {1887,1886},
/*PTEST */ {1867,1866},
/*PUNPCKHQDQ */ {1584,1583},
/*PUNPCKLQDQ */ {1582,1581},
/*UNPCKHPD */ {1151,1150},
/*UNPCKLPD */ {1149,1148},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE42', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'AES', 'AES', 'AES', 'AES', 'AES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE42', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'AES', 'AES', 'AES', 'AES', 'AES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_114(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*MOVSD_XMM */ {1157,1155,1156,1154},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_115(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CVTDQ2PD */ {1373,1372},
/*MOVDDUP */ {1159,1158},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE3', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE3', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_116(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*MOV_CR */ {1160,1162,1161,1163},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_CR_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_CR_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_CR_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_CR_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_117(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*MOV_DR */ {1164,1166,1165,1167},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_DR_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_DR_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_DR_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_DR_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I86']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_118(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][2] = {
/*PCONFIG */ {6846,6847},
/*SYSENTER */ {1172,1173},
/*SYSEXIT */ {1174,1175},
/*TDCALL */ {7048,7047},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['PPRO', 'PPRO', 'PCONFIG', 'TDX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['PPRO', 'PPRO', 'PCONFIG', 'TDX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_119(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[18][2] = {
/*CMOVB */ {1181,1180},
/*CMOVBE */ {1189,1188},
/*CMOVL */ {1464,1463},
/*CMOVLE */ {1468,1467},
/*CMOVNB */ {1183,1182},
/*CMOVNBE */ {1191,1190},
/*CMOVNL */ {1466,1465},
/*CMOVNLE */ {1470,1469},
/*CMOVNO */ {1179,1178},
/*CMOVNP */ {1462,1461},
/*CMOVNS */ {1458,1457},
/*CMOVNZ */ {1187,1186},
/*CMOVO */ {1177,1176},
/*CMOVP */ {1460,1459},
/*CMOVS */ {1456,1455},
/*CMOVZ */ {1185,1184},
/*POPCNT */ {1810,1809},
/*TZCNT */ {5442,5441},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'POPCNT', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'CMOV', 'POPCNT', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_120(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVMSKPS */ {1192},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_121(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[9][2] = {
/*ADDPS */ {1472,1471},
/*DIVPS */ {1484,1483},
/*MAXPS */ {1486,1485},
/*MINPS */ {1482,1481},
/*MULPS */ {1474,1473},
/*RCPPS */ {1198,1197},
/*RSQRTPS */ {1196,1195},
/*SQRTPS */ {1194,1193},
/*SUBPS */ {1480,1479},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_122(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][2] = {
/*ANDNPS */ {1202,1201},
/*ANDPS */ {1200,1199},
/*ORPS */ {1204,1203},
/*XORPS */ {1206,1205},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['SSE', 'SSE', 'SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_XUD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['SSE', 'SSE', 'SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_123(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[10][2] = {
/*ADDSS */ {1488,1487},
/*CVTSS2SD */ {1492,1491},
/*DIVSS */ {1500,1499},
/*MAXSS */ {1502,1501},
/*MINSS */ {1498,1497},
/*MULSS */ {1490,1489},
/*RCPSS */ {1212,1211},
/*RSQRTSS */ {1210,1209},
/*SQRTSS */ {1208,1207},
/*SUBSS */ {1496,1495},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True] isa_set ['SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE2', 'SSE', 'SSE', 'SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True] isa_set ['SSE', 'SSE', 'SSE', 'SSE', 'SSE', 'SSE2', 'SSE', 'SSE', 'SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_124(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVMSKPD */ {1213},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_125(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[12][2] = {
/*ADDPD */ {1504,1503},
/*ADDSUBPD */ {1347,1346},
/*CVTPD2PS */ {1508,1507},
/*CVTTPD2DQ */ {1370,1369},
/*DIVPD */ {1516,1515},
/*HADDPD */ {1598,1597},
/*HSUBPD */ {1600,1599},
/*MAXPD */ {1518,1517},
/*MINPD */ {1514,1513},
/*MULPD */ {1506,1505},
/*SQRTPD */ {1215,1214},
/*SUBPD */ {1512,1511},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE3', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE3', 'SSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE3', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE3', 'SSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_126(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][2] = {
/*ANDNPD */ {1219,1218},
/*ANDPD */ {1217,1216},
/*ORPD */ {1221,1220},
/*XORPD */ {1223,1222},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_XUQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_127(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][2] = {
/*ADDSD */ {1520,1519},
/*CVTSD2SS */ {1524,1523},
/*DIVSD */ {1530,1529},
/*MAXSD */ {1532,1531},
/*MINSD */ {1528,1527},
/*MULSD */ {1522,1521},
/*SQRTSD */ {1225,1224},
/*SUBSD */ {1526,1525},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_128(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][4] = {
/*PUNPCKLBW */ {1227,1226,1229,1228},
/*PUNPCKLDQ */ {1235,1234,1237,1236},
/*PUNPCKLWD */ {1231,1230,1233,1232},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_129(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[59][4] = {
/*PABSB */ {1798,1797,1800,1799},
/*PABSD */ {1806,1805,1808,1807},
/*PABSW */ {1802,1801,1804,1803},
/*PACKSSDW */ {1546,1545,1548,1547},
/*PACKSSWB */ {1239,1238,1241,1240},
/*PACKUSWB */ {1255,1254,1257,1256},
/*PADDB */ {1734,1733,1736,1735},
/*PADDD */ {1742,1741,1744,1743},
/*PADDQ */ {1337,1336,1339,1338},
/*PADDSB */ {1702,1701,1704,1703},
/*PADDSW */ {1706,1705,1708,1707},
/*PADDUSB */ {1670,1669,1672,1671},
/*PADDUSW */ {1674,1673,1676,1675},
/*PADDW */ {1738,1737,1740,1739},
/*PAND */ {1666,1665,1668,1667},
/*PANDN */ {1682,1681,1684,1683},
/*PAVGB */ {1353,1352,1355,1354},
/*PAVGW */ {1357,1356,1359,1358},
/*PCMPEQB */ {1261,1260,1263,1262},
/*PCMPEQD */ {1269,1268,1271,1270},
/*PCMPEQW */ {1265,1264,1267,1266},
/*PCMPGTB */ {1243,1242,1245,1244},
/*PCMPGTD */ {1251,1250,1253,1252},
/*PCMPGTW */ {1247,1246,1249,1248},
/*PHADDD */ {1750,1749,1752,1751},
/*PHADDSW */ {1754,1753,1756,1755},
/*PHADDW */ {1746,1745,1748,1747},
/*PHSUBD */ {1762,1761,1764,1763},
/*PHSUBSW */ {1766,1765,1768,1767},
/*PHSUBW */ {1758,1757,1760,1759},
/*PMADDUBSW */ {1770,1769,1772,1771},
/*PMADDWD */ {1381,1380,1383,1382},
/*PMAXSW */ {1710,1709,1712,1711},
/*PMAXUB */ {1678,1677,1680,1679},
/*PMINSW */ {1694,1693,1696,1695},
/*PMINUB */ {1662,1661,1664,1663},
/*PMULHRSW */ {1774,1773,1776,1775},
/*PMULHUW */ {1361,1360,1363,1362},
/*PMULHW */ {1365,1364,1367,1366},
/*PMULLW */ {1341,1340,1343,1342},
/*PMULUDQ */ {1377,1376,1379,1378},
/*POR */ {1698,1697,1700,1699},
/*PSADBW */ {1385,1384,1387,1386},
/*PSHUFB */ {1778,1777,1780,1779},
/*PSIGNB */ {1782,1781,1784,1783},
/*PSIGND */ {1790,1789,1792,1791},
/*PSIGNW */ {1786,1785,1788,1787},
/*PSUBB */ {1718,1717,1720,1719},
/*PSUBD */ {1726,1725,1728,1727},
/*PSUBQ */ {1730,1729,1732,1731},
/*PSUBSB */ {1686,1685,1688,1687},
/*PSUBSW */ {1690,1689,1692,1691},
/*PSUBUSB */ {1654,1653,1656,1655},
/*PSUBUSW */ {1658,1657,1660,1659},
/*PSUBW */ {1722,1721,1724,1723},
/*PUNPCKHBW */ {1534,1533,1536,1535},
/*PUNPCKHDQ */ {1542,1541,1544,1543},
/*PUNPCKHWD */ {1538,1537,1540,1539},
/*PXOR */ {1714,1713,1716,1715},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSE2MMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSE2MMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSE2MMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSE2MMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSE2MMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSE2MMX', 'PENTIUMMMX', 'PENTIUMMMX', 'PENTIUMMMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX', 'SSSE3MMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSE2', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3', 'SSSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_130(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PSHUFW */ {1259,1258},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_131(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[9][2] = {
/*AESKEYGENASSIST*/ {1943,1944},
/*BLENDPD */ {1818,1817},
/*BLENDPS */ {1820,1819},
/*DPPD */ {1828,1827},
/*DPPS */ {1830,1829},
/*MPSADBW */ {1837,1836},
/*PBLENDW */ {1841,1840},
/*PCLMULQDQ */ {1955,1956},
/*PSHUFD */ {1274,1273},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'AES', 'PCLMULQDQ']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['SSE2', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'AES', 'PCLMULQDQ']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_132(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*PSHUFHW */ {1278,1277},
/*PSHUFLW */ {1276,1275},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_133(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[16][2] = {
/*SETB */ {1284,1283},
/*SETBE */ {1292,1291},
/*SETL */ {1618,1617},
/*SETLE */ {1622,1621},
/*SETNB */ {1286,1285},
/*SETNBE */ {1294,1293},
/*SETNL */ {1620,1619},
/*SETNLE */ {1624,1623},
/*SETNO */ {1282,1281},
/*SETNP */ {1616,1615},
/*SETNS */ {1612,1611},
/*SETNZ */ {1290,1289},
/*SETO */ {1280,1279},
/*SETP */ {1614,1613},
/*SETS */ {1610,1609},
/*SETZ */ {1288,1287},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_134(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CMPXCHG_LOCK */ {1296,1297},
/*XADD_LOCK */ {1309,1310},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I486REAL', 'I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I486REAL', 'I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_135(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*CMPXCHG */ {1299,1301,1298,1300},
/*XADD */ {1312,1314,1311,1313},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I486REAL', 'I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I486REAL', 'I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_GPR8_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I486REAL', 'I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I486REAL', 'I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_136(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][1] = {
/*LFS */ {1303},
/*LGS */ {1304},
/*LSS */ {1302},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_P2);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['I386', 'I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_137(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*MOVSX */ {1651,1649,1648,1650},
/*MOVZX */ {1308,1306,1305,1307},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR16_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_138(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CMPPS */ {1316,1315},
/*SHUFPS */ {1327,1326},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_139(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*MOVNTI */ {1317,1318,1319},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_140(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*PINSRW */ {1321,1320,1323,1322},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_141(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PEXTRW */ {1324,1325},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_142(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CMPSS */ {1329,1328},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_143(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*CMPPD */ {1331,1330},
/*ROUNDPD */ {1859,1858},
/*SHUFPD */ {1333,1332},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE2', 'SSE2', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE2', 'SSE2', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_144(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CMPSD_XMM */ {1335,1334},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_145(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PMOVMSKB */ {1344,1345},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_146(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVQ2DQ */ {1348},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_147(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVDQ2Q */ {1351},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_148(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVNTQ */ {1368},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_149(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*MOVNTDQ */ {1371},
/*MOVNTPD */ {1434},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_150(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CVTPD2DQ */ {1375,1374},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_151(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MASKMOVQ */ {1388},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_152(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MASKMOVDQU */ {1389},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_OVERRIDE_SEG0_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_153(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*LDDQU */ {1390},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_154(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*WBINVD */ {1392,1393,1394},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = 1;
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_155(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*UD0 */ {1395,1397,1396},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode_short_ud0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO_UD0_SHORT']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode_short_ud0(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO_UD0_LONG']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode_short_ud0(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO_UD0_LONG']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_156(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*UD1 */ {1399,1398},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PPRO']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_157(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CVTPI2PS */ {1406,1405},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_158(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVNTPS */ {1407},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_159(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CVTPS2PI */ {1411,1410},
/*CVTTPS2PI */ {1409,1408},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_160(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*COMISS */ {1415,1414},
/*UCOMISS */ {1413,1412},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_161(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*CVTSI2SD */ {1444,1446,1443,1445},
/*CVTSI2SS */ {1417,1419,1416,1418},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_162(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*CVTSS2SI */ {1425,1427,1424,1426},
/*CVTTSS2SI */ {1421,1423,1420,1422},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SS);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE', 'SSE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_163(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CVTPI2PD */ {1433,1432},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_164(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*CVTPD2PI */ {1438,1437},
/*CVTTPD2PI */ {1436,1435},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_165(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*COMISD */ {1442,1441},
/*UCOMISD */ {1440,1439},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_166(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*CVTSD2SI */ {1452,1454,1451,1453},
/*CVTTSD2SI */ {1448,1450,1447,1449},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_SD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE2', 'SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_167(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CVTPS2PD */ {1476,1475},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_168(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*CVTPS2DQ */ {1510,1509},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_169(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][16] = {
/*MOVD */ {1564,1560,1562,1558,1563,1556,1559,1552,1561,1554,1557,1550,1555,1551,1553,1549},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_170(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][16] = {
/*MOVQ */ {1576,1574,1580,1578,1579,1575,1568,1573,1566,1577,1570,1572,1569,1567,1565,1571},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PENTIUMMMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_171(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*MOVDQU */ {1588,1586,1587,1585},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_172(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VMREAD */ {1592,1590,1591,1589},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_173(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VMWRITE */ {1596,1594,1595,1593},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VTX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_174(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*MOVDQA */ {1602,1604,1601,1603},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_175(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*SHLD */ {1633,1632,1631,1630},
/*SHRD */ {1629,1628,1627,1626},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_reg2(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_CL);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['I386', 'I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_176(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*BSF */ {1635,1637,1639,1634,1636,1638},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_177(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*BSR */ {1641,1643,1645,1647,1640,1642,1644,1646},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I386']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_178(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*BSWAP */ {1652},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_SB(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['I486REAL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_179(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*PALIGNR */ {1794,1793,1796,1795},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSSE3MMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSSE3MMX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSSE3']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_180(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*CRC32 */ {1814,1816,1813,1815},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRy_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR8_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRy_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRy_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRy_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_181(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVNTDQA */ {1831},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_182(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*EXTRACTPS */ {1833,1832},
/*PEXTRD */ {1851,1850},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_183(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*INSERTPS */ {1835,1834},
/*ROUNDSS */ {1865,1864},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_184(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PEXTRB */ {1845,1844},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_185(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PEXTRW_SSE4 */ {1847,1846},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_186(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PEXTRQ */ {1849,1848},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_187(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PINSRB */ {1853,1852},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_188(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PINSRD */ {1855,1854},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_189(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PINSRQ */ {1857,1856},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_190(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*ROUNDPS */ {1861,1860},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PS) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_191(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*ROUNDSD */ {1863,1862},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_192(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][2] = {
/*PMOVSXBW */ {1891,1890},
/*PMOVSXDQ */ {1901,1900},
/*PMOVSXWD */ {1897,1896},
/*PMOVZXBW */ {1903,1902},
/*PMOVZXDQ */ {1913,1912},
/*PMOVZXWD */ {1909,1908},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_193(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][2] = {
/*PMOVSXBD */ {1893,1892},
/*PMOVSXWQ */ {1899,1898},
/*PMOVZXBD */ {1905,1904},
/*PMOVZXWQ */ {1911,1910},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['SSE4', 'SSE4', 'SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['SSE4', 'SSE4', 'SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_194(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*PMOVSXBQ */ {1895,1894},
/*PMOVZXBQ */ {1907,1906},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SSE4', 'SSE4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_195(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][4] = {
/*PCMPESTRI */ {1915,1917,1914,1916},
/*PCMPESTRM */ {1927,1929,1926,1928},
/*PCMPISTRI */ {1921,1923,1920,1922},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE42', 'SSE42', 'SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE42', 'SSE42', 'SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE42', 'SSE42', 'SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE42', 'SSE42', 'SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_196(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*PCMPESTRI64 */ {1919,1918},
/*PCMPESTRM64 */ {1931,1930},
/*PCMPISTRI64 */ {1925,1924},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE42', 'SSE42', 'SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SSE42', 'SSE42', 'SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_197(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PCMPISTRM */ {1933,1932},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE42']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_198(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[12][1] = {
/*XRSTOR */ {1937},
/*XRSTOR64 */ {1939},
/*XRSTORS */ {2471},
/*XRSTORS64 */ {2472},
/*XSAVE */ {1936},
/*XSAVE64 */ {1938},
/*XSAVEC */ {2473},
/*XSAVEC64 */ {2474},
/*XSAVEOPT */ {2467},
/*XSAVEOPT64 */ {2468},
/*XSAVES */ {2469},
/*XSAVES64 */ {2470},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MXSAVE);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['XSAVE', 'XSAVE', 'XSAVE', 'XSAVE', 'XSAVEOPT', 'XSAVEOPT', 'XSAVES', 'XSAVES', 'XSAVES', 'XSAVES', 'XSAVEC', 'XSAVEC']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_199(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*MOVBE */ {1941,1940},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V) &&
xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MOVBE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MOVBE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_200(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*INVEPT */ {1958,1957},
/*INVPCID */ {5445,5444},
/*INVVPID */ {1960,1959},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['VTX', 'VTX', 'INVPCID']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['VTX', 'VTX', 'INVPCID']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_CR_WIDTH_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_201(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PREFETCHW */ {1962,1963},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_202(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*PREFETCH_RESERVED*/ {1964,1965,1966,1967,1968},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PREFETCH_NOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_203(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*REP_MONTMUL */ {1986,1987},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VIA_PADLOCK_MONTMUL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VIA_PADLOCK_MONTMUL']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_204(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[24][2] = {
/*PAVGUSB */ {2036,2035},
/*PF2ID */ {1996,1995},
/*PF2IW */ {1994,1993},
/*PFACC */ {2024,2023},
/*PFADD */ {2012,2011},
/*PFCMPEQ */ {2026,2025},
/*PFCMPGE */ {2002,2001},
/*PFCMPGT */ {2014,2013},
/*PFMAX */ {2016,2015},
/*PFMIN */ {2004,2003},
/*PFMUL */ {2028,2027},
/*PFNACC */ {1998,1997},
/*PFPNACC */ {2000,1999},
/*PFRCP */ {2006,2005},
/*PFRCPIT1 */ {2018,2017},
/*PFRCPIT2 */ {2030,2029},
/*PFRSQIT1 */ {2020,2019},
/*PFRSQRT */ {2008,2007},
/*PFSUB */ {2010,2009},
/*PFSUBR */ {2022,2021},
/*PI2FD */ {1992,1991},
/*PI2FW */ {1990,1989},
/*PMULHRW */ {2032,2031},
/*PSWAPD */ {2034,2033},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MMX_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MMX_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW', '3DNOW']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_205(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*SYSCALL_AMD */ {2037},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMD']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IGNORE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_206(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*VMLOAD */ {2041},
/*VMRUN */ {2039},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_ArAX(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['SVM', 'SVM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_207(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*SKINIT */ {2045},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_EAX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SVM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_208(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*INVLPGA */ {2046},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_ArAX(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_reg1(xes) == XED_REG_ECX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SVM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_209(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*EXTRQ */ {2048,2047},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4a']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[19], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1) &&
(xed3_operand_get_imm1(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4a']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_210(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*INSERTQ */ {2050,2049},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4a']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[20], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1) &&
(xed3_operand_get_imm1(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4a']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_211(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVNTSD */ {2051},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4a']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_212(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*MOVNTSS */ {2052},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SSE4a']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_213(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*LZCNT */ {2054,2056,2053,2055},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMD']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LZCNT']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMD']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_V);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['LZCNT']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_214(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*PSMASH */ {2065},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_RAX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SNP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_215(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*PVALIDATE */ {2066},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_reg0(xes) == XED_REG_RAX) &&
(xed3_operand_get_reg1(xes) == XED_REG_ECX) &&
(xed3_operand_get_reg2(xes) == XED_REG_EDX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SNP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_216(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*RMPADJUST */ {2067},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_RAX) &&
(xed3_operand_get_reg1(xes) == XED_REG_RCX) &&
(xed3_operand_get_reg2(xes) == XED_REG_RDX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SNP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_217(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*RMPUPDATE */ {2068},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_RAX) &&
(xed3_operand_get_reg1(xes) == XED_REG_RCX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['SNP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_218(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*INVLPGB */ {2069,2070},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 2) &&
(xed3_operand_get_reg0(xes) == XED_REG_EAX) &&
(xed3_operand_get_reg1(xes) == XED_REG_EDX) &&
(xed3_operand_get_reg2(xes) == XED_REG_ECX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMD_INVLPGB']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) == 3) &&
(xed3_operand_get_reg0(xes) == XED_REG_RAX) &&
(xed3_operand_get_reg1(xes) == XED_REG_EDX) &&
(xed3_operand_get_reg2(xes) == XED_REG_ECX);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMD_INVLPGB']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_219(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[12][2] = {
/*VPMACSDD */ {2129,2128},
/*VPMACSDQH */ {2131,2130},
/*VPMACSDQL */ {2083,2082},
/*VPMACSSDD */ {2125,2124},
/*VPMACSSDQH */ {2127,2126},
/*VPMACSSDQL */ {2077,2076},
/*VPMACSSWD */ {2075,2074},
/*VPMACSSWW */ {2073,2072},
/*VPMACSWD */ {2081,2080},
/*VPMACSWW */ {2079,2078},
/*VPMADCSSWD */ {2097,2096},
/*VPMADCSWD */ {2099,2098},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_220(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*VPCMOV */ {2085,2087,2089,2091,2084,2086,2088,2090},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_221(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VPPERM */ {2093,2095,2092,2094},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_222(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][6] = {
/*VPROTB */ {2103,2105,2102,2101,2104,2100},
/*VPROTD */ {2115,2117,2114,2113,2116,2112},
/*VPROTQ */ {2121,2123,2120,2119,2122,2118},
/*VPROTW */ {2109,2111,2108,2107,2110,2106},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_223(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][2] = {
/*VPCOMB */ {2133,2132},
/*VPCOMD */ {2137,2136},
/*VPCOMQ */ {2139,2138},
/*VPCOMUB */ {2141,2140},
/*VPCOMUD */ {2145,2144},
/*VPCOMUQ */ {2147,2146},
/*VPCOMUW */ {2143,2142},
/*VPCOMW */ {2135,2134},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_224(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VFRCZPD */ {2153,2155,2152,2154},
/*VFRCZPS */ {2149,2151,2148,2150},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_225(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VFRCZSS */ {2157,2156},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_226(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VFRCZSD */ {2159,2158},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_227(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][4] = {
/*VPSHAB */ {2203,2205,2202,2204},
/*VPSHAD */ {2211,2213,2210,2212},
/*VPSHAQ */ {2215,2217,2214,2216},
/*VPSHAW */ {2207,2209,2206,2208},
/*VPSHLB */ {2161,2163,2160,2162},
/*VPSHLD */ {2169,2171,2168,2170},
/*VPSHLQ */ {2173,2175,2172,2174},
/*VPSHLW */ {2165,2167,2164,2166},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_228(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[15][2] = {
/*VPHADDBD */ {2179,2178},
/*VPHADDBQ */ {2181,2180},
/*VPHADDBW */ {2177,2176},
/*VPHADDDQ */ {2219,2218},
/*VPHADDUBD */ {2189,2188},
/*VPHADDUBQ */ {2191,2190},
/*VPHADDUBW */ {2187,2186},
/*VPHADDUDQ */ {2221,2220},
/*VPHADDUWD */ {2193,2192},
/*VPHADDUWQ */ {2195,2194},
/*VPHADDWD */ {2183,2182},
/*VPHADDWQ */ {2185,2184},
/*VPHSUBBW */ {2197,2196},
/*VPHSUBDQ */ {2201,2200},
/*VPHSUBWD */ {2199,2198},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_229(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*BEXTR_XOP */ {2224,2225,2222,2223},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPRy_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Y) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_230(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[9][4] = {
/*BLCFILL */ {2228,2229,2226,2227},
/*BLCI */ {2260,2261,2258,2259},
/*BLCIC */ {2244,2245,2242,2243},
/*BLCMSK */ {2256,2257,2254,2255},
/*BLCS */ {2236,2237,2234,2235},
/*BLSFILL */ {2232,2233,2230,2231},
/*BLSIC */ {2248,2249,2246,2247},
/*T1MSKC */ {2252,2253,2250,2251},
/*TZMSK */ {2240,2241,2238,2239},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPRy_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_N(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Y);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM', 'TBM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_231(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*LLWPCB */ {2262},
/*SLWPCB */ {2263},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['LWP', 'LWP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_232(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*LWPINS */ {2265,2264},
/*LWPVAL */ {2267,2266},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['LWP', 'LWP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_VGPRy_N(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['LWP', 'LWP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM32_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_233(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[12][8] = {
/*VFMADDPD */ {2309,2311,2313,2315,2308,2310,2312,2314},
/*VFMADDPS */ {2301,2303,2305,2307,2300,2302,2304,2306},
/*VFMADDSUBPD */ {2277,2279,2281,2283,2276,2278,2280,2282},
/*VFMADDSUBPS */ {2269,2271,2273,2275,2268,2270,2272,2274},
/*VFMSUBADDPD */ {2293,2295,2297,2299,2292,2294,2296,2298},
/*VFMSUBADDPS */ {2285,2287,2289,2291,2284,2286,2288,2290},
/*VFMSUBPD */ {2333,2335,2337,2339,2332,2334,2336,2338},
/*VFMSUBPS */ {2325,2327,2329,2331,2324,2326,2328,2330},
/*VFNMADDPD */ {2357,2359,2361,2363,2356,2358,2360,2362},
/*VFNMADDPS */ {2349,2351,2353,2355,2348,2350,2352,2354},
/*VFNMSUBPD */ {2381,2383,2385,2387,2380,2382,2384,2386},
/*VFNMSUBPS */ {2373,2375,2377,2379,2372,2374,2376,2378},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_234(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][4] = {
/*VFMADDSS */ {2317,2319,2316,2318},
/*VFMSUBSS */ {2341,2343,2340,2342},
/*VFNMADDSS */ {2365,2367,2364,2366},
/*VFNMSUBSS */ {2389,2391,2388,2390},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_235(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][4] = {
/*VFMADDSD */ {2321,2323,2320,2322},
/*VFMSUBSD */ {2345,2347,2344,2346},
/*VFNMADDSD */ {2369,2371,2368,2370},
/*VFNMSUBSD */ {2393,2395,2392,2394},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['FMA4', 'FMA4', 'FMA4', 'FMA4']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_236(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][8] = {
/*VPERMIL2PD */ {2405,2409,2407,2411,2404,2408,2406,2410},
/*VPERMIL2PS */ {2397,2401,2399,2403,2396,2400,2398,2402},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[28], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[28], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['XOP', 'XOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_237(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*BNDMK */ {2412},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_AGEN) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_agen(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_238(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][3] = {
/*BNDCL */ {2415,2414,2413},
/*BNDCN */ {2421,2420,2419},
/*BNDCU */ {2418,2417,2416},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['MPX', 'MPX', 'MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['MPX', 'MPX', 'MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_AGEN) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_agen(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['MPX', 'MPX', 'MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_239(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*BNDMOV */ {2426,2422,2427,2423,2428,2424,2429,2425},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_BND_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_BND_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 0) &&
(xed3_operand_get_easz(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 0) &&
(xed3_operand_get_easz(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 1) &&
(xed3_operand_get_easz(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 1) &&
(xed3_operand_get_easz(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_240(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*BNDLDX */ {2430,2431,2432,2433},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_easz(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND32);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND64);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND64);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND64);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_241(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*BNDSTX */ {2434,2435,2436,2437},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_easz(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND32) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND64) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND64) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mpxmode(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_BND64) &&
xed_encode_ntluf_BND_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MPX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_242(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*INCSSPD */ {2441},
/*RDSSPD */ {2443},
/*TPAUSE */ {2493},
/*UMWAIT */ {2495},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['CET', 'CET', 'WAITPKG', 'WAITPKG']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_243(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*INCSSPQ */ {2442},
/*RDSSPQ */ {2444},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['CET', 'CET']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_244(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*WRSSD */ {2448},
/*WRUSSD */ {2450},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['CET', 'CET']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_245(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*WRSSQ */ {2449},
/*WRUSSQ */ {2451},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['CET', 'CET']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_246(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*RDRAND */ {2452},
/*RDSEED */ {2476},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRv_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['RDRAND', 'RDSEED']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_247(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*GF2P8AFFINEINVQB*/ {6962,6963},
/*GF2P8AFFINEQB */ {6964,6965},
/*SHA1RNDS4 */ {2459,2460},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SHA', 'GFNI', 'GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['SHA', 'GFNI', 'GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_248(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*CLFLUSHOPT */ {2475},
/*CLWB */ {5460},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_MPREFETCH);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['CLFLUSHOPT', 'CLWB']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_REFINING66_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_249(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*RDFSBASE */ {2477},
/*RDGSBASE */ {2478},
/*WRFSBASE */ {2479},
/*WRGSBASE */ {2480},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPRy_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['RDWRFSGS', 'RDWRFSGS', 'RDWRFSGS', 'RDWRFSGS']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_250(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*RDPID */ {2485,2486},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['RDPID']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['RDPID']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_251(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*PTWRITE */ {2487,2488},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPRy_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PTWRITE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Y);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['PTWRITE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_252(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*MOVDIR64B */ {2489,2490},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_A_GPR_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MOVDIR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_A_GPR_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MOVDIR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_253(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*MOVDIRI */ {2491,2492},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MOVDIR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['MOVDIR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_254(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*UMONITOR */ {2494},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_A_GPR_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['WAITPKG']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_255(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[22][11] = {
/*VADDPD */ {2503,2499,2501,2498,2500,2505,2507,2502,2506,2508,2504},
/*VDIVPD */ {2819,2815,2817,2814,2816,2821,2823,2818,2822,2824,2820},
/*VFMADD132PD */ {4656,4652,4654,4651,4653,4658,4660,4655,4659,4661,4657},
/*VFMADD213PD */ {4688,4684,4686,4683,4685,4690,4692,4687,4691,4693,4689},
/*VFMADD231PD */ {4720,4716,4718,4715,4717,4722,4724,4719,4723,4725,4721},
/*VFMADDSUB132PD*/ {4752,4748,4750,4747,4749,4754,4756,4751,4755,4757,4753},
/*VFMADDSUB213PD*/ {4763,4759,4761,4758,4760,4765,4767,4762,4766,4768,4764},
/*VFMADDSUB231PD*/ {4774,4770,4772,4769,4771,4776,4778,4773,4777,4779,4775},
/*VFMSUB132PD */ {4884,4880,4882,4879,4881,4886,4888,4883,4887,4889,4885},
/*VFMSUB213PD */ {4916,4912,4914,4911,4913,4918,4920,4915,4919,4921,4917},
/*VFMSUB231PD */ {4948,4944,4946,4943,4945,4950,4952,4947,4951,4953,4949},
/*VFMSUBADD132PD*/ {4818,4814,4816,4813,4815,4820,4822,4817,4821,4823,4819},
/*VFMSUBADD213PD*/ {4829,4825,4827,4824,4826,4831,4833,4828,4832,4834,4830},
/*VFMSUBADD231PD*/ {4840,4836,4838,4835,4837,4842,4844,4839,4843,4845,4841},
/*VFNMADD132PD */ {4980,4976,4978,4975,4977,4982,4984,4979,4983,4985,4981},
/*VFNMADD213PD */ {5012,5008,5010,5007,5009,5014,5016,5011,5015,5017,5013},
/*VFNMADD231PD */ {5044,5040,5042,5039,5041,5046,5048,5043,5047,5049,5045},
/*VFNMSUB132PD */ {5076,5072,5074,5071,5073,5078,5080,5075,5079,5081,5077},
/*VFNMSUB213PD */ {5108,5104,5106,5103,5105,5110,5112,5107,5111,5113,5109},
/*VFNMSUB231PD */ {5140,5136,5138,5135,5137,5142,5144,5139,5143,5145,5141},
/*VMULPD */ {4040,4036,4038,4035,4037,4042,4044,4039,4043,4045,4041},
/*VSUBPD */ {4008,4004,4006,4003,4005,4010,4012,4007,4011,4013,4009},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_256(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[22][11] = {
/*VADDPS */ {2514,2510,2512,2509,2511,2516,2518,2513,2517,2519,2515},
/*VDIVPS */ {2830,2826,2828,2825,2827,2832,2834,2829,2833,2835,2831},
/*VFMADD132PS */ {4667,4663,4665,4662,4664,4669,4671,4666,4670,4672,4668},
/*VFMADD213PS */ {4699,4695,4697,4694,4696,4701,4703,4698,4702,4704,4700},
/*VFMADD231PS */ {4731,4727,4729,4726,4728,4733,4735,4730,4734,4736,4732},
/*VFMADDSUB132PS*/ {4785,4781,4783,4780,4782,4787,4789,4784,4788,4790,4786},
/*VFMADDSUB213PS*/ {4796,4792,4794,4791,4793,4798,4800,4795,4799,4801,4797},
/*VFMADDSUB231PS*/ {4807,4803,4805,4802,4804,4809,4811,4806,4810,4812,4808},
/*VFMSUB132PS */ {4895,4891,4893,4890,4892,4897,4899,4894,4898,4900,4896},
/*VFMSUB213PS */ {4927,4923,4925,4922,4924,4929,4931,4926,4930,4932,4928},
/*VFMSUB231PS */ {4959,4955,4957,4954,4956,4961,4963,4958,4962,4964,4960},
/*VFMSUBADD132PS*/ {4851,4847,4849,4846,4848,4853,4855,4850,4854,4856,4852},
/*VFMSUBADD213PS*/ {4862,4858,4860,4857,4859,4864,4866,4861,4865,4867,4863},
/*VFMSUBADD231PS*/ {4873,4869,4871,4868,4870,4875,4877,4872,4876,4878,4874},
/*VFNMADD132PS */ {4991,4987,4989,4986,4988,4993,4995,4990,4994,4996,4992},
/*VFNMADD213PS */ {5023,5019,5021,5018,5020,5025,5027,5022,5026,5028,5024},
/*VFNMADD231PS */ {5055,5051,5053,5050,5052,5057,5059,5054,5058,5060,5056},
/*VFNMSUB132PS */ {5087,5083,5085,5082,5084,5089,5091,5086,5090,5092,5088},
/*VFNMSUB213PS */ {5119,5115,5117,5114,5116,5121,5123,5118,5122,5124,5120},
/*VFNMSUB231PS */ {5151,5147,5149,5146,5148,5153,5155,5150,5154,5156,5152},
/*VMULPS */ {4051,4047,4049,4046,4048,4053,4055,4050,4054,4056,4052},
/*VSUBPS */ {4019,4015,4017,4014,4016,4021,4023,4018,4022,4024,4020},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_257(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[18][5] = {
/*VADDSD */ {2523,2521,2520,2522,2524},
/*VCVTSD2SS */ {2779,2777,2776,2778,2780},
/*VDIVSD */ {2839,2837,2836,2838,2840},
/*VFMADD132SD */ {4676,4674,4673,4675,4677},
/*VFMADD213SD */ {4708,4706,4705,4707,4709},
/*VFMADD231SD */ {4740,4738,4737,4739,4741},
/*VFMSUB132SD */ {4904,4902,4901,4903,4905},
/*VFMSUB213SD */ {4936,4934,4933,4935,4937},
/*VFMSUB231SD */ {4968,4966,4965,4967,4969},
/*VFNMADD132SD */ {5000,4998,4997,4999,5001},
/*VFNMADD213SD */ {5032,5030,5029,5031,5033},
/*VFNMADD231SD */ {5064,5062,5061,5063,5065},
/*VFNMSUB132SD */ {5096,5094,5093,5095,5097},
/*VFNMSUB213SD */ {5128,5126,5125,5127,5129},
/*VFNMSUB231SD */ {5160,5158,5157,5159,5161},
/*VMULSD */ {4060,4058,4057,4059,4061},
/*VSQRTSD */ {3976,3974,3973,3975,3977},
/*VSUBSD */ {4028,4026,4025,4027,4029},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_258(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[17][5] = {
/*VADDSS */ {2528,2526,2525,2527,2529},
/*VDIVSS */ {2844,2842,2841,2843,2845},
/*VFMADD132SS */ {4681,4679,4678,4680,4682},
/*VFMADD213SS */ {4713,4711,4710,4712,4714},
/*VFMADD231SS */ {4745,4743,4742,4744,4746},
/*VFMSUB132SS */ {4909,4907,4906,4908,4910},
/*VFMSUB213SS */ {4941,4939,4938,4940,4942},
/*VFMSUB231SS */ {4973,4971,4970,4972,4974},
/*VFNMADD132SS */ {5005,5003,5002,5004,5006},
/*VFNMADD213SS */ {5037,5035,5034,5036,5038},
/*VFNMADD231SS */ {5069,5067,5066,5068,5070},
/*VFNMSUB132SS */ {5101,5099,5098,5100,5102},
/*VFNMSUB213SS */ {5133,5131,5130,5132,5134},
/*VFNMSUB231SS */ {5165,5163,5162,5164,5166},
/*VMULSS */ {4065,4063,4062,4064,4066},
/*VSQRTSS */ {3981,3979,3978,3980,3982},
/*VSUBSS */ {4033,4031,4030,4032,4034},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA', 'FMA']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_259(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[19][4] = {
/*VADDSUBPD */ {2531,2533,2530,2532},
/*VADDSUBPS */ {2535,2537,2534,2536},
/*VHADDPD */ {2861,2863,2860,2862},
/*VHADDPS */ {2865,2867,2864,2866},
/*VHSUBPD */ {2869,2871,2868,2870},
/*VHSUBPS */ {2873,2875,2872,2874},
/*VPAND */ {3150,3152,3149,3151},
/*VPANDN */ {3154,3156,3153,3155},
/*VPHADDD */ {3592,3594,3591,3593},
/*VPHADDSW */ {3596,3598,3595,3597},
/*VPHADDW */ {3588,3590,3587,3589},
/*VPHSUBD */ {3604,3606,3603,3605},
/*VPHSUBSW */ {3608,3610,3607,3609},
/*VPHSUBW */ {3600,3602,3599,3601},
/*VPOR */ {3146,3148,3145,3147},
/*VPSIGNB */ {3702,3704,3701,3703},
/*VPSIGND */ {3710,3712,3709,3711},
/*VPSIGNW */ {3706,3708,3705,3707},
/*VPXOR */ {3158,3160,3157,3159},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_260(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[14][10] = {
/*VANDNPD */ {2559,2561,2558,2560,2562,2564,2566,2563,2565,2567},
/*VANDPD */ {2539,2541,2538,2540,2542,2544,2546,2543,2545,2547},
/*VORPD */ {4068,4070,4067,4069,4071,4073,4075,4072,4074,4076},
/*VPADDQ */ {3438,3440,3437,3439,3443,3445,3441,3444,3446,3442},
/*VPMULDQ */ {3672,3674,3671,3673,3677,3679,3675,3678,3680,3676},
/*VPMULUDQ */ {3662,3664,3661,3663,3667,3669,3665,3668,3670,3666},
/*VPSLLVQ */ {5324,5326,5323,5325,5329,5331,5327,5330,5332,5328},
/*VPSRLVQ */ {5344,5346,5343,5345,5349,5351,5347,5350,5352,5348},
/*VPSUBQ */ {3784,3786,3783,3785,3789,3791,3787,3790,3792,3788},
/*VPUNPCKHQDQ */ {3824,3826,3823,3825,3829,3831,3827,3830,3832,3828},
/*VPUNPCKLQDQ */ {3864,3866,3863,3865,3869,3871,3867,3870,3872,3868},
/*VUNPCKHPD */ {3984,3986,3983,3985,3989,3991,3987,3990,3992,3988},
/*VUNPCKLPD */ {4242,4244,4241,4243,4247,4249,4245,4248,4250,4246},
/*VXORPD */ {4262,4264,4261,4263,4265,4267,4269,4266,4268,4270},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_261(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[24][10] = {
/*VANDNPS */ {2569,2571,2568,2570,2572,2574,2576,2573,2575,2577},
/*VANDPS */ {2549,2551,2548,2550,2552,2554,2556,2553,2555,2557},
/*VORPS */ {4078,4080,4077,4079,4081,4083,4085,4082,4084,4086},
/*VPACKSSDW */ {3234,3236,3233,3235,3237,3239,3241,3238,3240,3242},
/*VPACKUSDW */ {3254,3256,3253,3255,3257,3259,3261,3258,3260,3262},
/*VPADDD */ {3428,3430,3427,3429,3433,3435,3431,3434,3436,3432},
/*VPDPBUSD */ {5467,5469,5468,5470,5461,5463,5465,5462,5464,5466},
/*VPDPBUSDS */ {5477,5479,5478,5480,5471,5473,5475,5472,5474,5476},
/*VPDPWSSD */ {5487,5489,5488,5490,5481,5483,5485,5482,5484,5486},
/*VPDPWSSDS */ {5497,5499,5498,5500,5491,5493,5495,5492,5494,5496},
/*VPMAXSD */ {4108,4110,4107,4109,4113,4115,4111,4114,4116,4112},
/*VPMAXUD */ {4138,4140,4137,4139,4143,4145,4141,4144,4146,4142},
/*VPMINSD */ {4168,4170,4167,4169,4173,4175,4171,4174,4176,4172},
/*VPMINUD */ {4198,4200,4197,4199,4203,4205,4201,4204,4206,4202},
/*VPMULLD */ {3652,3654,3651,3653,3657,3659,3655,3658,3660,3656},
/*VPSLLVD */ {5314,5316,5313,5315,5319,5321,5317,5320,5322,5318},
/*VPSRAVD */ {5354,5356,5353,5355,5359,5361,5357,5360,5362,5358},
/*VPSRLVD */ {5334,5336,5333,5335,5339,5341,5337,5340,5342,5338},
/*VPSUBD */ {3774,3776,3773,3775,3779,3781,3777,3780,3782,3778},
/*VPUNPCKHDQ */ {3814,3816,3813,3815,3819,3821,3817,3820,3822,3818},
/*VPUNPCKLDQ */ {3854,3856,3853,3855,3859,3861,3857,3860,3862,3858},
/*VUNPCKHPS */ {3994,3996,3993,3995,3999,4001,3997,4000,4002,3998},
/*VUNPCKLPS */ {4252,4254,4251,4253,4257,4259,4255,4258,4260,4256},
/*VXORPS */ {4272,4274,4271,4273,4275,4277,4279,4276,4278,4280},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI', 'AVX_VNNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512_VNNI_128', 'AVX512_VNNI_128', 'AVX512_VNNI_128', 'AVX512_VNNI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512_VNNI_256', 'AVX512_VNNI_256', 'AVX512_VNNI_256', 'AVX512_VNNI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512_VNNI_512', 'AVX512_VNNI_512', 'AVX512_VNNI_512', 'AVX512_VNNI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512_VNNI_128', 'AVX512_VNNI_128', 'AVX512_VNNI_128', 'AVX512_VNNI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512_VNNI_256', 'AVX512_VNNI_256', 'AVX512_VNNI_256', 'AVX512_VNNI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512_VNNI_512', 'AVX512_VNNI_512', 'AVX512_VNNI_512', 'AVX512_VNNI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_262(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][4] = {
/*VBLENDPD */ {2579,2581,2578,2580},
/*VBLENDPS */ {2583,2585,2582,2584},
/*VDPPS */ {2851,2853,2850,2852},
/*VMPSADBW */ {4228,4230,4227,4229},
/*VPBLENDD */ {5254,5256,5253,5255},
/*VPBLENDW */ {3904,3906,3903,3905},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_263(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCMPPD */ {2591,2587,2589,2586,2588,2593,2595,2590,2594,2596,2592},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_264(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCMPPS */ {2602,2598,2600,2597,2599,2604,2606,2601,2605,2607,2603},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_265(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*VCMPSD */ {2611,2609,2608,2610,2612},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_266(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*VCMPSS */ {2616,2614,2613,2615,2617},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_267(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VCOMISD */ {2621,2619,2618,2620,2622},
/*VUCOMISD */ {4234,4232,4231,4233,4235},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_268(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VCOMISS */ {2626,2624,2623,2625,2627},
/*VUCOMISS */ {4239,4237,4236,4238,4240},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_269(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCVTDQ2PD */ {2633,2629,2631,2628,2630,2635,2637,2632,2636,2638,2634},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_270(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][11] = {
/*VCVTDQ2PS */ {2644,2640,2642,2639,2641,2646,2648,2643,2647,2649,2645},
/*VCVTPS2DQ */ {2688,2684,2686,2683,2685,2690,2692,2687,2691,2693,2689},
/*VSQRTPS */ {3967,3963,3965,3962,3964,3969,3971,3966,3970,3972,3968},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_271(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][11] = {
/*VCVTPD2DQ */ {2655,2651,2653,2650,2652,2657,2659,2654,2658,2660,2656},
/*VCVTPD2PS */ {2677,2673,2675,2672,2674,2679,2681,2676,2680,2682,2678},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_272(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCVTTPD2DQ */ {2666,2662,2664,2661,2663,2668,2670,2665,2669,2671,2667},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_273(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCVTTPS2DQ */ {2699,2695,2697,2694,2696,2701,2703,2698,2702,2704,2700},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_274(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCVTPS2PD */ {2710,2706,2708,2705,2707,2712,2714,2709,2713,2715,2711},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_275(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][15] = {
/*VCVTSD2SI */ {2724,2725,2729,2717,2719,2721,2716,2718,2720,2722,2723,2728,2726,2727,2730},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_276(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][15] = {
/*VCVTTSD2SI */ {2739,2740,2744,2732,2734,2736,2731,2733,2735,2737,2738,2743,2741,2742,2745},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_277(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][15] = {
/*VCVTSS2SI */ {2754,2755,2759,2747,2749,2751,2746,2748,2750,2752,2753,2758,2756,2757,2760},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_278(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][15] = {
/*VCVTTSS2SI */ {2769,2770,2774,2762,2764,2766,2761,2763,2765,2767,2768,2773,2771,2772,2775},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_279(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][13] = {
/*VCVTSI2SD */ {2792,2782,2784,2786,2781,2783,2785,2787,2788,2791,2789,2790,2793},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_280(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][15] = {
/*VCVTSI2SS */ {2802,2803,2807,2795,2797,2799,2794,2796,2798,2800,2801,2806,2804,2805,2808},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_281(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][5] = {
/*VCVTSS2SD */ {2812,2810,2809,2811,2813},
/*VMAXSS */ {2993,2991,2990,2992,2994},
/*VMINSS */ {3025,3023,3022,3024,3026},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_282(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VEXTRACTF128 */ {2847,2846},
/*VEXTRACTI128 */ {5210,5209},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_283(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VDPPD */ {2849,2848},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_284(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VEXTRACTPS */ {2855,2854,2856,2857},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_285(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*VZEROALL */ {2858},
/*VZEROUPPER */ {2859},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_286(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][20] = {
/*VPERMILPD */ {2877,2879,2881,2876,2883,2878,2880,2882,2890,2894,2886,2888,2892,2884,2891,2895,2887,2889,2893,2885},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_287(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][20] = {
/*VPERMILPS */ {2897,2899,2901,2896,2903,2898,2900,2902,2910,2914,2906,2908,2912,2904,2911,2915,2907,2909,2913,2905},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_288(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VPERM2F128 */ {2917,2916},
/*VPERM2I128 */ {5220,5219},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_289(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VBROADCASTSS */ {2920,2921,2918,2919,2925,2927,2923,2924,2926,2922},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_290(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VBROADCASTSD */ {2929,2928,2933,2931,2932,2930},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_291(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*VBROADCASTF128*/ {2934},
/*VBROADCASTI128*/ {5312},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_292(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VINSERTF128 */ {2936,2935},
/*VINSERTI128 */ {5208,5207},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_293(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VINSERTPS */ {2938,2937,2939,2940},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_294(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VLDDQU */ {2941,2942},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_295(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][4] = {
/*VMASKMOVPD */ {2949,2947,2950,2948},
/*VMASKMOVPS */ {2945,2943,2946,2944},
/*VPMASKMOVD */ {5213,5211,5214,5212},
/*VPMASKMOVQ */ {5217,5215,5218,5216},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX', 'AVX', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_296(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][4] = {
/*VPTEST */ {2952,2954,2951,2953},
/*VRCPPS */ {3940,3942,3939,3941},
/*VRSQRTPS */ {3946,3948,3945,3947},
/*VTESTPD */ {2960,2962,2959,2961},
/*VTESTPS */ {2956,2958,2955,2957},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_297(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][11] = {
/*VMAXPD */ {2968,2964,2966,2963,2965,2970,2972,2967,2971,2973,2969},
/*VMINPD */ {3000,2996,2998,2995,2997,3002,3004,2999,3003,3005,3001},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_298(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][11] = {
/*VMAXPS */ {2979,2975,2977,2974,2976,2981,2983,2978,2982,2984,2980},
/*VMINPS */ {3011,3007,3009,3006,3008,3013,3015,3010,3014,3016,3012},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_299(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VMAXSD */ {2988,2986,2985,2987,2989},
/*VMINSD */ {3020,3018,3017,3019,3021},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_300(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][20] = {
/*VMOVAPD */ {3030,3028,3034,3032,3029,3027,3033,3031,3041,3039,3045,3043,3037,3035,3042,3040,3046,3044,3038,3036},
/*VMOVUPD */ {4300,4298,4304,4302,4299,4297,4303,4301,4311,4309,4315,4313,4307,4305,4312,4310,4316,4314,4308,4306},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_301(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][20] = {
/*VMOVAPS */ {3050,3048,3054,3052,3049,3047,3053,3051,3061,3059,3065,3063,3057,3055,3062,3060,3066,3064,3058,3056},
/*VMOVUPS */ {4320,4318,4324,4322,4319,4317,4323,4321,4331,4329,4335,4333,4327,4325,4332,4330,4336,4334,4328,4326},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][18]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][19]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_302(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][16] = {
/*VMOVD */ {3070,3068,3074,3072,3069,3067,3073,3071,3079,3075,3080,3076,3081,3077,3082,3078},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_303(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][16] = {
/*VMOVQ */ {3086,3084,3090,3088,3085,3083,3089,3087,3093,3091,3097,3095,3098,3094,3092,3096},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_304(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VMOVDDUP */ {3100,3102,3099,3101,3105,3107,3103,3106,3108,3104},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MOVDDUP_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MOVDDUP_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MOVDDUP_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_305(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][8] = {
/*VMOVDQA */ {3112,3110,3116,3114,3111,3109,3115,3113},
/*VMOVDQU */ {3122,3118,3124,3120,3121,3117,3123,3119},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_306(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VMOVSHDUP */ {3126,3128,3125,3127,3131,3133,3129,3132,3134,3130},
/*VMOVSLDUP */ {3136,3138,3135,3137,3141,3143,3139,3142,3144,3140},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_307(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPABSB */ {3162,3164,3161,3163,3165,3167,3169,3166,3168,3170},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_308(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPABSW */ {3172,3174,3171,3173,3175,3177,3179,3176,3178,3180},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_309(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPABSD */ {3182,3184,3181,3183,3187,3189,3185,3188,3190,3186},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_310(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VAESIMC */ {4617,4618},
/*VPHMINPOSUW */ {3192,3191},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVXAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVXAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_311(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPSHUFD */ {3194,3196,3193,3195,3199,3201,3197,3200,3202,3198},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_312(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPSHUFHW */ {3204,3206,3203,3205,3207,3209,3211,3208,3210,3212},
/*VPSHUFLW */ {3214,3216,3213,3215,3217,3219,3221,3218,3220,3222},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_313(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[21][10] = {
/*VPACKSSWB */ {3224,3226,3223,3225,3227,3229,3231,3228,3230,3232},
/*VPACKUSWB */ {3244,3246,3243,3245,3247,3249,3251,3248,3250,3252},
/*VPADDSW */ {3458,3460,3457,3459,3461,3463,3465,3462,3464,3466},
/*VPADDUSW */ {3478,3480,3477,3479,3481,3483,3485,3482,3484,3486},
/*VPADDW */ {3418,3420,3417,3419,3421,3423,3425,3422,3424,3426},
/*VPAVGW */ {3498,3500,3497,3499,3501,3503,3505,3502,3504,3506},
/*VPMADDUBSW */ {4218,4220,4217,4219,4221,4223,4225,4222,4224,4226},
/*VPMADDWD */ {4208,4210,4207,4209,4211,4213,4215,4212,4214,4216},
/*VPMAXSW */ {4098,4100,4097,4099,4101,4103,4105,4102,4104,4106},
/*VPMAXUW */ {4128,4130,4127,4129,4131,4133,4135,4132,4134,4136},
/*VPMINSW */ {4158,4160,4157,4159,4161,4163,4165,4162,4164,4166},
/*VPMINUW */ {4188,4190,4187,4189,4191,4193,4195,4192,4194,4196},
/*VPMULHRSW */ {3622,3624,3621,3623,3625,3627,3629,3626,3628,3630},
/*VPMULHUW */ {3612,3614,3611,3613,3615,3617,3619,3616,3618,3620},
/*VPMULHW */ {3632,3634,3631,3633,3635,3637,3639,3636,3638,3640},
/*VPMULLW */ {3642,3644,3641,3643,3645,3647,3649,3646,3648,3650},
/*VPSUBSW */ {3724,3726,3723,3725,3727,3729,3731,3728,3730,3732},
/*VPSUBUSW */ {3744,3746,3743,3745,3747,3749,3751,3748,3750,3752},
/*VPSUBW */ {3764,3766,3763,3765,3767,3769,3771,3768,3770,3772},
/*VPUNPCKHWD */ {3804,3806,3803,3805,3807,3809,3811,3808,3810,3812},
/*VPUNPCKLWD */ {3844,3846,3843,3845,3847,3849,3851,3848,3850,3852},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_314(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][18] = {
/*VPSLLW */ {3264,3267,3265,3263,3268,3266,3269,3273,3277,3271,3275,3279,3270,3274,3278,3272,3276,3280},
/*VPSRAW */ {3372,3375,3373,3371,3376,3374,3377,3381,3385,3379,3383,3387,3378,3382,3386,3380,3384,3388},
/*VPSRLW */ {3318,3321,3319,3317,3322,3320,3323,3327,3331,3325,3329,3333,3324,3328,3332,3326,3330,3334},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_315(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][18] = {
/*VPSLLD */ {3282,3285,3283,3281,3286,3284,3291,3295,3287,3293,3297,3289,3292,3296,3288,3294,3298,3290},
/*VPSRAD */ {3390,3393,3391,3389,3394,3392,3399,3403,3395,3401,3405,3397,3400,3404,3396,3402,3406,3398},
/*VPSRLD */ {3336,3339,3337,3335,3340,3338,3345,3349,3341,3347,3351,3343,3346,3350,3342,3348,3352,3344},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_316(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][18] = {
/*VPSLLQ */ {3300,3303,3301,3299,3304,3302,3309,3313,3305,3311,3315,3307,3310,3314,3306,3312,3316,3308},
/*VPSRLQ */ {3354,3357,3355,3353,3358,3356,3363,3367,3359,3365,3369,3361,3364,3368,3360,3366,3370,3362},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][16]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][17]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_317(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[15][10] = {
/*VGF2P8MULB */ {6994,6996,6995,6997,6988,6990,6992,6989,6991,6993},
/*VPADDB */ {3408,3410,3407,3409,3411,3413,3415,3412,3414,3416},
/*VPADDSB */ {3448,3450,3447,3449,3451,3453,3455,3452,3454,3456},
/*VPADDUSB */ {3468,3470,3467,3469,3471,3473,3475,3472,3474,3476},
/*VPAVGB */ {3488,3490,3487,3489,3491,3493,3495,3492,3494,3496},
/*VPMAXSB */ {4088,4090,4087,4089,4091,4093,4095,4092,4094,4096},
/*VPMAXUB */ {4118,4120,4117,4119,4121,4123,4125,4122,4124,4126},
/*VPMINSB */ {4148,4150,4147,4149,4151,4153,4155,4152,4154,4156},
/*VPMINUB */ {4178,4180,4177,4179,4181,4183,4185,4182,4184,4186},
/*VPSHUFB */ {3692,3694,3691,3693,3695,3697,3699,3696,3698,3700},
/*VPSUBB */ {3754,3756,3753,3755,3757,3759,3761,3758,3760,3762},
/*VPSUBSB */ {3714,3716,3713,3715,3717,3719,3721,3718,3720,3722},
/*VPSUBUSB */ {3734,3736,3733,3735,3737,3739,3741,3738,3740,3742},
/*VPUNPCKHBW */ {3794,3796,3793,3795,3797,3799,3801,3798,3800,3802},
/*VPUNPCKLBW */ {3834,3836,3833,3835,3837,3839,3841,3838,3840,3842},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX2', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512_GFNI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512_GFNI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512_GFNI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512_GFNI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512_GFNI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512_GFNI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_318(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPCMPEQB */ {3508,3510,3507,3509,3511,3513,3515,3512,3514,3516},
/*VPCMPGTB */ {3548,3550,3547,3549,3551,3553,3555,3552,3554,3556},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_319(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPCMPEQW */ {3518,3520,3517,3519,3521,3523,3525,3522,3524,3526},
/*VPCMPGTW */ {3558,3560,3557,3559,3561,3563,3565,3562,3564,3566},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_320(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPCMPEQD */ {3528,3530,3527,3529,3533,3535,3531,3534,3536,3532},
/*VPCMPGTD */ {3568,3570,3567,3569,3573,3575,3571,3574,3576,3572},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_321(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPCMPEQQ */ {3538,3540,3537,3539,3543,3545,3541,3544,3546,3542},
/*VPCMPGTQ */ {3578,3580,3577,3579,3583,3585,3581,3584,3586,3582},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_322(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPSADBW */ {3682,3684,3681,3683,3685,3687,3689,3686,3688,3690},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_323(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][8] = {
/*VPSLLDQ */ {3881,3882,3883,3885,3887,3884,3886,3888},
/*VPSRLDQ */ {3873,3874,3875,3877,3879,3876,3878,3880},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_324(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VMOVHLPS */ {3891,3892},
/*VMOVLHPS */ {3889,3890},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128N', 'AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_325(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPALIGNR */ {3894,3896,3893,3895,3897,3899,3901,3898,3900,3902},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_326(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VROUNDPD */ {3908,3910,3907,3909},
/*VROUNDPS */ {3912,3914,3911,3913},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_327(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VROUNDSD */ {3916,3915},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_328(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VROUNDSS */ {3918,3917},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_329(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][10] = {
/*VGF2P8AFFINEINVQB*/ {6974,6976,6975,6977,6968,6970,6972,6969,6971,6973},
/*VGF2P8AFFINEQB*/ {6984,6986,6985,6987,6978,6980,6982,6979,6981,6983},
/*VSHUFPD */ {3920,3922,3919,3921,3925,3927,3923,3926,3928,3924},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX_GFNI', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX_GFNI', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX_GFNI', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX_GFNI', 'AVX_GFNI']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512_GFNI_128', 'AVX512_GFNI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512_GFNI_256', 'AVX512_GFNI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512_GFNI_512', 'AVX512_GFNI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512_GFNI_128', 'AVX512_GFNI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512_GFNI_256', 'AVX512_GFNI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512_GFNI_512', 'AVX512_GFNI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_330(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VSHUFPS */ {3930,3932,3929,3931,3935,3937,3933,3936,3938,3934},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_331(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VRCPSS */ {3944,3943},
/*VRSQRTSS */ {3950,3949},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_332(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VSQRTPD */ {3956,3952,3954,3951,3953,3958,3960,3955,3959,3961,3957},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_333(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*VMOVSS */ {4284,4282,4283,4281,4288,4287,4286,4285},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_334(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*VMOVSD */ {4292,4290,4291,4289,4296,4295,4294,4293},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_335(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VMOVHPD */ {4346,4345,4348,4347},
/*VMOVLPD */ {4338,4337,4340,4339},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128N', 'AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128N', 'AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_336(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VMOVHPS */ {4350,4349,4352,4351},
/*VMOVLPS */ {4342,4341,4344,4343},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128N', 'AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128N', 'AVX512F_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_337(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*VMOVMSKPD */ {4353,4354},
/*VMOVMSKPS */ {4355,4356},
/*VPMOVMSKB */ {4357,4358},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_338(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPMOVSXBW */ {4359,4361,4360,4362,4363,4365,4367,4364,4366,4368},
/*VPMOVZXBW */ {4419,4421,4420,4422,4423,4425,4427,4424,4426,4428},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_339(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPMOVSXBD */ {4369,4371,4370,4372,4375,4377,4373,4376,4378,4374},
/*VPMOVZXBD */ {4429,4431,4430,4432,4435,4437,4433,4436,4438,4434},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_340(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPMOVSXBQ */ {4379,4381,4380,4382,4385,4387,4383,4386,4388,4384},
/*VPMOVZXBQ */ {4439,4441,4440,4442,4445,4447,4443,4446,4448,4444},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_EIGHTHMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_EIGHTHMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_EIGHTHMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_341(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPMOVSXWD */ {4389,4391,4390,4392,4395,4397,4393,4396,4398,4394},
/*VPMOVZXWD */ {4449,4451,4450,4452,4455,4457,4453,4456,4458,4454},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_342(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPMOVSXWQ */ {4399,4401,4400,4402,4405,4407,4403,4406,4408,4404},
/*VPMOVZXWQ */ {4459,4461,4460,4462,4465,4467,4463,4466,4468,4464},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_343(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPMOVSXDQ */ {4409,4411,4410,4412,4415,4417,4413,4416,4418,4414},
/*VPMOVZXDQ */ {4469,4471,4470,4472,4475,4477,4473,4476,4478,4474},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_344(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VPEXTRB */ {4480,4479,4481,4482},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BYTE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_345(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*VPEXTRW */ {4484,4485,4483,4486,4487},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_WORD_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_346(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VPEXTRQ */ {4489,4488,4490,4491},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_347(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*VPEXTRD */ {4495,4493,4494,4492,4496,4497,4498,4499},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_348(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VPINSRB */ {4501,4500,4502,4503},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BYTE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_349(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VPINSRW */ {4505,4504,4506,4507},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_WORD_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_350(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][8] = {
/*VPINSRD */ {4511,4509,4510,4508,4512,4513,4514,4515},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_351(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VPINSRQ */ {4517,4516,4518,4519},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_352(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][4] = {
/*VPCMPESTRI */ {4521,4523,4520,4522},
/*VPCMPESTRM */ {4533,4535,4532,4534},
/*VPCMPISTRI */ {4527,4529,4526,4528},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_353(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][2] = {
/*VPCMPESTRI64 */ {4525,4524},
/*VPCMPESTRM64 */ {4537,4536},
/*VPCMPISTRI64 */ {4531,4530},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_354(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VAESKEYGENASSIST*/ {4575,4576},
/*VPCMPISTRM */ {4539,4538},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVXAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVXAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_355(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*VMASKMOVDQU */ {4540},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_356(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*VLDMXCSR */ {4541},
/*VSTMXCSR */ {4542},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_357(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][4] = {
/*VBLENDVPD */ {4548,4550,4547,4549},
/*VBLENDVPS */ {4552,4554,4551,4553},
/*VPBLENDVB */ {4544,4546,4543,4545},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[21], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_SE(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX2', 'AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SE_IMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_358(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*VMOVNTDQA */ {4555,4556,4558,4559,4557},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_359(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VMOVNTDQ */ {4560,4561,4563,4564,4562},
/*VMOVNTPS */ {4570,4571,4573,4574,4572},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX', 'AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_360(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*VMOVNTPD */ {4565,4566,4568,4569,4567},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_361(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][10] = {
/*VAESDEC */ {4597,4605,4598,4606,4599,4601,4603,4600,4602,4604},
/*VAESDECLAST */ {4607,4615,4608,4616,4609,4611,4613,4610,4612,4614},
/*VAESENC */ {4577,4585,4578,4586,4579,4581,4583,4580,4582,4584},
/*VAESENCLAST */ {4587,4595,4588,4596,4589,4591,4593,4590,4592,4594},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVXAES', 'AVXAES', 'AVXAES', 'AVXAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['VAES', 'VAES', 'VAES', 'VAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVXAES', 'AVXAES', 'AVXAES', 'AVXAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['VAES', 'VAES', 'VAES', 'VAES']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_VAES_128', 'AVX512_VAES_128', 'AVX512_VAES_128', 'AVX512_VAES_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_VAES_256', 'AVX512_VAES_256', 'AVX512_VAES_256', 'AVX512_VAES_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_VAES_512', 'AVX512_VAES_512', 'AVX512_VAES_512', 'AVX512_VAES_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_VAES_128', 'AVX512_VAES_128', 'AVX512_VAES_128', 'AVX512_VAES_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_128_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_VAES_256', 'AVX512_VAES_256', 'AVX512_VAES_256', 'AVX512_VAES_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_128_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_VAES_512', 'AVX512_VAES_512', 'AVX512_VAES_512', 'AVX512_VAES_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_128_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_362(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][10] = {
/*VPCLMULQDQ */ {4619,4627,4620,4628,4621,4623,4625,4622,4624,4626},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VPCLMULQDQ']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['VPCLMULQDQ']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VPCLMULQDQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VPCLMULQDQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VPCLMULQDQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VPCLMULQDQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VPCLMULQDQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VPCLMULQDQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_363(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCVTPH2PS */ {4634,4630,4632,4629,4631,4636,4638,4633,4637,4639,4635},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_364(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][11] = {
/*VCVTPS2PH */ {4645,4641,4643,4640,4642,4647,4649,4644,4648,4650,4646},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[16], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['F16C']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_365(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VGATHERDPD */ {5168,5167,5170,5171,5169},
/*VPGATHERDQ */ {5188,5187,5190,5191,5189},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_XMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_XMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_366(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VGATHERDPS */ {5173,5172,5175,5176,5174},
/*VPGATHERDD */ {5193,5192,5195,5196,5194},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_XMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_YMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_367(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VGATHERQPD */ {5178,5177,5180,5181,5179},
/*VPGATHERQQ */ {5198,5197,5200,5201,5199},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_XMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_YMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_368(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][5] = {
/*VGATHERQPS */ {5183,5182,5185,5186,5184},
/*VPGATHERQD */ {5203,5202,5205,5206,5204},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_XMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_XMM_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2GATHER', 'AVX2GATHER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_VMODRM_YMM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_369(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][10] = {
/*VPERMPD */ {5232,5231,5239,5235,5237,5233,5240,5236,5238,5234},
/*VPERMQ */ {5222,5221,5229,5225,5227,5223,5230,5226,5228,5224},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_370(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPERMD */ {5242,5241,5245,5243,5246,5244},
/*VPERMPS */ {5248,5247,5251,5249,5252,5250},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX2', 'AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_371(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][13] = {
/*VPBROADCASTB */ {5258,5260,5257,5259,5263,5261,5266,5264,5269,5267,5262,5265,5268},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BYTE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BYTE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BYTE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_372(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][13] = {
/*VPBROADCASTW */ {5271,5273,5270,5272,5276,5274,5279,5277,5282,5280,5275,5278,5281},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_W);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_WORD_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_WORD_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_WORD_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_373(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][16] = {
/*VPBROADCASTD */ {5284,5286,5283,5285,5293,5294,5292,5297,5298,5296,5289,5290,5288,5291,5295,5287},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][13]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][14]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][15]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_374(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][13] = {
/*VPBROADCASTQ */ {5300,5302,5299,5301,5308,5307,5311,5310,5305,5304,5306,5309,5303},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_YMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][12]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_375(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][6] = {
/*ANDN */ {5377,5378,5380,5375,5376,5379},
/*MULX */ {5429,5430,5433,5431,5432,5434},
/*PDEP */ {5365,5366,5368,5363,5364,5367},
/*PEXT */ {5371,5372,5374,5369,5370,5373},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['BMI2', 'BMI2', 'BMI1', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['BMI2', 'BMI2', 'BMI1', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR64_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_VGPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['BMI2', 'BMI2', 'BMI1', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['BMI2', 'BMI2', 'BMI1', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['BMI2', 'BMI2', 'BMI1', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR64_N(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['BMI2', 'BMI2', 'BMI1', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_376(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*BLSI */ {5395,5396,5398,5393,5394,5397},
/*BLSMSK */ {5389,5390,5392,5387,5388,5391},
/*BLSR */ {5383,5384,5386,5381,5382,5385},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['BMI1', 'BMI1', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['BMI1', 'BMI1', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_N(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['BMI1', 'BMI1', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['BMI1', 'BMI1', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['BMI1', 'BMI1', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_N(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['BMI1', 'BMI1', 'BMI1']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_377(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][6] = {
/*BEXTR */ {5407,5408,5410,5405,5406,5409},
/*BZHI */ {5401,5402,5404,5399,5400,5403},
/*SARX */ {5419,5420,5422,5417,5418,5421},
/*SHLX */ {5413,5414,5416,5411,5412,5415},
/*SHRX */ {5425,5426,5428,5423,5424,5427},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['BMI2', 'BMI1', 'BMI2', 'BMI2', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['BMI2', 'BMI1', 'BMI2', 'BMI2', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR64_B(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_VGPR64_N(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['BMI2', 'BMI1', 'BMI2', 'BMI2', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['BMI2', 'BMI1', 'BMI2', 'BMI2', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_VGPR32_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['BMI2', 'BMI1', 'BMI2', 'BMI2', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[24], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_VGPR64_N(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['BMI2', 'BMI1', 'BMI2', 'BMI2', 'BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_378(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*RORX */ {5435,5436,5439,5437,5438,5440},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR32_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_VGPR64_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[8], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_VGPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['BMI2']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_379(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*XBEGIN */ {5446},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_RELBR) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_relbr(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['RTM']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_BRDISPz_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_380(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*ADCX */ {5452,5450,5453,5451},
/*ADOX */ {5456,5454,5457,5455},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['ADOX_ADCX', 'ADOX_ADCX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['ADOX_ADCX', 'ADOX_ADCX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['ADOX_ADCX', 'ADOX_ADCX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['ADOX_ADCX', 'ADOX_ADCX']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_IMMUNE66_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_381(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[16][6] = {
/*VBLENDMPS */ {5604,5606,5602,5605,5607,5603},
/*VCVTNE2PS2BF16*/ {5501,5503,5505,5502,5504,5506},
/*VDPBF16PS */ {5513,5515,5517,5514,5516,5518},
/*VPANDD */ {5872,5874,5870,5873,5875,5871},
/*VPANDND */ {5878,5880,5876,5879,5881,5877},
/*VPBLENDMD */ {5896,5898,5894,5897,5899,5895},
/*VPERMI2D */ {5944,5946,5942,5945,5947,5943},
/*VPERMI2PS */ {5956,5958,5954,5957,5959,5955},
/*VPERMT2D */ {5968,5970,5966,5969,5971,5967},
/*VPERMT2PS */ {5980,5982,5978,5981,5983,5979},
/*VPORD */ {6118,6120,6116,6119,6121,6117},
/*VPROLVD */ {6142,6144,6140,6143,6145,6141},
/*VPRORVD */ {6166,6168,6164,6167,6169,6165},
/*VPSHLDVD */ {6902,6904,6906,6903,6905,6907},
/*VPSHRDVD */ {6938,6940,6942,6939,6941,6943},
/*VPXORD */ {6244,6246,6242,6245,6247,6243},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_BF16_128', 'AVX512_BF16_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_BF16_256', 'AVX512_BF16_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_BF16_512', 'AVX512_BF16_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_BF16_128', 'AVX512_BF16_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_BF16_256', 'AVX512_BF16_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_BF16_512', 'AVX512_BF16_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_382(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VCVTNEPS2BF16 */ {5507,5509,5511,5508,5510,5512},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BF16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BF16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BF16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BF16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BF16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BF16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_383(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][3] = {
/*VEXP2PD */ {5520,5519,5521},
/*VRCP28PD */ {5534,5533,5535},
/*VRSQRT28PD */ {5546,5545,5547},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_512', 'AVX512ER_512', 'AVX512ER_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_512', 'AVX512ER_512', 'AVX512ER_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_512', 'AVX512ER_512', 'AVX512ER_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_384(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][3] = {
/*VEXP2PS */ {5523,5522,5524},
/*VRCP28PS */ {5537,5536,5538},
/*VRSQRT28PS */ {5549,5548,5550},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_512', 'AVX512ER_512', 'AVX512ER_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_512', 'AVX512ER_512', 'AVX512ER_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_512', 'AVX512ER_512', 'AVX512ER_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_385(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*VGATHERPF0DPD */ {5525},
/*VGATHERPF1DPD */ {5529},
/*VSCATTERPF0DPD*/ {5557},
/*VSCATTERPF1DPD*/ {5561},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_386(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][1] = {
/*VGATHERPF0DPS */ {5526},
/*VGATHERPF0QPS */ {5528},
/*VGATHERPF1DPS */ {5530},
/*VGATHERPF1QPS */ {5532},
/*VSCATTERPF0DPS*/ {5558},
/*VSCATTERPF0QPS*/ {5560},
/*VSCATTERPF1DPS*/ {5562},
/*VSCATTERPF1QPS*/ {5564},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_387(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*VGATHERPF0QPD */ {5527},
/*VGATHERPF1QPD */ {5531},
/*VSCATTERPF0QPD*/ {5559},
/*VSCATTERPF1QPD*/ {5563},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512', 'AVX512PF_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_388(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][3] = {
/*VGETEXPSD */ {5779,5778,5780},
/*VRCP28SD */ {5540,5539,5541},
/*VRSQRT28SD */ {5552,5551,5553},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_SCALAR', 'AVX512ER_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_SCALAR', 'AVX512ER_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_SCALAR', 'AVX512ER_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_389(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][3] = {
/*VGETEXPSS */ {5782,5781,5783},
/*VRCP28SS */ {5543,5542,5544},
/*VRSQRT28SS */ {5555,5554,5556},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_SCALAR', 'AVX512ER_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_SCALAR', 'AVX512ER_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512ER_SCALAR', 'AVX512ER_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_390(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][1] = {
/*V4FMADDPS */ {5566},
/*V4FNMADDPS */ {5568},
/*VP4DPWSSD */ {5570},
/*VP4DPWSSDS */ {5571},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512_4FMAPS_512', 'AVX512_4FMAPS_512', 'AVX512_4VNNIW_512', 'AVX512_4VNNIW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_4X_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_391(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*V4FMADDSS */ {5567},
/*V4FNMADDSS */ {5569},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_4FMAPS_SCALAR', 'AVX512_4FMAPS_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE1_4X_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_392(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][6] = {
/*VPCONFLICTD */ {6377,6379,6375,6378,6380,6376},
/*VPLZCNTD */ {6389,6391,6387,6390,6392,6388},
/*VPOPCNTD */ {5574,5576,5572,5575,5577,5573},
/*VRCP14PS */ {6262,6264,6260,6263,6265,6261},
/*VRSQRT14PS */ {6298,6300,6296,6299,6301,6297},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512CD_128', 'AVX512CD_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512CD_256', 'AVX512CD_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512CD_512', 'AVX512CD_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512CD_128', 'AVX512CD_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512CD_256', 'AVX512CD_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512CD_512', 'AVX512CD_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_393(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][6] = {
/*VPABSQ */ {5866,5868,5864,5867,5869,5865},
/*VPCONFLICTQ */ {6383,6385,6381,6384,6386,6382},
/*VPLZCNTQ */ {6395,6397,6393,6396,6398,6394},
/*VPOPCNTQ */ {5580,5582,5578,5581,5583,5579},
/*VRCP14PD */ {6256,6258,6254,6257,6259,6255},
/*VRSQRT14PD */ {6292,6294,6290,6293,6295,6291},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512CD_128', 'AVX512CD_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512CD_256', 'AVX512CD_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512CD_512', 'AVX512CD_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512CD_128', 'AVX512CD_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512CD_256', 'AVX512CD_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512_VPOPCNTDQ_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512CD_512', 'AVX512CD_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_394(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][6] = {
/*VALIGND */ {5586,5588,5584,5587,5589,5585},
/*VPSHLDD */ {6890,6892,6894,6891,6893,6895},
/*VPSHRDD */ {6926,6928,6930,6927,6929,6931},
/*VPTERNLOGD */ {6208,6210,6206,6209,6211,6207},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_395(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][6] = {
/*VALIGNQ */ {5592,5594,5590,5593,5595,5591},
/*VPSHLDQ */ {6896,6898,6900,6897,6899,6901},
/*VPSHRDQ */ {6932,6934,6936,6933,6935,6937},
/*VPTERNLOGQ */ {6214,6216,6212,6215,6217,6213},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_396(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[23][6] = {
/*VBLENDMPD */ {5598,5600,5596,5599,5601,5597},
/*VPANDNQ */ {5884,5886,5882,5885,5887,5883},
/*VPANDQ */ {5890,5892,5888,5891,5893,5889},
/*VPBLENDMQ */ {5902,5904,5900,5903,5905,5901},
/*VPERMI2PD */ {5950,5952,5948,5951,5953,5949},
/*VPERMI2Q */ {5962,5964,5960,5963,5965,5961},
/*VPERMT2PD */ {5974,5976,5972,5975,5977,5973},
/*VPERMT2Q */ {5986,5988,5984,5987,5989,5985},
/*VPMADD52HUQ */ {6809,6811,6813,6810,6812,6814},
/*VPMADD52LUQ */ {6815,6817,6819,6816,6818,6820},
/*VPMAXSQ */ {6004,6006,6002,6005,6007,6003},
/*VPMAXUQ */ {6010,6012,6008,6011,6013,6009},
/*VPMINSQ */ {6016,6018,6014,6017,6019,6015},
/*VPMINUQ */ {6022,6024,6020,6023,6025,6021},
/*VPMULLQ */ {6667,6669,6671,6668,6670,6672},
/*VPMULTISHIFTQB*/ {6839,6841,6843,6840,6842,6844},
/*VPORQ */ {6124,6126,6122,6125,6127,6123},
/*VPROLVQ */ {6148,6150,6146,6149,6151,6147},
/*VPRORVQ */ {6172,6174,6170,6173,6175,6171},
/*VPSHLDVQ */ {6908,6910,6912,6909,6911,6913},
/*VPSHRDVQ */ {6944,6946,6948,6945,6947,6949},
/*VPSRAVQ */ {6202,6204,6200,6203,6205,6201},
/*VPXORQ */ {6250,6252,6248,6251,6253,6249},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512_IFMA_128', 'AVX512_IFMA_128', 'AVX512_VBMI_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512_IFMA_256', 'AVX512_IFMA_256', 'AVX512_VBMI_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512_IFMA_512', 'AVX512_IFMA_512', 'AVX512_VBMI_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512F_128', 'AVX512DQ_128', 'AVX512_IFMA_128', 'AVX512_IFMA_128', 'AVX512_VBMI_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512F_256', 'AVX512DQ_256', 'AVX512_IFMA_256', 'AVX512_IFMA_256', 'AVX512_VBMI_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512F_512', 'AVX512DQ_512', 'AVX512_IFMA_512', 'AVX512_IFMA_512', 'AVX512_VBMI_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_397(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VBROADCASTF32X4*/ {5609,5608},
/*VBROADCASTI32X4*/ {5612,5611},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_398(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*VBROADCASTF64X4*/ {5610},
/*VBROADCASTI64X4*/ {5613},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_399(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VCOMPRESSPD */ {5617,5619,5615,5616,5618,5614},
/*VPCOMPRESSQ */ {5939,5941,5937,5938,5940,5936},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_400(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VCOMPRESSPS */ {5623,5625,5621,5622,5624,5620},
/*VPCOMPRESSD */ {5933,5935,5931,5932,5934,5930},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_401(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTPD2UDQ */ {5627,5629,5631,5626,5630,5632,5628},
/*VCVTQQ2PS */ {6455,6450,6452,6454,6451,6453,6456},
/*VCVTUQQ2PS */ {6497,6492,6494,6496,6493,6495,6498},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_402(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VCVTPS2UDQ */ {5634,5636,5638,5633,5637,5639,5635},
/*VCVTUDQ2PS */ {5698,5700,5702,5697,5701,5703,5699},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_403(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][9] = {
/*VCVTSD2USI */ {5642,5643,5647,5640,5641,5646,5644,5645,5648},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_404(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][9] = {
/*VCVTSS2USI */ {5651,5652,5656,5649,5650,5655,5653,5654,5657},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_405(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][7] = {
/*VCVTTPD2UDQ */ {5659,5661,5663,5658,5662,5664,5660},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_406(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VCVTTPS2UDQ */ {5666,5668,5670,5665,5669,5671,5667},
/*VGETEXPPS */ {5772,5774,5776,5771,5775,5777,5773},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_407(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][9] = {
/*VCVTTSD2USI */ {5674,5675,5679,5672,5673,5678,5676,5677,5680},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_Q_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_408(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][9] = {
/*VCVTTSS2USI */ {5683,5684,5688,5681,5682,5687,5685,5686,5689},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_409(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][7] = {
/*VCVTUDQ2PD */ {5691,5693,5695,5690,5694,5696,5692},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_410(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][7] = {
/*VCVTUSI2SD */ {5709,5704,5705,5708,5706,5707,5710},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_411(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][9] = {
/*VCVTUSI2SS */ {5713,5714,5718,5711,5712,5717,5715,5716,5719},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_412(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VEXPANDPD */ {5723,5725,5721,5722,5724,5720},
/*VPEXPANDQ */ {5999,6001,5997,5998,6000,5996},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_413(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VEXPANDPS */ {5729,5731,5727,5728,5730,5726},
/*VPEXPANDD */ {5993,5995,5991,5992,5994,5990},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_414(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VEXTRACTF32X4 */ {5734,5732,5735,5733},
/*VEXTRACTI32X4 */ {5740,5738,5741,5739},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_415(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VEXTRACTF64X4 */ {5736,5737},
/*VEXTRACTI64X4 */ {5742,5743},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_416(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VFIXUPIMMPD */ {5745,5747,5749,5744,5748,5750,5746},
/*VRANGEPD */ {6720,6715,6717,6719,6716,6718,6721},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_417(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VFIXUPIMMPS */ {5752,5754,5756,5751,5755,5757,5753},
/*VRANGEPS */ {6727,6722,6724,6726,6723,6725,6728},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_418(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][3] = {
/*VFIXUPIMMSD */ {5759,5758,5760},
/*VGETMANTSD */ {5799,5798,5800},
/*VRANGESD */ {6730,6729,6731},
/*VREDUCESD */ {6750,6749,6751},
/*VRNDSCALESD */ {6285,6284,6286},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512DQ_SCALAR', 'AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512DQ_SCALAR', 'AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512DQ_SCALAR', 'AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_419(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][3] = {
/*VFIXUPIMMSS */ {5762,5761,5763},
/*VGETMANTSS */ {5802,5801,5803},
/*VRANGESS */ {6733,6732,6734},
/*VREDUCESS */ {6753,6752,6754},
/*VRNDSCALESS */ {6288,6287,6289},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512DQ_SCALAR', 'AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512DQ_SCALAR', 'AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512F_SCALAR', 'AVX512DQ_SCALAR', 'AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_420(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTTPD2QQ */ {6462,6457,6459,6461,6458,6460,6463},
/*VCVTTPD2UQQ */ {6469,6464,6466,6468,6465,6467,6470},
/*VGETEXPPD */ {5765,5767,5769,5764,5768,5770,5766},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_421(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VGETMANTPD */ {5785,5787,5789,5784,5788,5790,5786},
/*VREDUCEPD */ {6740,6735,6737,6739,6736,6738,6741},
/*VRNDSCALEPD */ {6271,6273,6275,6270,6274,6276,6272},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_422(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VGETMANTPS */ {5792,5794,5796,5791,5795,5797,5793},
/*VREDUCEPS */ {6747,6742,6744,6746,6743,6745,6748},
/*VRNDSCALEPS */ {6278,6280,6282,6277,6281,6283,6279},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_423(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VINSERTF32X4 */ {5806,5804,5807,5805},
/*VINSERTI32X4 */ {5812,5810,5813,5811},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_424(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VINSERTF64X4 */ {5808,5809},
/*VINSERTI64X4 */ {5814,5815},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE4_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_425(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][12] = {
/*VMOVDQA32 */ {5822,5820,5826,5824,5818,5816,5823,5821,5827,5825,5819,5817},
/*VMOVDQU32 */ {5846,5844,5850,5848,5842,5840,5847,5845,5851,5849,5843,5841},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_426(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][12] = {
/*VMOVDQA64 */ {5834,5832,5838,5836,5830,5828,5835,5833,5839,5837,5831,5829},
/*VMOVDQU64 */ {5858,5856,5862,5860,5854,5852,5859,5857,5863,5861,5855,5853},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_427(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPCMPD */ {5908,5910,5906,5909,5911,5907},
/*VPCMPUD */ {5920,5922,5918,5921,5923,5919},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_428(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPCMPQ */ {5914,5916,5912,5915,5917,5913},
/*VPCMPUQ */ {5926,5928,5924,5927,5929,5925},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_429(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPMOVDB */ {6028,6030,6026,6029,6031,6027},
/*VPMOVSDB */ {6058,6060,6056,6059,6061,6057},
/*VPMOVUSDB */ {6088,6090,6086,6089,6091,6087},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_430(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPMOVDW */ {6034,6036,6032,6035,6037,6033},
/*VPMOVSDW */ {6064,6066,6062,6065,6067,6063},
/*VPMOVUSDW */ {6094,6096,6092,6095,6097,6093},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_431(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPMOVQB */ {6040,6042,6038,6041,6043,6039},
/*VPMOVSQB */ {6070,6072,6068,6071,6073,6069},
/*VPMOVUSQB */ {6100,6102,6098,6101,6103,6099},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_EIGHTHMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_EIGHTHMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_EIGHTHMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_432(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPMOVQD */ {6046,6048,6044,6047,6049,6045},
/*VPMOVSQD */ {6076,6078,6074,6077,6079,6075},
/*VPMOVUSQD */ {6106,6108,6104,6107,6109,6105},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_433(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPMOVQW */ {6052,6054,6050,6053,6055,6051},
/*VPMOVSQW */ {6082,6084,6080,6083,6085,6081},
/*VPMOVUSQW */ {6112,6114,6110,6113,6115,6111},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_128', 'AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_256', 'AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512F_512', 'AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTERMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_434(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPROLD */ {6130,6132,6128,6131,6133,6129},
/*VPRORD */ {6154,6156,6152,6155,6157,6153},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_435(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPROLQ */ {6136,6138,6134,6137,6139,6135},
/*VPRORQ */ {6160,6162,6158,6161,6163,6159},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_436(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*VPSCATTERDD */ {6177,6178,6176},
/*VSCATTERDPS */ {6330,6331,6329},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_437(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*VPSCATTERDQ */ {6180,6181,6179},
/*VSCATTERDPD */ {6327,6328,6326},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_438(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*VPSCATTERQD */ {6183,6184,6182},
/*VSCATTERQPS */ {6336,6337,6335},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_439(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*VPSCATTERQQ */ {6186,6187,6185},
/*VSCATTERQPD */ {6333,6334,6332},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_XMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_YMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_easz(xes) != 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASKNOT0(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UISA_VMODRM_ZMM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_440(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][12] = {
/*VPSRAQ */ {6192,6196,6188,6194,6198,6190,6193,6197,6189,6195,6199,6191},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_MEM128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_441(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPTESTMD */ {6220,6222,6218,6221,6223,6219},
/*VPTESTNMD */ {6232,6234,6230,6233,6235,6231},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_442(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPTESTMQ */ {6226,6228,6224,6227,6229,6225},
/*VPTESTNMQ */ {6238,6240,6236,6239,6241,6237},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_128', 'AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_443(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VRCP14SD */ {6266,6267},
/*VRSQRT14SD */ {6302,6303},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_444(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VRCP14SS */ {6268,6269},
/*VRSQRT14SS */ {6304,6305},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_SCALAR', 'AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_445(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][7] = {
/*VSCALEFPD */ {6307,6309,6311,6306,6310,6312,6308},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_446(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][7] = {
/*VFCMADDCPH */ {7307,7302,7304,7306,7303,7305,7308},
/*VFCMULCPH */ {7317,7312,7314,7316,7313,7315,7318},
/*VFMADDCPH */ {7357,7352,7354,7356,7353,7355,7358},
/*VFMULCPH */ {7439,7434,7436,7438,7435,7437,7440},
/*VSCALEFPS */ {6314,6316,6318,6313,6317,6319,6315},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512F_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_447(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*VSCALEFSD */ {6321,6320,6322},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_448(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*VSCALEFSS */ {6324,6323,6325},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_449(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VSHUFF32X4 */ {6340,6338,6341,6339},
/*VSHUFI32X4 */ {6348,6346,6349,6347},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_450(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VSHUFF64X2 */ {6344,6342,6345,6343},
/*VSHUFI64X2 */ {6352,6350,6353,6351},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_256', 'AVX512F_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512F_512', 'AVX512F_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_451(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[27][1] = {
/*KADDB */ {6755},
/*KADDD */ {6756},
/*KADDQ */ {6757},
/*KADDW */ {6758},
/*KANDB */ {6759},
/*KANDD */ {6760},
/*KANDNB */ {6761},
/*KANDND */ {6762},
/*KANDNQ */ {6763},
/*KANDNW */ {6354},
/*KANDQ */ {6764},
/*KANDW */ {6355},
/*KORB */ {6785},
/*KORD */ {6786},
/*KORQ */ {6787},
/*KORW */ {6363},
/*KUNPCKBW */ {6366},
/*KUNPCKDQ */ {6801},
/*KUNPCKWD */ {6802},
/*KXNORB */ {6803},
/*KXNORD */ {6804},
/*KXNORQ */ {6805},
/*KXNORW */ {6367},
/*KXORB */ {6806},
/*KXORD */ {6807},
/*KXORQ */ {6808},
/*KXORW */ {6368},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_N(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_KOP', 'AVX512F_KOP', 'AVX512F_KOP', 'AVX512F_KOP', 'AVX512F_KOP', 'AVX512F_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_452(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*KMOVW */ {6360,6359,6356,6358,6357},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512F_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_453(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[12][1] = {
/*KNOTB */ {6782},
/*KNOTD */ {6783},
/*KNOTQ */ {6784},
/*KNOTW */ {6361},
/*KORTESTB */ {6788},
/*KORTESTD */ {6789},
/*KORTESTQ */ {6790},
/*KORTESTW */ {6362},
/*KTESTB */ {6797},
/*KTESTD */ {6798},
/*KTESTQ */ {6799},
/*KTESTW */ {6800},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512F_KOP', 'AVX512F_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_454(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[8][1] = {
/*KSHIFTLB */ {6791},
/*KSHIFTLD */ {6792},
/*KSHIFTLQ */ {6793},
/*KSHIFTLW */ {6364},
/*KSHIFTRB */ {6794},
/*KSHIFTRD */ {6795},
/*KSHIFTRQ */ {6796},
/*KSHIFTRW */ {6365},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True] isa_set ['AVX512F_KOP', 'AVX512F_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP', 'AVX512DQ_KOP', 'AVX512BW_KOP', 'AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_455(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[6][3] = {
/*VPBROADCASTMB2Q*/ {6370,6371,6369},
/*VPBROADCASTMW2D*/ {6373,6374,6372},
/*VPMOVM2B */ {6631,6632,6633},
/*VPMOVM2D */ {6634,6635,6636},
/*VPMOVM2Q */ {6637,6638,6639},
/*VPMOVM2W */ {6640,6641,6642},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512CD_128', 'AVX512CD_128', 'AVX512BW_128', 'AVX512DQ_128', 'AVX512DQ_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512CD_256', 'AVX512CD_256', 'AVX512BW_256', 'AVX512DQ_256', 'AVX512DQ_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True] isa_set ['AVX512CD_512', 'AVX512CD_512', 'AVX512BW_512', 'AVX512DQ_512', 'AVX512DQ_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_456(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VBROADCASTF32X2*/ {6399,6401,6400,6402},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_457(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*VBROADCASTF32X8*/ {6403},
/*VBROADCASTI32X8*/ {6412},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_458(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VBROADCASTF64X2*/ {6404,6405},
/*VBROADCASTI64X2*/ {6413,6414},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_459(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VBROADCASTI32X2*/ {6406,6408,6410,6407,6409,6411},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_460(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][7] = {
/*VCVTPD2QQ */ {6420,6415,6417,6419,6416,6418,6421},
/*VCVTPD2UQQ */ {6427,6422,6424,6426,6423,6425,6428},
/*VCVTQQ2PD */ {6448,6443,6445,6447,6444,6446,6449},
/*VCVTUQQ2PD */ {6490,6485,6487,6489,6486,6488,6491},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128', 'AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256', 'AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128', 'AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256', 'AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512', 'AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_461(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VCVTPS2QQ */ {6434,6429,6431,6433,6430,6432,6435},
/*VCVTPS2UQQ */ {6441,6436,6438,6440,6437,6439,6442},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_462(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VCVTTPS2QQ */ {6476,6471,6473,6475,6472,6474,6477},
/*VCVTTPS2UQQ */ {6483,6478,6480,6482,6479,6481,6484},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_128', 'AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_463(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VDBPSADBW */ {6499,6501,6503,6500,6502,6504},
/*VPSHLDW */ {6920,6922,6924,6921,6923,6925},
/*VPSHRDW */ {6956,6958,6960,6957,6959,6961},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_464(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VEXTRACTF32X8 */ {6505,6506},
/*VEXTRACTI32X8 */ {6511,6512},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_465(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VEXTRACTF64X2 */ {6507,6509,6508,6510},
/*VEXTRACTI64X2 */ {6513,6515,6514,6516},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[31], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_466(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VFPCLASSPD */ {6517,6519,6521,6518,6520,6522},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_467(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VFPCLASSPS */ {6523,6525,6527,6524,6526,6528},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_468(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VFPCLASSSD */ {6529,6530},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_469(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VFPCLASSSS */ {6531,6532},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_470(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VINSERTF32X8 */ {6533,6534},
/*VINSERTI32X8 */ {6539,6540},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_471(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][4] = {
/*VINSERTF64X2 */ {6535,6537,6536,6538},
/*VINSERTI64X2 */ {6541,6543,6542,6544},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_256', 'AVX512DQ_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512DQ_512', 'AVX512DQ_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_TUPLE2_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_472(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][12] = {
/*VMOVDQU16 */ {6547,6545,6551,6549,6555,6553,6548,6546,6552,6550,6556,6554},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_473(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][12] = {
/*VMOVDQU8 */ {6559,6557,6563,6561,6567,6565,6560,6558,6564,6562,6568,6566},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][9]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][10]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][11]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_474(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][6] = {
/*VPBLENDMB */ {6569,6571,6573,6570,6572,6574},
/*VPERMB */ {6821,6823,6825,6822,6824,6826},
/*VPERMI2B */ {6827,6829,6831,6828,6830,6832},
/*VPERMT2B */ {6833,6835,6837,6834,6836,6838},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_128', 'AVX512_VBMI_128', 'AVX512_VBMI_128', 'AVX512_VBMI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_256', 'AVX512_VBMI_256', 'AVX512_VBMI_256', 'AVX512_VBMI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_512', 'AVX512_VBMI_512', 'AVX512_VBMI_512', 'AVX512_VBMI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_128', 'AVX512_VBMI_128', 'AVX512_VBMI_128', 'AVX512_VBMI_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_256', 'AVX512_VBMI_256', 'AVX512_VBMI_256', 'AVX512_VBMI_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_512', 'AVX512_VBMI_512', 'AVX512_VBMI_512', 'AVX512_VBMI_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_475(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[9][6] = {
/*VPBLENDMW */ {6575,6577,6579,6576,6578,6580},
/*VPERMI2W */ {6605,6607,6609,6606,6608,6610},
/*VPERMT2W */ {6611,6613,6615,6612,6614,6616},
/*VPERMW */ {6617,6619,6621,6618,6620,6622},
/*VPSHLDVW */ {6914,6916,6918,6915,6917,6919},
/*VPSHRDVW */ {6950,6952,6954,6951,6953,6955},
/*VPSLLVW */ {6673,6675,6677,6674,6676,6678},
/*VPSRAVW */ {6679,6681,6683,6680,6682,6684},
/*VPSRLVW */ {6685,6687,6689,6686,6688,6690},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128', 'AVX512_VBMI2_128', 'AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256', 'AVX512_VBMI2_256', 'AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512', 'AVX512_VBMI2_512', 'AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_476(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPCMPB */ {6581,6583,6585,6582,6584,6586},
/*VPCMPUB */ {6587,6589,6591,6588,6590,6592},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_477(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPCMPUW */ {6593,6595,6597,6594,6596,6598},
/*VPCMPW */ {6599,6601,6603,6600,6602,6604},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_478(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VPEXTRW_C5 */ {6623,6624},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[9], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_479(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[4][3] = {
/*VPMOVB2M */ {6625,6626,6627},
/*VPMOVD2M */ {6628,6629,6630},
/*VPMOVQ2M */ {6643,6644,6645},
/*VPMOVW2M */ {6658,6659,6660},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_128', 'AVX512DQ_128', 'AVX512DQ_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_256', 'AVX512DQ_256', 'AVX512DQ_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True] isa_set ['AVX512BW_512', 'AVX512DQ_512', 'AVX512DQ_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_480(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPMOVSWB */ {6646,6648,6650,6647,6649,6651},
/*VPMOVUSWB */ {6652,6654,6656,6653,6655,6657},
/*VPMOVWB */ {6661,6663,6665,6662,6664,6666},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALFMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_481(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][6] = {
/*VPSHUFBITQMB */ {6860,6862,6864,6861,6863,6865},
/*VPTESTMB */ {6691,6693,6695,6692,6694,6696},
/*VPTESTNMB */ {6703,6705,6707,6704,6706,6708},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512_BITALG_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512_BITALG_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512_BITALG_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_128', 'AVX512BW_128', 'AVX512_BITALG_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_256', 'AVX512BW_256', 'AVX512_BITALG_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512BW_512', 'AVX512BW_512', 'AVX512_BITALG_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_482(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VPTESTMW */ {6697,6699,6701,6698,6700,6702},
/*VPTESTNMW */ {6709,6711,6713,6710,6712,6714},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_128', 'AVX512BW_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_256', 'AVX512BW_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512BW_512', 'AVX512BW_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_483(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*KMOVB */ {6769,6768,6765,6767,6766},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_B);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512DQ_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_484(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][7] = {
/*KMOVD */ {6776,6774,6775,6773,6770,6772,6771},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_485(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][5] = {
/*KMOVQ */ {6781,6780,6777,6779,6778},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512BW_KOP']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_486(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VPOPCNTB */ {6848,6850,6852,6849,6851,6853},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_487(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VPOPCNTW */ {6854,6856,6858,6855,6857,6859},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_BITALG_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULLMEM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_488(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VPCOMPRESSB */ {6867,6869,6871,6866,6868,6870},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_489(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VPCOMPRESSW */ {6873,6875,6877,6872,6874,6876},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_490(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VPEXPANDB */ {6879,6881,6883,6878,6880,6882},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_8_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_491(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VPEXPANDW */ {6885,6887,6889,6884,6886,6888},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_DQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_QQ);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VBMI2_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GSCAT_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_492(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VP2INTERSECTD */ {6998,7000,7002,6999,7001,7003},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_493(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VP2INTERSECTQ */ {7004,7006,7008,7005,7007,7009},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_VP2INTERSECT_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_494(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*AESDEC128KL */ {7010},
/*AESENC128KL */ {7014},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M384);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['KEYLOCKER', 'KEYLOCKER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_495(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*AESDEC256KL */ {7011},
/*AESENC256KL */ {7015},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['KEYLOCKER', 'KEYLOCKER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_496(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*AESDECWIDE128KL*/ {7012},
/*AESENCWIDE128KL*/ {7016},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_M384);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['KEYLOCKER_WIDE', 'KEYLOCKER_WIDE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_497(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*AESDECWIDE256KL*/ {7013},
/*AESENCWIDE256KL*/ {7017},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['KEYLOCKER_WIDE', 'KEYLOCKER_WIDE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_498(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*ENCODEKEY128 */ {7018},
/*ENCODEKEY256 */ {7019},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['KEYLOCKER', 'KEYLOCKER']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_499(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*SENDUIPI */ {7023},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['UINTR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_500(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*LDTILECFG */ {7027},
/*STTILECFG */ {7028},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AMX_TILE', 'AMX_TILE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_501(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][1] = {
/*TDPBF16PS */ {7029},
/*TDPBSSD */ {7030},
/*TDPBSUD */ {7031},
/*TDPBUSD */ {7032},
/*TDPBUUD */ {7033},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_TMM_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_TMM_B(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_TMM_N(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AMX_BF16', 'AMX_INT8', 'AMX_INT8', 'AMX_INT8', 'AMX_INT8']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_502(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*TILELOADD */ {7034},
/*TILELOADDT1 */ {7035},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_TMM_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PTR);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AMX_TILE', 'AMX_TILE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_503(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*TILERELEASE */ {7036},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMX_TILE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_504(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*TILESTORED */ {7037},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_PTR) &&
xed_encode_ntluf_TMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMX_TILE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_505(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][1] = {
/*TILEZERO */ {7038},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 1 && xes->_operand_order[0] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
(xed3_operand_get_must_use_evex(xes) == 0) &&
xed_encode_ntluf_TMM_R(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AMX_TILE']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_506(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][1] = {
/*ENQCMD */ {7039},
/*ENQCMDS */ {7040},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_A_GPR_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_ZD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['ENQCMD', 'ENQCMD']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_507(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[23][7] = {
/*VADDPH */ {7054,7049,7051,7053,7050,7052,7055},
/*VDIVPH */ {7297,7292,7294,7296,7293,7295,7298},
/*VFMADD132PH */ {7327,7322,7324,7326,7323,7325,7328},
/*VFMADD213PH */ {7337,7332,7334,7336,7333,7335,7338},
/*VFMADD231PH */ {7347,7342,7344,7346,7343,7345,7348},
/*VFMADDSUB132PH*/ {7367,7362,7364,7366,7363,7365,7368},
/*VFMADDSUB213PH*/ {7374,7369,7371,7373,7370,7372,7375},
/*VFMADDSUB231PH*/ {7381,7376,7378,7380,7377,7379,7382},
/*VFMSUB132PH */ {7388,7383,7385,7387,7384,7386,7389},
/*VFMSUB213PH */ {7398,7393,7395,7397,7394,7396,7399},
/*VFMSUB231PH */ {7408,7403,7405,7407,7404,7406,7409},
/*VFMSUBADD132PH*/ {7418,7413,7415,7417,7414,7416,7419},
/*VFMSUBADD213PH*/ {7425,7420,7422,7424,7421,7423,7426},
/*VFMSUBADD231PH*/ {7432,7427,7429,7431,7428,7430,7433},
/*VFNMADD132PH */ {7449,7444,7446,7448,7445,7447,7450},
/*VFNMADD213PH */ {7459,7454,7456,7458,7455,7457,7460},
/*VFNMADD231PH */ {7469,7464,7466,7468,7465,7467,7470},
/*VFNMSUB132PH */ {7479,7474,7476,7478,7475,7477,7480},
/*VFNMSUB213PH */ {7489,7484,7486,7488,7485,7487,7490},
/*VFNMSUB231PH */ {7499,7494,7496,7498,7495,7497,7500},
/*VMULPH */ {7565,7560,7562,7564,7561,7563,7566},
/*VSCALEFPH */ {7611,7606,7608,7610,7607,7609,7612},
/*VSUBPH */ {7631,7626,7628,7630,7627,7629,7632},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_508(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[18][3] = {
/*VADDSH */ {7057,7056,7058},
/*VDIVSH */ {7300,7299,7301},
/*VFMADD132SH */ {7330,7329,7331},
/*VFMADD213SH */ {7340,7339,7341},
/*VFMADD231SH */ {7350,7349,7351},
/*VFMSUB132SH */ {7391,7390,7392},
/*VFMSUB213SH */ {7401,7400,7402},
/*VFMSUB231SH */ {7411,7410,7412},
/*VFNMADD132SH */ {7452,7451,7453},
/*VFNMADD213SH */ {7462,7461,7463},
/*VFNMADD231SH */ {7472,7471,7473},
/*VFNMSUB132SH */ {7482,7481,7483},
/*VFNMSUB213SH */ {7492,7491,7493},
/*VFNMSUB231SH */ {7502,7501,7503},
/*VMULSH */ {7568,7567,7569},
/*VSCALEFSH */ {7614,7613,7615},
/*VSQRTSH */ {7624,7623,7625},
/*VSUBSH */ {7634,7633,7635},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_509(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][7] = {
/*VCMPPH */ {7064,7059,7061,7063,7060,7062,7065},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_510(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*VCMPSH */ {7067,7066,7068},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_511(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][3] = {
/*VCOMISH */ {7070,7069,7071},
/*VUCOMISH */ {7637,7636,7638},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_512(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTDQ2PH */ {7077,7072,7074,7076,7073,7075,7078},
/*VCVTPS2PHX */ {7147,7142,7144,7146,7143,7145,7148},
/*VCVTUDQ2PH */ {7260,7255,7257,7259,7256,7258,7261},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_513(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTPD2PH */ {7084,7079,7081,7083,7080,7082,7085},
/*VCVTQQ2PH */ {7154,7149,7151,7153,7150,7152,7155},
/*VCVTUQQ2PH */ {7267,7262,7264,7266,7263,7265,7268},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_514(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VCVTPH2DQ */ {7091,7086,7088,7090,7087,7089,7092},
/*VCVTPH2UDQ */ {7119,7114,7116,7118,7115,7117,7120},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_515(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTPH2PD */ {7098,7093,7095,7097,7094,7096,7099},
/*VCVTTPH2QQ */ {7207,7202,7204,7206,7203,7205,7208},
/*VCVTTPH2UQQ */ {7221,7216,7218,7220,7217,7219,7222},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_516(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTPH2PSX */ {7105,7100,7102,7104,7101,7103,7106},
/*VCVTTPH2DQ */ {7200,7195,7197,7199,7196,7198,7201},
/*VCVTTPH2UDQ */ {7214,7209,7211,7213,7210,7212,7215},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_HALF_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_517(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VCVTPH2QQ */ {7112,7107,7109,7111,7108,7110,7113},
/*VCVTPH2UQQ */ {7126,7121,7123,7125,7122,7124,7127},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_QUARTER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_518(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][7] = {
/*VCVTPH2UW */ {7133,7128,7130,7132,7129,7131,7134},
/*VCVTPH2W */ {7140,7135,7137,7139,7136,7138,7141},
/*VCVTUW2PH */ {7283,7278,7280,7282,7279,7281,7284},
/*VCVTW2PH */ {7290,7285,7287,7289,7286,7288,7291},
/*VSQRTPH */ {7621,7616,7618,7620,7617,7619,7622},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_519(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][3] = {
/*VCVTSD2SH */ {7157,7156,7158},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_520(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][3] = {
/*VCVTSH2SD */ {7160,7159,7161},
/*VCVTSH2SS */ {7172,7171,7173},
/*VGETEXPSH */ {7520,7519,7521},
/*VMAXSH */ {7540,7539,7541},
/*VMINSH */ {7550,7549,7551},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_521(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][9] = {
/*VCVTSH2SI */ {7166,7163,7169,7165,7162,7168,7167,7164,7170},
/*VCVTSH2USI */ {7178,7175,7181,7177,7174,7180,7179,7176,7182},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_522(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][9] = {
/*VCVTSI2SH */ {7187,7184,7190,7186,7183,7189,7188,7185,7191},
/*VCVTUSI2SH */ {7273,7270,7276,7272,7269,7275,7274,7271,7277},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_GPR64_B(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_Q);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_64_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_523(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[5][3] = {
/*VCVTSS2SH */ {7193,7192,7194},
/*VFCMADDCSH */ {7310,7309,7311},
/*VFCMULCSH */ {7320,7319,7321},
/*VFMADDCSH */ {7360,7359,7361},
/*VFMULCSH */ {7442,7441,7443},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_roundc(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_AVX512_ROUND_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_D);
if (conditions_satisfied) {
// real_opcode [True, True, True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_32_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_524(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VCVTTPH2UW */ {7228,7223,7225,7227,7224,7226,7229},
/*VCVTTPH2W */ {7235,7230,7232,7234,7231,7233,7236},
/*VGETEXPPH */ {7517,7512,7514,7516,7513,7515,7518},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_525(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][9] = {
/*VCVTTSH2SI */ {7241,7238,7244,7240,7237,7243,7242,7239,7245},
/*VCVTTSH2USI */ {7250,7247,7253,7249,7246,7252,7251,7248,7254},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
(xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) != 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR32_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][7]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mode(xes) == 2) &&
xed_encode_ntluf_GPR64_R(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][8]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_LDOP_D_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_526(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][6] = {
/*VFPCLASSPH */ {7504,7506,7508,7505,7507,7509},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_527(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][2] = {
/*VFPCLASSSH */ {7510,7511},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_MASK_R(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_528(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][7] = {
/*VGETMANTPH */ {7527,7522,7524,7526,7523,7525,7528},
/*VREDUCEPH */ {7583,7578,7580,7582,7579,7581,7584},
/*VRNDSCALEPH */ {7593,7588,7590,7592,7589,7591,7594},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[27], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[26], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_529(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[3][3] = {
/*VGETMANTSH */ {7530,7529,7531},
/*VREDUCESH */ {7586,7585,7587},
/*VRNDSCALESH */ {7596,7595,7597},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[29], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes)) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 5 && memcmp(xed_encode_order[30], xes->_operand_order, sizeof(xed_uint8_t)*5)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
(xed3_operand_get_imm0(xes) == 1);
if (conditions_satisfied) {
// real_opcode [True, True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_UIMM8_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_530(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][7] = {
/*VMAXPH */ {7537,7532,7534,7536,7533,7535,7538},
/*VMINPH */ {7547,7542,7544,7546,7543,7545,7548},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_sae(xes) != 0) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN512_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_SAE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][6]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_531(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VMOVSH */ {7555,7554,7553,7552},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[17], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_532(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[1][4] = {
/*VMOVW */ {7558,7556,7559,7557},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_REG1) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_GPR32_B(xes,xed3_operand_get_reg1(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_MEM0 && xes->_operand_order[1] == XED_OPERAND_REG0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes));
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_WRITER_STORE_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 2 && xes->_operand_order[0] == XED_OPERAND_REG0 && xes->_operand_order[1] == XED_OPERAND_MEM0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True] isa_set ['AVX512_FP16_128N']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_GPR_READER_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_533(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][6] = {
/*VRCPPH */ {7570,7572,7574,7571,7573,7575},
/*VRSQRTPH */ {7598,7600,7602,7599,7601,7603},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_YMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[18], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_ZMM_B3(xes,xed3_operand_get_reg2(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][2]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 0) &&
xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_128', 'AVX512_FP16_128']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][3]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 1) &&
xed_encode_ntluf_YMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_256', 'AVX512_FP16_256']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][4]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 3 && memcmp(xed_encode_order[25], xes->_operand_order, sizeof(xed_uint8_t)*3)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = (xed3_operand_get_vl(xes) == 2) &&
xed_encode_ntluf_ZMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_VV);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_512', 'AVX512_FP16_512']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][5]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_FULL_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}
xed_bool_t xed_encode_group_534(xed_encoder_request_t* xes)
{
xed_bool_t okay=1;
xed_ptrn_func_ptr_t fb_ptrn_function;
static const xed_uint16_t iform_ids[2][2] = {
/*VRCPSH */ {7576,7577},
/*VRSQRTSH */ {7604,7605},
};
xed_uint8_t iclass_index = xed_encoder_get_iclasses_index_in_group(xes);
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[22], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
xed_encode_ntluf_XMM_B3(xes,xed3_operand_get_reg3(xes));
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][0]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
if (1) { // ALL ONES
if (xes->_n_operand_order == 4 && memcmp(xed_encode_order[23], xes->_operand_order, sizeof(xed_uint8_t)*4)==0) {
xed_bool_t conditions_satisfied=0;
conditions_satisfied = xed_encode_ntluf_XMM_R3(xes,xed3_operand_get_reg0(xes)) &&
xed_encode_ntluf_MASK1(xes,xed3_operand_get_reg1(xes)) &&
xed_encode_ntluf_XMM_N3(xes,xed3_operand_get_reg2(xes)) &&
(xed3_operand_get_mem0(xes) == 1) &&
xed_encoder_request__memop_compatible(xes,XED_OPERAND_WIDTH_WRD);
if (conditions_satisfied) {
// real_opcode [True, True] isa_set ['AVX512_FP16_SCALAR', 'AVX512_FP16_SCALAR']
okay=1;
xed_encoder_request_set_iform_index(xes,iform_ids[iclass_index][1]);
fb_ptrn_function = xed_encoder_get_fb_ptrn(xes);
(*fb_ptrn_function)(xes);
if (okay)
okay = xed_encode_nonterminal_MODRM_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_FIX_ROUND_LEN128_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_ESIZE_16_BITS_BIND(xes);
if (okay)
okay = xed_encode_nonterminal_NELEM_SCALAR_BIND(xes);
if (okay) return 1;
}
} // initial conditions
} // xed_enc_chip_check
return 0;
(void) okay;
(void) xes;
}