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.
9029 lines
381 KiB
9029 lines
381 KiB
/// @file include-private/xed3-phash-vv1.h
|
|
|
|
// This file was automatically generated.
|
|
// Do not edit this file.
|
|
|
|
#if !defined(INCLUDE_PRIVATE_XED3_PHASH_VV1_H)
|
|
# define INCLUDE_PRIVATE_XED3_PHASH_VV1_H
|
|
/*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 "xed3-operand-lu.h"
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x0_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x4_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xc_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xd_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xe_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x13_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x16_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x17_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x18_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x19_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x20_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x21_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x22_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x23_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x24_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x25_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x28_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x29_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x30_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x31_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x32_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x33_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x34_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x35_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x36_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x37_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x38_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x39_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x40_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x41_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x45_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x46_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x47_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x49_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x4b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x50_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x51_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x52_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x53_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x58_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x59_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x78_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x79_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x8c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x8e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x90_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x91_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x92_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x93_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x96_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x97_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x98_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x99_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xaa_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xab_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xac_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xad_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xae_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xaf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xba_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbc_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbd_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbe_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xcf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdc_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdd_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xde_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf3_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x0_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x1_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xa_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xc_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xd_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xe_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x14_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x15_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x16_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x17_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x18_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x19_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x1d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x20_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x21_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x22_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x30_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x31_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x32_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x33_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x38_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x39_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x40_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x41_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x42_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x44_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x46_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x48_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x49_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x60_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x61_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x62_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x63_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x68_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x69_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x78_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x79_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xce_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xcf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xdf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xf0_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x10_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x11_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x12_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x13_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x14_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x15_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x16_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x17_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x28_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x29_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x41_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x42_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x44_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x45_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x46_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x47_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x4a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x4b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x50_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x51_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x52_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x53_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x54_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x55_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x56_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x57_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x58_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x59_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x60_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x61_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x62_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x63_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x64_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x65_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x66_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x67_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x68_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x69_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6a_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6b_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x70_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x71_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x72_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x73_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x74_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x75_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x76_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x77_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7c_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7d_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7e_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7f_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x90_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x91_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x92_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x93_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x98_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x99_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xae_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc4_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd0_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd1_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd3_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd4_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xda_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdc_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdd_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xde_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdf_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe0_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe1_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe3_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe4_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xea_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xeb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xec_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xed_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xee_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xef_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf0_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf1_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf2_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf3_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf4_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf5_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf6_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf7_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf8_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf9_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfa_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfb_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfc_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfd_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfe_vv1(const xed_decoded_inst_t* d);
|
|
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x0_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x00 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3073},
|
|
/*h(2)=1 VV1 0x00 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3071},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x00 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3074},
|
|
/*h(3)=4 VV1 0x00 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3072}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x01 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3017},
|
|
/*h(2)=1 VV1 0x01 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3015},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x01 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3018},
|
|
/*h(3)=4 VV1 0x01 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3016}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x02 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3021},
|
|
/*h(2)=1 VV1 0x02 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3019},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x02 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3022},
|
|
/*h(3)=4 VV1 0x02 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3020}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x03 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3025},
|
|
/*h(2)=1 VV1 0x03 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3023},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x03 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3026},
|
|
/*h(3)=4 VV1 0x03 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3024}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x4_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x04 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3303},
|
|
/*h(2)=1 VV1 0x04 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3301},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x04 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3304},
|
|
/*h(3)=4 VV1 0x04 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3302}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x05 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3029},
|
|
/*h(2)=1 VV1 0x05 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3027},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x05 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3030},
|
|
/*h(3)=4 VV1 0x05 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3028}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x06 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3033},
|
|
/*h(2)=1 VV1 0x06 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3031},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x06 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3034},
|
|
/*h(3)=4 VV1 0x06 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3032}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x07 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3037},
|
|
/*h(2)=1 VV1 0x07 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3035},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x07 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3038},
|
|
/*h(3)=4 VV1 0x07 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3036}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x08 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3077},
|
|
/*h(2)=1 VV1 0x08 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3075},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x08 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3078},
|
|
/*h(3)=4 VV1 0x08 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3076}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x09 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3081},
|
|
/*h(2)=1 VV1 0x09 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3079},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x09 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3082},
|
|
/*h(3)=4 VV1 0x09 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3080}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x0A VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3085},
|
|
/*h(2)=1 VV1 0x0A VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3083},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x0A VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3086},
|
|
/*h(3)=4 VV1 0x0A VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3084}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x0B VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3045},
|
|
/*h(2)=1 VV1 0x0B VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3043},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x0B VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3046},
|
|
/*h(3)=4 VV1 0x0B VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3044}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xc_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x0C VL128 V66 V0F38 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2711},
|
|
/*h(20)=1 VV1 0x0C VL256 V66 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2712},
|
|
/*h(4)=2 VV1 0x0C VL128 V66 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2710},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x0C VL256 V66 V0F38 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2713}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xd_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x0D VL128 V66 V0F38 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2703},
|
|
/*h(20)=1 VV1 0x0D VL256 V66 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2704},
|
|
/*h(4)=2 VV1 0x0D VL128 V66 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2702},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x0D VL256 V66 V0F38 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2705}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xe_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x0E VL128 V66 V0F38 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2745},
|
|
/*h(93)=3 VV1 0x0E VL256 V66 V0F38 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 2748},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x0E VL256 V66 V0F38 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 2747},
|
|
/*h(29)=7 VV1 0x0E VL128 V66 V0F38 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2746}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x0F VL128 V66 V0F38 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2749},
|
|
/*h(93)=3 VV1 0x0F VL256 V66 V0F38 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 2752},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x0F VL256 V66 V0F38 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 2751},
|
|
/*h(29)=7 VV1 0x0F VL128 V66 V0F38 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2750}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x13_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x13 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() W0*/ {28, 3503},
|
|
/*h(93)=3 VV1 0x13 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] W0*/ {93, 3506},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x13 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() W0*/ {92, 3505},
|
|
/*h(29)=7 VV1 0x13 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] W0*/ {29, 3504}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x16_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x16 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3739},
|
|
/*h(21)=1 VV1 0x16 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3740}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 20;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x17_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x17 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2744},
|
|
/*h(15)=1 VV1 0x17 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2742},
|
|
/*h(46)=2 VV1 0x17 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2743},
|
|
/*h(14)=3 VV1 0x17 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2741},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x18_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x18 norexw_prefix VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2720},
|
|
/*h(93)=3 VV1 0x18 VL256 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 2723},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x18 norexw_prefix VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 2721},
|
|
/*h(29)=7 VV1 0x18 VL128 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2722}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x19_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(92)=0 VV1 0x19 norexw_prefix VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2724},
|
|
/*h(93)=1 VV1 0x19 VL256 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {2725}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 92;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[1] = {
|
|
/*h(92)=0 VV1 0x1A norexw_prefix VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2726}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 92;
|
|
if(hidx == 0) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x1C VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2856},
|
|
/*h(15)=1 VV1 0x1C V66 V0F38 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2854},
|
|
/*h(46)=2 VV1 0x1C VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2855},
|
|
/*h(14)=3 VV1 0x1C V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2853},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x1D VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2860},
|
|
/*h(15)=1 VV1 0x1D V66 V0F38 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2858},
|
|
/*h(46)=2 VV1 0x1D VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2859},
|
|
/*h(14)=3 VV1 0x1D V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2857},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x1e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x1E VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2864},
|
|
/*h(15)=1 VV1 0x1E V66 V0F38 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2862},
|
|
/*h(46)=2 VV1 0x1E VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2863},
|
|
/*h(14)=3 VV1 0x1E V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2861},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x20_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x20 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3369},
|
|
/*h(15)=1 VV1 0x20 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3367},
|
|
/*h(46)=2 VV1 0x20 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3370},
|
|
/*h(14)=3 VV1 0x20 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3368},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x21_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x21 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3373},
|
|
/*h(15)=1 VV1 0x21 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3371},
|
|
/*h(46)=2 VV1 0x21 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3374},
|
|
/*h(14)=3 VV1 0x21 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3372},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x22_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x22 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3377},
|
|
/*h(15)=1 VV1 0x22 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3375},
|
|
/*h(46)=2 VV1 0x22 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3378},
|
|
/*h(14)=3 VV1 0x22 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3376},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x23_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x23 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3381},
|
|
/*h(15)=1 VV1 0x23 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3379},
|
|
/*h(46)=2 VV1 0x23 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3382},
|
|
/*h(14)=3 VV1 0x23 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3380},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x24_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x24 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3385},
|
|
/*h(15)=1 VV1 0x24 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3383},
|
|
/*h(46)=2 VV1 0x24 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3386},
|
|
/*h(14)=3 VV1 0x24 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3384},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x25_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x25 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3389},
|
|
/*h(15)=1 VV1 0x25 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3387},
|
|
/*h(46)=2 VV1 0x25 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3390},
|
|
/*h(14)=3 VV1 0x25 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3388},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x28_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x28 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3065},
|
|
/*h(2)=1 VV1 0x28 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3063},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x28 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3066},
|
|
/*h(3)=4 VV1 0x28 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3064}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x29_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x29 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2997},
|
|
/*h(2)=1 VV1 0x29 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2995},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x29 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2998},
|
|
/*h(3)=4 VV1 0x29 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2996}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(46)=0 VV1 0x2A V66 V0F38 VL256 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3472},
|
|
/*h(14)=1 VV1 0x2A V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3471}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x2B V66 V0F38 VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2893},
|
|
/*h(2)=1 VV1 0x2B V66 V0F38 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2891},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x2B V66 V0F38 VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2894},
|
|
/*h(3)=4 VV1 0x2B V66 V0F38 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2892}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x2C V66 VL256 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2734},
|
|
/*h(4)=1 VV1 0x2C V66 VL128 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2733}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((4*key % 3) % 2);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x2D V66 VL256 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2738},
|
|
/*h(4)=1 VV1 0x2D V66 VL128 V0F38 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2737}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((4*key % 3) % 2);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x2E V66 V0F38 VL256 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2736},
|
|
/*h(4)=1 VV1 0x2E V66 V0F38 VL128 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2735}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((4*key % 3) % 2);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x2f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x2F V66 V0F38 VL256 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2740},
|
|
/*h(4)=1 VV1 0x2F V66 V0F38 VL128 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2739}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((4*key % 3) % 2);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x30_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x30 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3393},
|
|
/*h(15)=1 VV1 0x30 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3391},
|
|
/*h(46)=2 VV1 0x30 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3394},
|
|
/*h(14)=3 VV1 0x30 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3392},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x31_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x31 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3397},
|
|
/*h(15)=1 VV1 0x31 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3395},
|
|
/*h(46)=2 VV1 0x31 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3398},
|
|
/*h(14)=3 VV1 0x31 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3396},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x32_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x32 V66 V0F38 VL256 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3401},
|
|
/*h(15)=1 VV1 0x32 V66 V0F38 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3399},
|
|
/*h(46)=2 VV1 0x32 V66 V0F38 VL256 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3402},
|
|
/*h(14)=3 VV1 0x32 V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3400},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x33_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x33 V66 V0F38 VL256 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3405},
|
|
/*h(15)=1 VV1 0x33 V66 V0F38 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3403},
|
|
/*h(46)=2 VV1 0x33 V66 V0F38 VL256 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3406},
|
|
/*h(14)=3 VV1 0x33 V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3404},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x34_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x34 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3409},
|
|
/*h(15)=1 VV1 0x34 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3407},
|
|
/*h(46)=2 VV1 0x34 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3410},
|
|
/*h(14)=3 VV1 0x34 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3408},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x35_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x35 VL256 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3413},
|
|
/*h(15)=1 VV1 0x35 VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3411},
|
|
/*h(46)=2 VV1 0x35 VL256 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3414},
|
|
/*h(14)=3 VV1 0x35 VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3412},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x36_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x36 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {3737},
|
|
/*h(21)=1 VV1 0x36 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {3738}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 20;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x37_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x37 V66 V0F38 VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3013},
|
|
/*h(2)=1 VV1 0x37 V66 V0F38 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3011},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x37 V66 V0F38 VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3014},
|
|
/*h(3)=4 VV1 0x37 V66 V0F38 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3012}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x38_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x38 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3275},
|
|
/*h(2)=1 VV1 0x38 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3273},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x38 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3276},
|
|
/*h(3)=4 VV1 0x38 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3274}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x39_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x39 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3283},
|
|
/*h(2)=1 VV1 0x39 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3281},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x39 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3284},
|
|
/*h(3)=4 VV1 0x39 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3282}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x3A V66 V0F38 VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3291},
|
|
/*h(2)=1 VV1 0x3A V66 V0F38 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3289},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x3A V66 V0F38 VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3292},
|
|
/*h(3)=4 VV1 0x3A V66 V0F38 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3290}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x3B V66 V0F38 VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3295},
|
|
/*h(2)=1 VV1 0x3B V66 V0F38 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3293},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x3B V66 V0F38 VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3296},
|
|
/*h(3)=4 VV1 0x3B V66 V0F38 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3294}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x3C VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3251},
|
|
/*h(2)=1 VV1 0x3C VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3249},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x3C VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3252},
|
|
/*h(3)=4 VV1 0x3C VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3250}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x3D VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3259},
|
|
/*h(2)=1 VV1 0x3D VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3257},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x3D VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3260},
|
|
/*h(3)=4 VV1 0x3D VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3258}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x3E VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3267},
|
|
/*h(2)=1 VV1 0x3E VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3265},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x3E VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3268},
|
|
/*h(3)=4 VV1 0x3E VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3266}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x3f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x3F VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3271},
|
|
/*h(2)=1 VV1 0x3F VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3269},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x3F VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3272},
|
|
/*h(3)=4 VV1 0x3F VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3270}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x40_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x40 VL256 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3057},
|
|
/*h(2)=1 VV1 0x40 VL128 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3055},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x40 VL256 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3058},
|
|
/*h(3)=4 VV1 0x40 VL128 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3056}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x41_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0x41 V66 V0F38 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2865},
|
|
/*h(15)=1 VV1 0x41 V66 V0F38 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {2866}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x45_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x45 VL128 V0F38 V66 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3771},
|
|
/*h(23)=1 VV1 0x45 VL256 V0F38 V66 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3777},
|
|
/*h(7)=2 VV1 0x45 VL128 V0F38 V66 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3775},
|
|
/*h(20)=3 VV1 0x45 VL256 V0F38 V66 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3772},
|
|
/*h(4)=4 VV1 0x45 VL128 V0F38 V66 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3770},
|
|
/*h(22)=5 VV1 0x45 VL256 V0F38 V66 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3776},
|
|
/*h(6)=6 VV1 0x45 VL128 V0F38 V66 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3774},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x45 VL256 V0F38 V66 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3773}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x46_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x46 V0F38 V66 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0*/ {5, 3779},
|
|
/*h(20)=1 VV1 0x46 V0F38 V66 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {20, 3780},
|
|
/*h(4)=2 VV1 0x46 V0F38 V66 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0*/ {4, 3778},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x46 V0F38 V66 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3781}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x47_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x47 VL128 V0F38 V66 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3763},
|
|
/*h(23)=1 VV1 0x47 VL256 V0F38 V66 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3769},
|
|
/*h(7)=2 VV1 0x47 VL128 V0F38 V66 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3767},
|
|
/*h(20)=3 VV1 0x47 VL256 V0F38 V66 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3764},
|
|
/*h(4)=4 VV1 0x47 VL128 V0F38 V66 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3762},
|
|
/*h(22)=5 VV1 0x47 VL256 V0F38 V66 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3768},
|
|
/*h(6)=6 VV1 0x47 VL128 V0F38 V66 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3766},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x47 VL256 V0F38 V66 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3765}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x49_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[50] = {
|
|
/*h(3204)=0 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3204, 3957},
|
|
/*h(11317)=1 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11317, 3968},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(7428)=4 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7428, 3958},
|
|
/*h(3076)=5 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3076, 3957},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11277)=7 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11277, 3968},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11309)=10 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11309, 3968},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(7940)=12 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7940, 3958},
|
|
/*h(3588)=13 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3588, 3957},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3077)=15 VV1 0x49 VNP V0F38 MOD[0b11] MOD=3 REG[0b000] RM[0b000] VL128 W0 mode64 NOVSR*/ {3077, 3966},
|
|
/*h(11269)=16 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11269, 3968},
|
|
/*h(7812)=17 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7812, 3958},
|
|
/*h(3460)=18 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3460, 3957},
|
|
/*h(11301)=19 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11301, 3968},
|
|
/*h(7300)=20 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7300, 3958},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(7172)=25 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7172, 3958},
|
|
/*h(3972)=26 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3972, 3957},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11293)=28 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11293, 3968},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3844)=31 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3844, 3957},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(7684)=33 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7684, 3958},
|
|
/*h(3332)=34 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3332, 3957},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11285)=37 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11285, 3968},
|
|
/*h(7556)=38 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {7556, 3958},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11325)=42 VV1 0x49 VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[0b000] VL128 W0 mode64 NOVSR*/ {11325, 3968},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(8068)=46 VV1 0x49 V66 V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {8068, 3958},
|
|
/*h(3716)=47 VV1 0x49 VNP V0F38 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() VL128 W0 mode64 NOVSR*/ {3716, 3957},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REG_REXW_RM_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((10*key % 89) % 50);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x4b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[6] = {
|
|
/*h(500)=0 VV1 0x4B VF3 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() VL128 W0 mode64 NOVSR*/ {500, 3967},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(244)=4 VV1 0x4B V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() VL128 W0 mode64 NOVSR*/ {244, 3965},
|
|
/*h(372)=5 VV1 0x4B VF2 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[0b100] MODRM() VL128 W0 mode64 NOVSR*/ {372, 3964}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_RM4_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 6ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x50_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x50 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0*/ {5, 3941},
|
|
/*h(20)=1 VV1 0x50 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {20, 3944},
|
|
/*h(4)=2 VV1 0x50 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0*/ {4, 3942},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x50 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3943}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x51_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x51 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0*/ {5, 3945},
|
|
/*h(20)=1 VV1 0x51 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {20, 3948},
|
|
/*h(4)=2 VV1 0x51 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0*/ {4, 3946},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x51 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3947}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x52_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x52 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0*/ {5, 3949},
|
|
/*h(20)=1 VV1 0x52 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {20, 3952},
|
|
/*h(4)=2 VV1 0x52 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0*/ {4, 3950},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x52 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3951}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x53_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x53 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0*/ {5, 3953},
|
|
/*h(20)=1 VV1 0x53 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {20, 3956},
|
|
/*h(4)=2 VV1 0x53 V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0*/ {4, 3954},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x53 V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3955}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x58_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x58 VL128 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3753},
|
|
/*h(93)=3 VV1 0x58 VL256 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3756},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x58 VL256 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3755},
|
|
/*h(29)=7 VV1 0x58 VL128 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3754}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x59_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x59 VL128 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3757},
|
|
/*h(93)=3 VV1 0x59 VL256 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3760},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x59 VL256 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3759},
|
|
/*h(29)=7 VV1 0x59 VL128 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3758}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[1] = {
|
|
/*h(92)=0 VV1 0x5A VL256 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3761}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 92;
|
|
if(hidx == 0) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[1] = {
|
|
/*h(53)=0 VV1 0x5C VF3 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64*/ {3959}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 53;
|
|
if(hidx == 0) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x5e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(5)=0 VV1 0x5E VNP V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64*/ {5, 3963},
|
|
/*h(21)=1 VV1 0x5E V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64*/ {21, 3962},
|
|
/*h(37)=2 VV1 0x5E VF2 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64*/ {37, 3960},
|
|
/*h(53)=3 VV1 0x5E VF3 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64*/ {53, 3961}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((6*key % 5) % 4);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x78_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x78 VL128 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3745},
|
|
/*h(93)=3 VV1 0x78 VL256 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3748},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x78 VL256 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3747},
|
|
/*h(29)=7 VV1 0x78 VL128 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3746}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x79_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x79 VL128 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3749},
|
|
/*h(93)=3 VV1 0x79 VL256 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3752},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x79 VL256 V66 V0F38 W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3751},
|
|
/*h(29)=7 VV1 0x79 VL128 V66 V0F38 W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3750}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x8c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(20)=2 VV1 0x8C VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3724},
|
|
/*h(4)=3 VV1 0x8C VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3723},
|
|
/*h(22)=4 VV1 0x8C VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3728},
|
|
/*h(6)=5 VV1 0x8C VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3727},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x8e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(20)=2 VV1 0x8E VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3726},
|
|
/*h(4)=3 VV1 0x8E VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3725},
|
|
/*h(22)=4 VV1 0x8E VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3730},
|
|
/*h(6)=5 VV1 0x8E VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3729},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x90_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[15] = {
|
|
/*h(178)=0 VV1 0x90 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {178, 3713},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=6 VV1 0x90 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {59, 3712},
|
|
/*h(51)=7 VV1 0x90 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {51, 3714},
|
|
/*h(187)=8 VV1 0x90 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {187, 3711},
|
|
/*h(179)=9 VV1 0x90 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {179, 3713},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(58)=12 VV1 0x90 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {58, 3712},
|
|
/*h(50)=13 VV1 0x90 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {50, 3714},
|
|
/*h(186)=14 VV1 0x90 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {186, 3711}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_ASZ_NONTERM_EASZ_MOD3_REXW_RM4_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 15ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x91_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[15] = {
|
|
/*h(178)=0 VV1 0x91 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {178, 3717},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=6 VV1 0x91 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {59, 3716},
|
|
/*h(51)=7 VV1 0x91 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {51, 3718},
|
|
/*h(187)=8 VV1 0x91 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {187, 3715},
|
|
/*h(179)=9 VV1 0x91 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {179, 3717},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(58)=12 VV1 0x91 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {58, 3716},
|
|
/*h(50)=13 VV1 0x91 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {50, 3718},
|
|
/*h(186)=14 VV1 0x91 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {186, 3715}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_ASZ_NONTERM_EASZ_MOD3_REXW_RM4_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 15ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x92_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[15] = {
|
|
/*h(178)=0 VV1 0x92 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {178, 3705},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=6 VV1 0x92 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {59, 3704},
|
|
/*h(51)=7 VV1 0x92 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {51, 3706},
|
|
/*h(187)=8 VV1 0x92 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {187, 3703},
|
|
/*h(179)=9 VV1 0x92 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {179, 3705},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(58)=12 VV1 0x92 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {58, 3704},
|
|
/*h(50)=13 VV1 0x92 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {50, 3706},
|
|
/*h(186)=14 VV1 0x92 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {186, 3703}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_ASZ_NONTERM_EASZ_MOD3_REXW_RM4_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 15ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x93_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[15] = {
|
|
/*h(178)=0 VV1 0x93 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {178, 3709},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=6 VV1 0x93 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {59, 3708},
|
|
/*h(51)=7 VV1 0x93 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {51, 3710},
|
|
/*h(187)=8 VV1 0x93 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {187, 3707},
|
|
/*h(179)=9 VV1 0x93 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {179, 3709},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(58)=12 VV1 0x93 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {58, 3708},
|
|
/*h(50)=13 VV1 0x93 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_XMM() eanot16*/ {50, 3710},
|
|
/*h(186)=14 VV1 0x93 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] RM=4 VMODRM_YMM() eanot16*/ {186, 3707}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_ASZ_NONTERM_EASZ_MOD3_REXW_RM4_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 15ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x96_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x96 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3560},
|
|
/*h(23)=1 VV1 0x96 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3550},
|
|
/*h(7)=2 VV1 0x96 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3548},
|
|
/*h(20)=3 VV1 0x96 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3561},
|
|
/*h(4)=4 VV1 0x96 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3559},
|
|
/*h(22)=5 VV1 0x96 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3549},
|
|
/*h(6)=6 VV1 0x96 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3547},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x96 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3562}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x97_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x97 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3584},
|
|
/*h(23)=1 VV1 0x97 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3574},
|
|
/*h(7)=2 VV1 0x97 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3572},
|
|
/*h(20)=3 VV1 0x97 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3585},
|
|
/*h(4)=4 VV1 0x97 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3583},
|
|
/*h(22)=5 VV1 0x97 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3573},
|
|
/*h(6)=6 VV1 0x97 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3571},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x97 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3586}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x98_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x98 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3516},
|
|
/*h(23)=1 VV1 0x98 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3514},
|
|
/*h(7)=2 VV1 0x98 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3512},
|
|
/*h(20)=3 VV1 0x98 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3517},
|
|
/*h(4)=4 VV1 0x98 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3515},
|
|
/*h(22)=5 VV1 0x98 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3513},
|
|
/*h(6)=6 VV1 0x98 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3511},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x98 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3518}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x99_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x99 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3521},
|
|
/*h(5)=1 VV1 0x99 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3522},
|
|
/*h(6)=2 VV1 0x99 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3519},
|
|
/*h(7)=3 VV1 0x99 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3520}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x9A VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3600},
|
|
/*h(23)=1 VV1 0x9A VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3598},
|
|
/*h(7)=2 VV1 0x9A VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3596},
|
|
/*h(20)=3 VV1 0x9A VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3601},
|
|
/*h(4)=4 VV1 0x9A VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3599},
|
|
/*h(22)=5 VV1 0x9A VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3597},
|
|
/*h(6)=6 VV1 0x9A VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3595},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x9A VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3602}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x9B V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3605},
|
|
/*h(5)=1 VV1 0x9B V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3606},
|
|
/*h(6)=2 VV1 0x9B V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3603},
|
|
/*h(7)=3 VV1 0x9B V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3604}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x9C VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3636},
|
|
/*h(23)=1 VV1 0x9C VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3634},
|
|
/*h(7)=2 VV1 0x9C VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3632},
|
|
/*h(20)=3 VV1 0x9C VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3637},
|
|
/*h(4)=4 VV1 0x9C VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3635},
|
|
/*h(22)=5 VV1 0x9C VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3633},
|
|
/*h(6)=6 VV1 0x9C VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3631},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x9C VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3638}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x9D V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3641},
|
|
/*h(5)=1 VV1 0x9D V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3642},
|
|
/*h(6)=2 VV1 0x9D V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3639},
|
|
/*h(7)=3 VV1 0x9D V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3640}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x9E VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3672},
|
|
/*h(23)=1 VV1 0x9E VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3670},
|
|
/*h(7)=2 VV1 0x9E VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3668},
|
|
/*h(20)=3 VV1 0x9E VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3673},
|
|
/*h(4)=4 VV1 0x9E VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3671},
|
|
/*h(22)=5 VV1 0x9E VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3669},
|
|
/*h(6)=6 VV1 0x9E VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3667},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x9E VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3674}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0x9f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x9F V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3677},
|
|
/*h(5)=1 VV1 0x9F V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3678},
|
|
/*h(6)=2 VV1 0x9F V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3675},
|
|
/*h(7)=3 VV1 0x9F V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3676}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xA6 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3564},
|
|
/*h(23)=1 VV1 0xA6 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3554},
|
|
/*h(7)=2 VV1 0xA6 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3552},
|
|
/*h(20)=3 VV1 0xA6 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3565},
|
|
/*h(4)=4 VV1 0xA6 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3563},
|
|
/*h(22)=5 VV1 0xA6 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3553},
|
|
/*h(6)=6 VV1 0xA6 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3551},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xA6 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3566}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xA7 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3588},
|
|
/*h(23)=1 VV1 0xA7 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3578},
|
|
/*h(7)=2 VV1 0xA7 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3576},
|
|
/*h(20)=3 VV1 0xA7 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3589},
|
|
/*h(4)=4 VV1 0xA7 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3587},
|
|
/*h(22)=5 VV1 0xA7 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3577},
|
|
/*h(6)=6 VV1 0xA7 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3575},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xA7 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3590}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xA8 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3528},
|
|
/*h(23)=1 VV1 0xA8 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3526},
|
|
/*h(7)=2 VV1 0xA8 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3524},
|
|
/*h(20)=3 VV1 0xA8 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3529},
|
|
/*h(4)=4 VV1 0xA8 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3527},
|
|
/*h(22)=5 VV1 0xA8 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3525},
|
|
/*h(6)=6 VV1 0xA8 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3523},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xA8 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3530}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xa9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xA9 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3533},
|
|
/*h(5)=1 VV1 0xA9 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3534},
|
|
/*h(6)=2 VV1 0xA9 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3531},
|
|
/*h(7)=3 VV1 0xA9 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3532}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xaa_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xAA VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3612},
|
|
/*h(23)=1 VV1 0xAA VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3610},
|
|
/*h(7)=2 VV1 0xAA VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3608},
|
|
/*h(20)=3 VV1 0xAA VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3613},
|
|
/*h(4)=4 VV1 0xAA VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3611},
|
|
/*h(22)=5 VV1 0xAA VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3609},
|
|
/*h(6)=6 VV1 0xAA VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3607},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xAA VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3614}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xab_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xAB V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3617},
|
|
/*h(5)=1 VV1 0xAB V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3618},
|
|
/*h(6)=2 VV1 0xAB V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3615},
|
|
/*h(7)=3 VV1 0xAB V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3616}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xac_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xAC VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3648},
|
|
/*h(23)=1 VV1 0xAC VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3646},
|
|
/*h(7)=2 VV1 0xAC VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3644},
|
|
/*h(20)=3 VV1 0xAC VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3649},
|
|
/*h(4)=4 VV1 0xAC VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3647},
|
|
/*h(22)=5 VV1 0xAC VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3645},
|
|
/*h(6)=6 VV1 0xAC VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3643},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xAC VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3650}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xad_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xAD V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3653},
|
|
/*h(5)=1 VV1 0xAD V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3654},
|
|
/*h(6)=2 VV1 0xAD V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3651},
|
|
/*h(7)=3 VV1 0xAD V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3652}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xae_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xAE VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3684},
|
|
/*h(23)=1 VV1 0xAE VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3682},
|
|
/*h(7)=2 VV1 0xAE VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3680},
|
|
/*h(20)=3 VV1 0xAE VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3685},
|
|
/*h(4)=4 VV1 0xAE VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3683},
|
|
/*h(22)=5 VV1 0xAE VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3681},
|
|
/*h(6)=6 VV1 0xAE VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3679},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xAE VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3686}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xaf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xAF V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3689},
|
|
/*h(5)=1 VV1 0xAF V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3690},
|
|
/*h(6)=2 VV1 0xAF V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3687},
|
|
/*h(7)=3 VV1 0xAF V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3688}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xB6 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3568},
|
|
/*h(23)=1 VV1 0xB6 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3558},
|
|
/*h(7)=2 VV1 0xB6 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3556},
|
|
/*h(20)=3 VV1 0xB6 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3569},
|
|
/*h(4)=4 VV1 0xB6 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3567},
|
|
/*h(22)=5 VV1 0xB6 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3557},
|
|
/*h(6)=6 VV1 0xB6 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3555},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xB6 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3570}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xB7 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3592},
|
|
/*h(23)=1 VV1 0xB7 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3582},
|
|
/*h(7)=2 VV1 0xB7 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3580},
|
|
/*h(20)=3 VV1 0xB7 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3593},
|
|
/*h(4)=4 VV1 0xB7 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3591},
|
|
/*h(22)=5 VV1 0xB7 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3581},
|
|
/*h(6)=6 VV1 0xB7 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3579},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xB7 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3594}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xB8 VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3540},
|
|
/*h(23)=1 VV1 0xB8 VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3538},
|
|
/*h(7)=2 VV1 0xB8 VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3536},
|
|
/*h(20)=3 VV1 0xB8 VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3541},
|
|
/*h(4)=4 VV1 0xB8 VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3539},
|
|
/*h(22)=5 VV1 0xB8 VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3537},
|
|
/*h(6)=6 VV1 0xB8 VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3535},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xB8 VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3542}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xb9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xB9 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3545},
|
|
/*h(5)=1 VV1 0xB9 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3546},
|
|
/*h(6)=2 VV1 0xB9 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3543},
|
|
/*h(7)=3 VV1 0xB9 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3544}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xba_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xBA VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3624},
|
|
/*h(23)=1 VV1 0xBA VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3622},
|
|
/*h(7)=2 VV1 0xBA VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3620},
|
|
/*h(20)=3 VV1 0xBA VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3625},
|
|
/*h(4)=4 VV1 0xBA VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3623},
|
|
/*h(22)=5 VV1 0xBA VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3621},
|
|
/*h(6)=6 VV1 0xBA VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3619},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xBA VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3626}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xBB V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3629},
|
|
/*h(5)=1 VV1 0xBB V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3630},
|
|
/*h(6)=2 VV1 0xBB V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3627},
|
|
/*h(7)=3 VV1 0xBB V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3628}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbc_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xBC VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3660},
|
|
/*h(23)=1 VV1 0xBC VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3658},
|
|
/*h(7)=2 VV1 0xBC VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3656},
|
|
/*h(20)=3 VV1 0xBC VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3661},
|
|
/*h(4)=4 VV1 0xBC VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3659},
|
|
/*h(22)=5 VV1 0xBC VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3657},
|
|
/*h(6)=6 VV1 0xBC VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3655},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xBC VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3662}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbd_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xBD V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3665},
|
|
/*h(5)=1 VV1 0xBD V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3666},
|
|
/*h(6)=2 VV1 0xBD V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3663},
|
|
/*h(7)=3 VV1 0xBD V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3664}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbe_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0xBE VL128 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3696},
|
|
/*h(23)=1 VV1 0xBE VL256 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3694},
|
|
/*h(7)=2 VV1 0xBE VL128 V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3692},
|
|
/*h(20)=3 VV1 0xBE VL256 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3697},
|
|
/*h(4)=4 VV1 0xBE VL128 V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3695},
|
|
/*h(22)=5 VV1 0xBE VL256 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3693},
|
|
/*h(6)=6 VV1 0xBE VL128 V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3691},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0xBE VL256 V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3698}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xbf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0xBF V66 V0F38 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3701},
|
|
/*h(5)=1 VV1 0xBF V66 V0F38 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3702},
|
|
/*h(6)=2 VV1 0xBF V66 V0F38 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3699},
|
|
/*h(7)=3 VV1 0xBF V66 V0F38 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3700}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xcf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0xCF V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0*/ {5, 3937},
|
|
/*h(20)=1 VV1 0xCF V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W0*/ {20, 3940},
|
|
/*h(4)=2 VV1 0xCF V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0*/ {4, 3938},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0xCF V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3939}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0xDB VL128 V66 V0F38 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {3498},
|
|
/*h(15)=1 VV1 0xDB VL128 V66 V0F38 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3497}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdc_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDC V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256*/ {10, 3484},
|
|
/*h(2)=1 VV1 0xDC V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128*/ {2, 3482},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDC V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256*/ {11, 3483},
|
|
/*h(3)=4 VV1 0xDC V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128*/ {3, 3481}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdd_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDD V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256*/ {10, 3488},
|
|
/*h(2)=1 VV1 0xDD V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128*/ {2, 3486},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDD V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256*/ {11, 3487},
|
|
/*h(3)=4 VV1 0xDD V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128*/ {3, 3485}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xde_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDE V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256*/ {10, 3492},
|
|
/*h(2)=1 VV1 0xDE V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128*/ {2, 3490},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDE V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256*/ {11, 3491},
|
|
/*h(3)=4 VV1 0xDE V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128*/ {3, 3489}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xdf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDF V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256*/ {10, 3496},
|
|
/*h(2)=1 VV1 0xDF V66 V0F38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128*/ {2, 3494},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDF V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256*/ {11, 3495},
|
|
/*h(3)=4 VV1 0xDF V66 V0F38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128*/ {3, 3493}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[12] = {
|
|
/*h(0)=0 VV1 0xF2 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3794},
|
|
/*h(8)=1 VV1 0xF2 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3794},
|
|
/*h(5)=2 VV1 0xF2 V0F38 VNP W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3797},
|
|
/*h(13)=3 VV1 0xF2 V0F38 VNP W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 3799},
|
|
/*h(4)=4 VV1 0xF2 V0F38 VNP W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3795},
|
|
/*h(12)=5 VV1 0xF2 V0F38 VNP W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3798},
|
|
/*h(3)=6 VV1 0xF2 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3796},
|
|
/*h(11)=7 VV1 0xF2 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3796},
|
|
/*h(2)=8 VV1 0xF2 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3794},
|
|
/*h(10)=9 VV1 0xF2 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3794},
|
|
/*h(1)=10 VV1 0xF2 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3796},
|
|
/*h(9)=11 VV1 0xF2 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3796}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((10*key % 67) % 12);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf3_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[72] = {
|
|
/*h(89)=0 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b011] RM[nnn]*/ {89, 3814},
|
|
/*h(18)=1 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {18, 3806},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(72)=4 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()*/ {72, 3800},
|
|
/*h(90)=5 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {90, 3812},
|
|
/*h(19)=6 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b010] RM[nnn]*/ {19, 3808},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(16)=8 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {16, 3806},
|
|
/*h(73)=9 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b001] RM[nnn]*/ {73, 3802},
|
|
/*h(91)=10 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b011] RM[nnn]*/ {91, 3814},
|
|
/*h(20)=11 VV1 0xF3 V0F38 VNP W0 mode64 VL128 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {20, 3807},
|
|
/*h(88)=12 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {88, 3812},
|
|
/*h(17)=13 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b010] RM[nnn]*/ {17, 3808},
|
|
/*h(74)=14 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()*/ {74, 3800},
|
|
/*h(92)=15 VV1 0xF3 V0F38 VNP W1 VL128 mode64 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {92, 3816},
|
|
/*h(21)=16 VV1 0xF3 V0F38 VNP W0 mode64 VL128 MOD[0b11] MOD=3 REG[0b010] RM[nnn]*/ {21, 3809},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(75)=19 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b001] RM[nnn]*/ {75, 3802},
|
|
/*h(93)=20 VV1 0xF3 V0F38 VNP W1 VL128 mode64 MOD[0b11] MOD=3 REG[0b011] RM[nnn]*/ {93, 3817},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(76)=24 VV1 0xF3 V0F38 VNP W1 VL128 mode64 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()*/ {76, 3804},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(77)=29 VV1 0xF3 V0F38 VNP W1 VL128 mode64 MOD[0b11] MOD=3 REG[0b001] RM[nnn]*/ {77, 3805},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(24)=31 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {24, 3812},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(25)=36 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b011] RM[nnn]*/ {25, 3814},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(8)=40 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()*/ {8, 3800},
|
|
/*h(26)=41 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {26, 3812},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(80)=44 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {80, 3806},
|
|
/*h(9)=45 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b001] RM[nnn]*/ {9, 3802},
|
|
/*h(27)=46 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b011] RM[nnn]*/ {27, 3814},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(81)=49 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b010] RM[nnn]*/ {81, 3808},
|
|
/*h(10)=50 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()*/ {10, 3800},
|
|
/*h(28)=51 VV1 0xF3 V0F38 VNP W0 mode64 VL128 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {28, 3813},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(82)=54 VV1 0xF3 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {82, 3806},
|
|
/*h(11)=55 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b001] RM[nnn]*/ {11, 3802},
|
|
/*h(29)=56 VV1 0xF3 V0F38 VNP W0 mode64 VL128 MOD[0b11] MOD=3 REG[0b011] RM[nnn]*/ {29, 3815},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(83)=59 VV1 0xF3 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[0b010] RM[nnn]*/ {83, 3808},
|
|
/*h(12)=60 VV1 0xF3 V0F38 VNP W0 mode64 VL128 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()*/ {12, 3801},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(84)=64 VV1 0xF3 V0F38 VNP W1 VL128 mode64 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {84, 3810},
|
|
/*h(13)=65 VV1 0xF3 V0F38 VNP W0 mode64 VL128 MOD[0b11] MOD=3 REG[0b001] RM[nnn]*/ {13, 3803},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(85)=69 VV1 0xF3 V0F38 VNP W1 VL128 mode64 MOD[0b11] MOD=3 REG[0b010] RM[nnn]*/ {85, 3811},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REG_REXW_VEX_PREFIX_VL(d);
|
|
hidx = ((5*key % 89) % 72);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[67] = {
|
|
/*h(0)=0 VV1 0xF5 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3818},
|
|
/*h(45)=1 VV1 0xF5 V0F38 VF2 W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {45, 3787},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(1)=3 VV1 0xF5 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3820},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(2)=6 VV1 0xF5 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3818},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=9 VV1 0xF5 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3820},
|
|
/*h(48)=10 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {48, 3788},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=12 VV1 0xF5 V0F38 VNP W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3819},
|
|
/*h(49)=13 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 3790},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=15 VV1 0xF5 V0F38 VNP W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3821},
|
|
/*h(50)=16 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {50, 3788},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=19 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 3790},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(52)=22 VV1 0xF5 V0F38 VF3 W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {52, 3789},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(8)=24 VV1 0xF5 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3818},
|
|
/*h(53)=25 VV1 0xF5 V0F38 VF3 W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 3791},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=27 VV1 0xF5 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3820},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(32)=29 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {32, 3782},
|
|
/*h(10)=30 VV1 0xF5 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3818},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(33)=32 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {33, 3784},
|
|
/*h(11)=33 VV1 0xF5 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3820},
|
|
/*h(56)=34 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 3788},
|
|
/*h(34)=35 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {34, 3782},
|
|
/*h(12)=36 VV1 0xF5 V0F38 VNP W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3822},
|
|
/*h(57)=37 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3790},
|
|
/*h(35)=38 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {35, 3784},
|
|
/*h(13)=39 VV1 0xF5 V0F38 VNP W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 3823},
|
|
/*h(58)=40 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 3788},
|
|
/*h(36)=41 VV1 0xF5 V0F38 VF2 W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {36, 3783},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=43 VV1 0xF5 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3790},
|
|
/*h(37)=44 VV1 0xF5 V0F38 VF2 W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {37, 3785},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(60)=46 VV1 0xF5 V0F38 VF3 W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 3792},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(61)=49 VV1 0xF5 V0F38 VF3 W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3793},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(40)=53 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {40, 3782},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(41)=56 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {41, 3784},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(42)=59 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {42, 3782},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(43)=62 VV1 0xF5 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {43, 3784},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(44)=65 VV1 0xF5 V0F38 VF2 W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {44, 3786},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (3*key % 67);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[18] = {
|
|
/*h(34)=0 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {34, 3850},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(44)=3 VV1 0xF6 VF2 V0F38 W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {44, 3853},
|
|
/*h(36)=4 VV1 0xF6 VF2 V0F38 W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {36, 3851},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(41)=6 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {41, 3848},
|
|
/*h(33)=7 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {33, 3848},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(43)=10 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {43, 3848},
|
|
/*h(35)=11 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {35, 3848},
|
|
/*h(40)=12 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {40, 3850},
|
|
/*h(32)=13 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {32, 3850},
|
|
/*h(45)=14 VV1 0xF6 VF2 V0F38 W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {45, 3852},
|
|
/*h(37)=15 VV1 0xF6 VF2 V0F38 W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {37, 3849},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(42)=17 VV1 0xF6 VF2 V0F38 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {42, 3850}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 18ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map2_opcode0xf7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[67] = {
|
|
/*h(0)=0 VV1 0xF7 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3824},
|
|
/*h(45)=1 VV1 0xF7 V0F38 VF2 W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {45, 3847},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(1)=3 VV1 0xF7 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3826},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(24)=5 VV1 0xF7 V0F38 V66 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {24, 3830},
|
|
/*h(2)=6 VV1 0xF7 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3824},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(25)=8 VV1 0xF7 V0F38 V66 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 3832},
|
|
/*h(3)=9 VV1 0xF7 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3826},
|
|
/*h(48)=10 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {48, 3836},
|
|
/*h(26)=11 VV1 0xF7 V0F38 V66 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {26, 3830},
|
|
/*h(4)=12 VV1 0xF7 V0F38 VNP W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3825},
|
|
/*h(49)=13 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 3838},
|
|
/*h(27)=14 VV1 0xF7 V0F38 V66 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 3832},
|
|
/*h(5)=15 VV1 0xF7 V0F38 VNP W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3827},
|
|
/*h(50)=16 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {50, 3836},
|
|
/*h(28)=17 VV1 0xF7 V0F38 V66 W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3834},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=19 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 3838},
|
|
/*h(29)=20 VV1 0xF7 V0F38 V66 W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3835},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(52)=22 VV1 0xF7 V0F38 VF3 W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {52, 3837},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(8)=24 VV1 0xF7 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3824},
|
|
/*h(53)=25 VV1 0xF7 V0F38 VF3 W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 3839},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=27 VV1 0xF7 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3826},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(32)=29 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {32, 3842},
|
|
/*h(10)=30 VV1 0xF7 V0F38 VNP not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3824},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(33)=32 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {33, 3844},
|
|
/*h(11)=33 VV1 0xF7 V0F38 VNP not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3826},
|
|
/*h(56)=34 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 3836},
|
|
/*h(34)=35 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {34, 3842},
|
|
/*h(12)=36 VV1 0xF7 V0F38 VNP W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3828},
|
|
/*h(57)=37 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3838},
|
|
/*h(35)=38 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {35, 3844},
|
|
/*h(13)=39 VV1 0xF7 V0F38 VNP W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 3829},
|
|
/*h(58)=40 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 3836},
|
|
/*h(36)=41 VV1 0xF7 V0F38 VF2 W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {36, 3843},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=43 VV1 0xF7 V0F38 VF3 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3838},
|
|
/*h(37)=44 VV1 0xF7 V0F38 VF2 W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {37, 3845},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(60)=46 VV1 0xF7 V0F38 VF3 W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 3840},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(16)=48 VV1 0xF7 V0F38 V66 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {16, 3830},
|
|
/*h(61)=49 VV1 0xF7 V0F38 VF3 W1 VL128 mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3841},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(17)=51 VV1 0xF7 V0F38 V66 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {17, 3832},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(40)=53 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {40, 3842},
|
|
/*h(18)=54 VV1 0xF7 V0F38 V66 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {18, 3830},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(41)=56 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {41, 3844},
|
|
/*h(19)=57 VV1 0xF7 V0F38 V66 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {19, 3832},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(42)=59 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {42, 3842},
|
|
/*h(20)=60 VV1 0xF7 V0F38 V66 W0 mode64 VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3831},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(43)=62 VV1 0xF7 V0F38 VF2 not64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {43, 3844},
|
|
/*h(21)=63 VV1 0xF7 V0F38 V66 W0 mode64 VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3833},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(44)=65 VV1 0xF7 V0F38 VF2 W1 VL128 mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {44, 3846},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (3*key % 67);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x0_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(94)=0 VV1 0x00 VL256 V0F3A V66 W1 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3733},
|
|
/*h(95)=1 VV1 0x00 VL256 V0F3A V66 W1 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3734}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 94;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x1_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(94)=0 VV1 0x01 VL256 V0F3A V66 W1 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3735},
|
|
/*h(95)=1 VV1 0x01 VL256 V0F3A V66 W1 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3736}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 94;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x02 VL128 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {5, 3742},
|
|
/*h(20)=1 VV1 0x02 VL256 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {20, 3743},
|
|
/*h(4)=2 VV1 0x02 VL128 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {4, 3741},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x02 VL256 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {21, 3744}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x04 VL128 V66 V0F3A norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {28, 2714},
|
|
/*h(93)=3 VV1 0x04 VL256 V66 V0F3A norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {93, 2717},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x04 VL256 V66 V0F3A norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {92, 2716},
|
|
/*h(29)=7 VV1 0x04 VL128 V66 V0F3A norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {29, 2715}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x05 VL128 V66 V0F3A norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {28, 2706},
|
|
/*h(93)=3 VV1 0x05 VL256 V66 V0F3A norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {93, 2709},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x05 VL256 V66 V0F3A norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {92, 2708},
|
|
/*h(29)=7 VV1 0x05 VL128 V66 V0F3A norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {29, 2707}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x06 VL256 V66 V0F3A norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2718},
|
|
/*h(21)=1 VV1 0x06 VL256 V66 V0F3A norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {2719}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 20;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x08 VL256 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {47, 3172},
|
|
/*h(15)=1 VV1 0x08 VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {15, 3170},
|
|
/*h(46)=2 VV1 0x08 VL256 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {46, 3171},
|
|
/*h(14)=3 VV1 0x08 VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {14, 3169},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(47)=0 VV1 0x09 VL256 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {47, 3168},
|
|
/*h(15)=1 VV1 0x09 VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {15, 3166},
|
|
/*h(46)=2 VV1 0x09 VL256 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {46, 3167},
|
|
/*h(14)=3 VV1 0x09 VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {14, 3165},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xa_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(2)=0 VV1 0x0A V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3175},
|
|
/*h(3)=1 VV1 0x0A V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3176}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX(d);
|
|
hidx = key - 2;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(2)=0 VV1 0x0B V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3173},
|
|
/*h(3)=1 VV1 0x0B V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3174}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX(d);
|
|
hidx = key - 2;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xc_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x0C VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 2572},
|
|
/*h(2)=1 VV1 0x0C VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 2570},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x0C VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 2573},
|
|
/*h(3)=4 VV1 0x0C VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 2571}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xd_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x0D VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 2568},
|
|
/*h(2)=1 VV1 0x0D VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 2566},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x0D VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 2569},
|
|
/*h(3)=4 VV1 0x0D VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 2567}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xe_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x0E VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 3163},
|
|
/*h(2)=1 VV1 0x0E VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 3161},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x0E VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 3164},
|
|
/*h(3)=4 VV1 0x0E VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 3162}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x0F VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 3159},
|
|
/*h(2)=1 VV1 0x0F VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 3157},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x0F VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 3160},
|
|
/*h(3)=4 VV1 0x0F VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 3158}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x14_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0x14 VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3415},
|
|
/*h(15)=1 VV1 0x14 VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3416}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x15_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0x15 VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3417},
|
|
/*h(15)=1 VV1 0x15 VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3418}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x16_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(123)=0 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {123, 3425},
|
|
/*h(115)=1 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {115, 3425},
|
|
/*h(120)=2 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {120, 3424},
|
|
/*h(112)=3 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {112, 3424},
|
|
/*h(125)=4 VV1 0x16 VL128 V66 V0F3A mode64 rexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {125, 3421},
|
|
/*h(117)=5 VV1 0x16 VL128 V66 V0F3A mode64 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {117, 3423},
|
|
/*h(122)=6 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {122, 3424},
|
|
/*h(114)=7 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {114, 3424},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=10 VV1 0x16 VL128 V66 V0F3A mode64 rexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {124, 3420},
|
|
/*h(116)=11 VV1 0x16 VL128 V66 V0F3A mode64 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {116, 3422},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=13 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {121, 3425},
|
|
/*h(113)=14 VV1 0x16 VL128 V66 V0F3A not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {113, 3425},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x17_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0x17 VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2682},
|
|
/*h(15)=1 VV1 0x17 VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {2683}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x18_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x18 norexw_prefix VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2727},
|
|
/*h(21)=1 VV1 0x18 norexw_prefix VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {2728}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 20;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x19_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(92)=0 VV1 0x19 norexw_prefix VL256 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2674},
|
|
/*h(93)=1 VV1 0x19 norexw_prefix VL256 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {2675}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 92;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x1d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x1D VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() W0*/ {28, 3507},
|
|
/*h(93)=3 VV1 0x1D VL256 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() W0*/ {93, 3510},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=6 VV1 0x1D VL256 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() W0*/ {92, 3509},
|
|
/*h(29)=7 VV1 0x1D VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() W0*/ {29, 3508}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x20_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(2)=0 VV1 0x20 VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3426},
|
|
/*h(3)=1 VV1 0x20 VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3427}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = key - 2;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x21_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(2)=0 VV1 0x21 VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2729},
|
|
/*h(3)=1 VV1 0x21 VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {2730}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = key - 2;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x22_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[18] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(26)=1 VV1 0x22 VL128 V66 V0F3A not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {26, 3432},
|
|
/*h(18)=2 VV1 0x22 VL128 V66 V0F3A not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {18, 3432},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=5 VV1 0x22 VL128 V66 V0F3A mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {28, 3434},
|
|
/*h(20)=6 VV1 0x22 VL128 V66 V0F3A mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {20, 3430},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(25)=8 VV1 0x22 VL128 V66 V0F3A not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {25, 3433},
|
|
/*h(17)=9 VV1 0x22 VL128 V66 V0F3A not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {17, 3433},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(27)=12 VV1 0x22 VL128 V66 V0F3A not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {27, 3433},
|
|
/*h(19)=13 VV1 0x22 VL128 V66 V0F3A not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {19, 3433},
|
|
/*h(24)=14 VV1 0x22 VL128 V66 V0F3A not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {24, 3432},
|
|
/*h(16)=15 VV1 0x22 VL128 V66 V0F3A not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {16, 3432},
|
|
/*h(29)=16 VV1 0x22 VL128 V66 V0F3A mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {29, 3435},
|
|
/*h(21)=17 VV1 0x22 VL128 V66 V0F3A mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {21, 3431}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 18ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x30_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(31)=0 VV1 0x30 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR UIMM8()*/ {31, 3871},
|
|
/*h(29)=1 VV1 0x30 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR UIMM8()*/ {29, 3914}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x31_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(31)=0 VV1 0x31 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR UIMM8()*/ {31, 3916},
|
|
/*h(29)=1 VV1 0x31 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR UIMM8()*/ {29, 3915}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x32_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(31)=0 VV1 0x32 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR UIMM8()*/ {31, 3870},
|
|
/*h(29)=1 VV1 0x32 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR UIMM8()*/ {29, 3911}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x33_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(31)=0 VV1 0x33 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR UIMM8()*/ {31, 3913},
|
|
/*h(29)=1 VV1 0x33 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR UIMM8()*/ {29, 3912}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x38_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x38 VL256 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3719},
|
|
/*h(21)=1 VV1 0x38 VL256 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3720}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 20;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x39_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(92)=0 VV1 0x39 VL256 V66 V0F3A W0 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3721},
|
|
/*h(93)=1 VV1 0x39 VL256 V66 V0F3A W0 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3722}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 92;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x40_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x40 VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 2680},
|
|
/*h(2)=1 VV1 0x40 VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 2678},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x40 VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 2681},
|
|
/*h(3)=4 VV1 0x40 VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 2679}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x41_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(2)=0 VV1 0x41 VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2676},
|
|
/*h(3)=1 VV1 0x41 VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {2677}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = key - 2;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x42_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x42 VL256 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 3307},
|
|
/*h(2)=1 VV1 0x42 VL128 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 3305},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x42 VL256 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 3308},
|
|
/*h(3)=4 VV1 0x42 VL128 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 3306}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x44_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x44 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 UIMM8()*/ {10, 3502},
|
|
/*h(2)=1 VV1 0x44 V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 UIMM8()*/ {2, 3500},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x44 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 UIMM8()*/ {11, 3501},
|
|
/*h(3)=4 VV1 0x44 V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 UIMM8()*/ {3, 3499}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x46_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(20)=0 VV1 0x46 VL256 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3731},
|
|
/*h(21)=1 VV1 0x46 VL256 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3732}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = key - 20;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x48_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x48 VL128 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2515},
|
|
/*h(23)=1 VV1 0x48 VL256 V66 V0F3A W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2521},
|
|
/*h(7)=2 VV1 0x48 VL128 V66 V0F3A W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2519},
|
|
/*h(20)=3 VV1 0x48 VL256 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2516},
|
|
/*h(4)=4 VV1 0x48 VL128 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2514},
|
|
/*h(22)=5 VV1 0x48 VL256 V66 V0F3A W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2520},
|
|
/*h(6)=6 VV1 0x48 VL128 V66 V0F3A W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2518},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x48 VL256 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2517}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x49_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x49 VL128 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2523},
|
|
/*h(23)=1 VV1 0x49 VL256 V66 V0F3A W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2529},
|
|
/*h(7)=2 VV1 0x49 VL128 V66 V0F3A W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2527},
|
|
/*h(20)=3 VV1 0x49 VL256 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2524},
|
|
/*h(4)=4 VV1 0x49 VL128 V66 V0F3A W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2522},
|
|
/*h(22)=5 VV1 0x49 VL256 V66 V0F3A W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2528},
|
|
/*h(6)=6 VV1 0x49 VL128 V66 V0F3A W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2526},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x49 VL256 V66 V0F3A W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2525}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x4A V66 V0F3A VL128 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 3468},
|
|
/*h(20)=1 VV1 0x4A V66 V0F3A VL256 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 3469},
|
|
/*h(4)=2 VV1 0x4A V66 V0F3A VL128 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 3467},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x4A V66 V0F3A VL256 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 3470}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x4B V66 V0F3A VL128 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 3464},
|
|
/*h(20)=1 VV1 0x4B V66 V0F3A VL256 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 3465},
|
|
/*h(4)=2 VV1 0x4B V66 V0F3A VL128 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 3463},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x4B V66 V0F3A VL256 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 3466}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x4c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(5)=0 VV1 0x4C VL128 V66 V0F3A norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 3460},
|
|
/*h(20)=1 VV1 0x4C VL256 V66 V0F3A norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 3461},
|
|
/*h(4)=2 VV1 0x4C VL128 V66 V0F3A norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 3459},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=4 VV1 0x4C VL256 V66 V0F3A norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 3462}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x5C V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2387},
|
|
/*h(23)=1 VV1 0x5C V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2393},
|
|
/*h(7)=2 VV1 0x5C V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2389},
|
|
/*h(20)=3 VV1 0x5C V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2390},
|
|
/*h(4)=4 VV1 0x5C V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2386},
|
|
/*h(22)=5 VV1 0x5C V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2392},
|
|
/*h(6)=6 VV1 0x5C V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2388},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x5C V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2391}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x5D V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2395},
|
|
/*h(23)=1 VV1 0x5D V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2401},
|
|
/*h(7)=2 VV1 0x5D V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2397},
|
|
/*h(20)=3 VV1 0x5D V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2398},
|
|
/*h(4)=4 VV1 0x5D V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2394},
|
|
/*h(22)=5 VV1 0x5D V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2400},
|
|
/*h(6)=6 VV1 0x5D V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2396},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x5D V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2399}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x5E V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2403},
|
|
/*h(23)=1 VV1 0x5E V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2409},
|
|
/*h(7)=2 VV1 0x5E V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2405},
|
|
/*h(20)=3 VV1 0x5E V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2406},
|
|
/*h(4)=4 VV1 0x5E V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2402},
|
|
/*h(22)=5 VV1 0x5E V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2408},
|
|
/*h(6)=6 VV1 0x5E V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2404},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x5E V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2407}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x5f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x5F V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2411},
|
|
/*h(23)=1 VV1 0x5F V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2417},
|
|
/*h(7)=2 VV1 0x5F V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2413},
|
|
/*h(20)=3 VV1 0x5F V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2414},
|
|
/*h(4)=4 VV1 0x5F V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2410},
|
|
/*h(22)=5 VV1 0x5F V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2416},
|
|
/*h(6)=6 VV1 0x5F V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2412},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x5F V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2415}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x60_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(123)=0 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {123, 3449},
|
|
/*h(115)=1 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {115, 3449},
|
|
/*h(120)=2 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {120, 3448},
|
|
/*h(112)=3 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {112, 3448},
|
|
/*h(125)=4 VV1 0x60 VL128 V66 V0F3A NOVSR mode64 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {125, 3453},
|
|
/*h(117)=5 VV1 0x60 VL128 V66 V0F3A NOVSR mode64 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {117, 3451},
|
|
/*h(122)=6 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {122, 3448},
|
|
/*h(114)=7 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {114, 3448},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=10 VV1 0x60 VL128 V66 V0F3A NOVSR mode64 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {124, 3452},
|
|
/*h(116)=11 VV1 0x60 VL128 V66 V0F3A NOVSR mode64 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {116, 3450},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=13 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {121, 3449},
|
|
/*h(113)=14 VV1 0x60 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {113, 3449},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x61_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(123)=0 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {123, 3437},
|
|
/*h(115)=1 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {115, 3437},
|
|
/*h(120)=2 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {120, 3436},
|
|
/*h(112)=3 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {112, 3436},
|
|
/*h(125)=4 VV1 0x61 VL128 V66 V0F3A NOVSR mode64 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {125, 3441},
|
|
/*h(117)=5 VV1 0x61 VL128 V66 V0F3A NOVSR mode64 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {117, 3439},
|
|
/*h(122)=6 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {122, 3436},
|
|
/*h(114)=7 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {114, 3436},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=10 VV1 0x61 VL128 V66 V0F3A NOVSR mode64 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {124, 3440},
|
|
/*h(116)=11 VV1 0x61 VL128 V66 V0F3A NOVSR mode64 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {116, 3438},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=13 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {121, 3437},
|
|
/*h(113)=14 VV1 0x61 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {113, 3437},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x62_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0x62 VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3454},
|
|
/*h(15)=1 VV1 0x62 VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3455}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x63_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(123)=0 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {123, 3443},
|
|
/*h(115)=1 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {115, 3443},
|
|
/*h(120)=2 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {120, 3442},
|
|
/*h(112)=3 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {112, 3442},
|
|
/*h(125)=4 VV1 0x63 VL128 V66 V0F3A NOVSR mode64 W1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {125, 3447},
|
|
/*h(117)=5 VV1 0x63 VL128 V66 V0F3A NOVSR mode64 W0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {117, 3445},
|
|
/*h(122)=6 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {122, 3442},
|
|
/*h(114)=7 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {114, 3442},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=10 VV1 0x63 VL128 V66 V0F3A NOVSR mode64 W1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {124, 3446},
|
|
/*h(116)=11 VV1 0x63 VL128 V66 V0F3A NOVSR mode64 W0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {116, 3444},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=13 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {121, 3443},
|
|
/*h(113)=14 VV1 0x63 VL128 V66 V0F3A NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {113, 3443},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x68_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x68 V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2419},
|
|
/*h(23)=1 VV1 0x68 V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2425},
|
|
/*h(7)=2 VV1 0x68 V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2421},
|
|
/*h(20)=3 VV1 0x68 V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2422},
|
|
/*h(4)=4 VV1 0x68 V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2418},
|
|
/*h(22)=5 VV1 0x68 V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2424},
|
|
/*h(6)=6 VV1 0x68 V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2420},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x68 V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2423}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x69_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x69 V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2427},
|
|
/*h(23)=1 VV1 0x69 V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2433},
|
|
/*h(7)=2 VV1 0x69 V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2429},
|
|
/*h(20)=3 VV1 0x69 V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2430},
|
|
/*h(4)=4 VV1 0x69 V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2426},
|
|
/*h(22)=5 VV1 0x69 V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2432},
|
|
/*h(6)=6 VV1 0x69 V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2428},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x69 V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2431}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x6A V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2434},
|
|
/*h(5)=1 VV1 0x6A V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2435},
|
|
/*h(6)=2 VV1 0x6A V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2436},
|
|
/*h(7)=3 VV1 0x6A V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2437}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x6B V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2438},
|
|
/*h(5)=1 VV1 0x6B V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2439},
|
|
/*h(6)=2 VV1 0x6B V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2440},
|
|
/*h(7)=3 VV1 0x6B V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2441}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x6C V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2443},
|
|
/*h(23)=1 VV1 0x6C V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2449},
|
|
/*h(7)=2 VV1 0x6C V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2445},
|
|
/*h(20)=3 VV1 0x6C V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2446},
|
|
/*h(4)=4 VV1 0x6C V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2442},
|
|
/*h(22)=5 VV1 0x6C V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2448},
|
|
/*h(6)=6 VV1 0x6C V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2444},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x6C V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2447}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x6D V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2451},
|
|
/*h(23)=1 VV1 0x6D V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2457},
|
|
/*h(7)=2 VV1 0x6D V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2453},
|
|
/*h(20)=3 VV1 0x6D V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2454},
|
|
/*h(4)=4 VV1 0x6D V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2450},
|
|
/*h(22)=5 VV1 0x6D V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2456},
|
|
/*h(6)=6 VV1 0x6D V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2452},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x6D V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2455}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x6E V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2458},
|
|
/*h(5)=1 VV1 0x6E V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2459},
|
|
/*h(6)=2 VV1 0x6E V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2460},
|
|
/*h(7)=3 VV1 0x6E V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2461}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x6f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x6F V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2462},
|
|
/*h(5)=1 VV1 0x6F V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2463},
|
|
/*h(6)=2 VV1 0x6F V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2464},
|
|
/*h(7)=3 VV1 0x6F V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2465}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x78_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x78 V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2467},
|
|
/*h(23)=1 VV1 0x78 V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2473},
|
|
/*h(7)=2 VV1 0x78 V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2469},
|
|
/*h(20)=3 VV1 0x78 V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2470},
|
|
/*h(4)=4 VV1 0x78 V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2466},
|
|
/*h(22)=5 VV1 0x78 V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2472},
|
|
/*h(6)=6 VV1 0x78 V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2468},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x78 V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2471}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x79_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x79 V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2475},
|
|
/*h(23)=1 VV1 0x79 V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2481},
|
|
/*h(7)=2 VV1 0x79 V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2477},
|
|
/*h(20)=3 VV1 0x79 V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2478},
|
|
/*h(4)=4 VV1 0x79 V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2474},
|
|
/*h(22)=5 VV1 0x79 V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2480},
|
|
/*h(6)=6 VV1 0x79 V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2476},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x79 V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2479}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x7A V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2482},
|
|
/*h(5)=1 VV1 0x7A V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2483},
|
|
/*h(6)=2 VV1 0x7A V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2484},
|
|
/*h(7)=3 VV1 0x7A V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2485}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x7B V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2486},
|
|
/*h(5)=1 VV1 0x7B V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2487},
|
|
/*h(6)=2 VV1 0x7B V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2488},
|
|
/*h(7)=3 VV1 0x7B V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2489}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x7C V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2491},
|
|
/*h(23)=1 VV1 0x7C V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2497},
|
|
/*h(7)=2 VV1 0x7C V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2493},
|
|
/*h(20)=3 VV1 0x7C V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2494},
|
|
/*h(4)=4 VV1 0x7C V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2490},
|
|
/*h(22)=5 VV1 0x7C V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2496},
|
|
/*h(6)=6 VV1 0x7C V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2492},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x7C V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2495}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[9] = {
|
|
/*h(5)=0 VV1 0x7D V66 W0 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {5, 2499},
|
|
/*h(23)=1 VV1 0x7D V66 W1 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {23, 2505},
|
|
/*h(7)=2 VV1 0x7D V66 W1 VL128 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {7, 2501},
|
|
/*h(20)=3 VV1 0x7D V66 W0 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {20, 2502},
|
|
/*h(4)=4 VV1 0x7D V66 W0 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {4, 2498},
|
|
/*h(22)=5 VV1 0x7D V66 W1 VL256 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {22, 2504},
|
|
/*h(6)=6 VV1 0x7D V66 W1 VL128 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {6, 2500},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=8 VV1 0x7D V66 W0 VL256 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {21, 2503}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 9ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x7E V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2506},
|
|
/*h(5)=1 VV1 0x7E V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2507},
|
|
/*h(6)=2 VV1 0x7E V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2508},
|
|
/*h(7)=3 VV1 0x7E V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2509}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0x7f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(4)=0 VV1 0x7F V66 W0 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2510},
|
|
/*h(5)=1 VV1 0x7F V66 W0 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2511},
|
|
/*h(6)=2 VV1 0x7F V66 W1 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SE_IMM8()*/ {2512},
|
|
/*h(7)=3 VV1 0x7F V66 W1 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] SE_IMM8()*/ {2513}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX(d);
|
|
hidx = key - 4;
|
|
if(hidx <= 3) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xce_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0xCE V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1 UIMM8()*/ {23, 3935},
|
|
/*h(7)=2 VV1 0xCE V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 UIMM8()*/ {7, 3933},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(22)=4 VV1 0xCE V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W1 UIMM8()*/ {22, 3936},
|
|
/*h(6)=5 VV1 0xCE V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W1 UIMM8()*/ {6, 3934},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xcf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0xCF V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1 UIMM8()*/ {23, 3931},
|
|
/*h(7)=2 VV1 0xCF V66 V0F3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 UIMM8()*/ {7, 3929},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(22)=4 VV1 0xCF V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL256 W1 UIMM8()*/ {22, 3932},
|
|
/*h(6)=5 VV1 0xCF V66 V0F3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W1 UIMM8()*/ {6, 3930},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xdf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0xDF VL128 V66 V0F3A NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3480},
|
|
/*h(15)=1 VV1 0xDF VL128 V66 V0F3A NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3479}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map3_opcode0xf0_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[18] = {
|
|
/*h(178)=0 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {178, 3856},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(188)=3 VV1 0xF0 VF2 V0F3A W1 VL128 NOVSR mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {188, 3859},
|
|
/*h(180)=4 VV1 0xF0 VF2 V0F3A W0 mode64 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {180, 3857},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(185)=6 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {185, 3854},
|
|
/*h(177)=7 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {177, 3854},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(187)=10 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {187, 3854},
|
|
/*h(179)=11 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {179, 3854},
|
|
/*h(184)=12 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {184, 3856},
|
|
/*h(176)=13 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {176, 3856},
|
|
/*h(189)=14 VV1 0xF0 VF2 V0F3A W1 VL128 NOVSR mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {189, 3858},
|
|
/*h(181)=15 VV1 0xF0 VF2 V0F3A W0 mode64 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {181, 3855},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(186)=17 VV1 0xF0 VF2 V0F3A not64 VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {186, 3856}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 18ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x10_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[96] = {
|
|
/*h(125)=0 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 3330},
|
|
/*h(93)=1 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3330},
|
|
/*h(61)=2 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3330},
|
|
/*h(29)=3 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3330},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(118)=5 VV1 0x10 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {118, 3333},
|
|
/*h(86)=6 VV1 0x10 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {86, 3333},
|
|
/*h(54)=7 VV1 0x10 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {54, 3333},
|
|
/*h(22)=8 VV1 0x10 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {22, 3333},
|
|
/*h(115)=9 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {115, 3334},
|
|
/*h(83)=10 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {83, 3334},
|
|
/*h(51)=11 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 3334},
|
|
/*h(19)=12 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {19, 3334},
|
|
/*h(126)=13 VV1 0x10 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {126, 3329},
|
|
/*h(94)=14 VV1 0x10 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {94, 3329},
|
|
/*h(62)=15 VV1 0x10 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {62, 3329},
|
|
/*h(30)=16 VV1 0x10 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {30, 3329},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(119)=18 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {119, 3334},
|
|
/*h(87)=19 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {87, 3334},
|
|
/*h(55)=20 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {55, 3334},
|
|
/*h(23)=21 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3334},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(127)=26 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {127, 3330},
|
|
/*h(95)=27 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {95, 3330},
|
|
/*h(63)=28 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 3330},
|
|
/*h(31)=29 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3330},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(117)=35 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {117, 3334},
|
|
/*h(85)=36 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {85, 3334},
|
|
/*h(53)=37 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 3334},
|
|
/*h(21)=38 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3334},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(46)=42 VV1 0x10 V66 VL256 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3341},
|
|
/*h(14)=43 VV1 0x10 V66 VL128 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3337},
|
|
/*h(121)=44 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 3330},
|
|
/*h(89)=45 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {89, 3330},
|
|
/*h(57)=46 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3330},
|
|
/*h(25)=47 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 3330},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(47)=55 VV1 0x10 V66 VL256 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3342},
|
|
/*h(15)=56 VV1 0x10 V66 VL128 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3338},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(123)=70 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 3330},
|
|
/*h(91)=71 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {91, 3330},
|
|
/*h(59)=72 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3330},
|
|
/*h(27)=73 VV1 0x10 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 3330},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(38)=77 VV1 0x10 VNP VL256 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 3349},
|
|
/*h(6)=78 VV1 0x10 VNP VL128 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3345},
|
|
/*h(113)=79 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {113, 3334},
|
|
/*h(81)=80 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {81, 3334},
|
|
/*h(49)=81 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 3334},
|
|
/*h(17)=82 VV1 0x10 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {17, 3334},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(39)=90 VV1 0x10 VNP VL256 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 3350},
|
|
/*h(7)=91 VV1 0x10 VNP VL128 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3346},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((13*key % 139) % 96);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x11_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[96] = {
|
|
/*h(125)=0 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 3332},
|
|
/*h(93)=1 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3332},
|
|
/*h(61)=2 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3332},
|
|
/*h(29)=3 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3332},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(118)=5 VV1 0x11 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {118, 3335},
|
|
/*h(86)=6 VV1 0x11 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {86, 3335},
|
|
/*h(54)=7 VV1 0x11 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {54, 3335},
|
|
/*h(22)=8 VV1 0x11 VF2 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {22, 3335},
|
|
/*h(115)=9 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {115, 3336},
|
|
/*h(83)=10 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {83, 3336},
|
|
/*h(51)=11 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 3336},
|
|
/*h(19)=12 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {19, 3336},
|
|
/*h(126)=13 VV1 0x11 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {126, 3331},
|
|
/*h(94)=14 VV1 0x11 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {94, 3331},
|
|
/*h(62)=15 VV1 0x11 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {62, 3331},
|
|
/*h(30)=16 VV1 0x11 VF3 V0F MOD[mm] MOD!=3 NOVSR REG[rrr] RM[nnn] MODRM()*/ {30, 3331},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(119)=18 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {119, 3336},
|
|
/*h(87)=19 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {87, 3336},
|
|
/*h(55)=20 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {55, 3336},
|
|
/*h(23)=21 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3336},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(127)=26 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {127, 3332},
|
|
/*h(95)=27 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {95, 3332},
|
|
/*h(63)=28 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 3332},
|
|
/*h(31)=29 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3332},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(117)=35 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {117, 3336},
|
|
/*h(85)=36 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {85, 3336},
|
|
/*h(53)=37 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 3336},
|
|
/*h(21)=38 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3336},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(46)=42 VV1 0x11 V66 VL256 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3343},
|
|
/*h(14)=43 VV1 0x11 V66 VL128 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3339},
|
|
/*h(121)=44 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 3332},
|
|
/*h(89)=45 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {89, 3332},
|
|
/*h(57)=46 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3332},
|
|
/*h(25)=47 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 3332},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(47)=55 VV1 0x11 V66 VL256 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3344},
|
|
/*h(15)=56 VV1 0x11 V66 VL128 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3340},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(123)=70 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 3332},
|
|
/*h(91)=71 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {91, 3332},
|
|
/*h(59)=72 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3332},
|
|
/*h(27)=73 VV1 0x11 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 3332},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(38)=77 VV1 0x11 VNP VL256 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 3351},
|
|
/*h(6)=78 VV1 0x11 VNP VL128 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3347},
|
|
/*h(113)=79 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {113, 3336},
|
|
/*h(81)=80 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {81, 3336},
|
|
/*h(49)=81 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 3336},
|
|
/*h(17)=82 VV1 0x11 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {17, 3336},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(39)=90 VV1 0x11 VNP VL256 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 3352},
|
|
/*h(7)=91 VV1 0x11 VNP VL128 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3348},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((13*key % 139) % 96);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x12_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x12 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3355},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x12 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3156},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x12 VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2834},
|
|
/*h(10)=6 VV1 0x12 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3353},
|
|
/*h(23)=7 VV1 0x12 VL128 VF2 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2810},
|
|
/*h(2)=8 VV1 0x12 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3355},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(62)=10 VV1 0x12 VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2835},
|
|
/*h(7)=11 VV1 0x12 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3156},
|
|
/*h(54)=12 VV1 0x12 VL256 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {54, 2811},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x12 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3353},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x12 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3355},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x12 VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2833},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(22)=20 VV1 0x12 VL128 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2809},
|
|
/*h(1)=21 VV1 0x12 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3156},
|
|
/*h(14)=22 VV1 0x12 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3353},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x12 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3355},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x12 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3156},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=31 VV1 0x12 VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2836},
|
|
/*h(8)=32 VV1 0x12 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3353},
|
|
/*h(55)=33 VV1 0x12 VL256 VF2 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {55, 2812}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x13_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[3] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=1 VV1 0x13 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3354},
|
|
/*h(6)=2 VV1 0x13 VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3356}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 3ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x14_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0x14 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3317},
|
|
/*h(10)=1 VV1 0x14 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3315},
|
|
/*h(2)=2 VV1 0x14 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3313},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0x14 VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3320},
|
|
/*h(1)=6 VV1 0x14 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3318},
|
|
/*h(11)=7 VV1 0x14 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3316},
|
|
/*h(3)=8 VV1 0x14 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3314},
|
|
/*h(8)=9 VV1 0x14 VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3319}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x15_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0x15 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3213},
|
|
/*h(10)=1 VV1 0x15 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3211},
|
|
/*h(2)=2 VV1 0x15 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3209},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0x15 VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3216},
|
|
/*h(1)=6 VV1 0x15 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3214},
|
|
/*h(11)=7 VV1 0x15 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3212},
|
|
/*h(3)=8 VV1 0x15 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3210},
|
|
/*h(8)=9 VV1 0x15 VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3215}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x16_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[32] = {
|
|
/*h(0)=0 VV1 0x16 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3359},
|
|
/*h(3)=1 VV1 0x16 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3155},
|
|
/*h(30)=2 VV1 0x16 VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2829},
|
|
/*h(7)=3 VV1 0x16 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3155},
|
|
/*h(10)=4 VV1 0x16 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3357},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=6 VV1 0x16 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3357},
|
|
/*h(4)=7 VV1 0x16 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3359},
|
|
/*h(31)=8 VV1 0x16 VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2830},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(1)=11 VV1 0x16 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3155},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(8)=14 VV1 0x16 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3357},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(62)=16 VV1 0x16 VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2831},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=18 VV1 0x16 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3155},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=21 VV1 0x16 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3357},
|
|
/*h(2)=22 VV1 0x16 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3359},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=27 VV1 0x16 VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2832},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=29 VV1 0x16 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3359},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((11*key % 37) % 32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x17_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[3] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=1 VV1 0x17 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3358},
|
|
/*h(6)=2 VV1 0x17 VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3360}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 3ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x28_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[13] = {
|
|
/*h(47)=0 VV1 0x28 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2782},
|
|
/*h(39)=1 VV1 0x28 VL256 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 2790},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(15)=3 VV1 0x28 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2778},
|
|
/*h(7)=4 VV1 0x28 VL128 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2786},
|
|
/*h(46)=5 VV1 0x28 VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2781},
|
|
/*h(38)=6 VV1 0x28 VL256 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 2789},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=8 VV1 0x28 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2777},
|
|
/*h(6)=9 VV1 0x28 VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2785},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 13ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x29_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[13] = {
|
|
/*h(47)=0 VV1 0x29 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2784},
|
|
/*h(39)=1 VV1 0x29 VL256 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 2792},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(15)=3 VV1 0x29 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2780},
|
|
/*h(7)=4 VV1 0x29 VL128 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2788},
|
|
/*h(46)=5 VV1 0x29 VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2783},
|
|
/*h(38)=6 VV1 0x29 VL256 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 2791},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=8 VV1 0x29 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2779},
|
|
/*h(6)=9 VV1 0x29 VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2787},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 13ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(34)=0 VV1 0x2A VF2 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {34, 2648},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(60)=2 VV1 0x2A VF3 V0F mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 2658},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(52)=4 VV1 0x2A VF3 V0F mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {52, 2656},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(44)=6 VV1 0x2A VF2 V0F mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {44, 2652},
|
|
/*h(57)=7 VV1 0x2A VF3 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 2655},
|
|
/*h(36)=8 VV1 0x2A VF2 V0F mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {36, 2650},
|
|
/*h(49)=9 VV1 0x2A VF3 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 2655},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(41)=11 VV1 0x2A VF2 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {41, 2649},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(33)=13 VV1 0x2A VF2 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {33, 2649},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=15 VV1 0x2A VF3 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 2655},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=17 VV1 0x2A VF3 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 2655},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(43)=19 VV1 0x2A VF2 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {43, 2649},
|
|
/*h(56)=20 VV1 0x2A VF3 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 2654},
|
|
/*h(35)=21 VV1 0x2A VF2 V0F not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {35, 2649},
|
|
/*h(48)=22 VV1 0x2A VF3 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {48, 2654},
|
|
/*h(61)=23 VV1 0x2A VF3 V0F mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 2659},
|
|
/*h(40)=24 VV1 0x2A VF2 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {40, 2648},
|
|
/*h(53)=25 VV1 0x2A VF3 V0F mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 2657},
|
|
/*h(32)=26 VV1 0x2A VF2 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {32, 2648},
|
|
/*h(45)=27 VV1 0x2A VF2 V0F mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {45, 2653},
|
|
/*h(58)=28 VV1 0x2A VF3 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 2654},
|
|
/*h(37)=29 VV1 0x2A VF2 V0F mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {37, 2651},
|
|
/*h(50)=30 VV1 0x2A VF3 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {50, 2654},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(42)=32 VV1 0x2A VF2 V0F not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {42, 2648},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEX_PREFIX(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(14)=0 VV1 0x2B V66 V0F VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3475},
|
|
/*h(38)=1 VV1 0x2B VNP V0F VL256 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 3478},
|
|
/*h(46)=2 VV1 0x2B V66 V0F VL256 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3476},
|
|
/*h(6)=3 VV1 0x2B VNP V0F VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3477}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((4*key % 7) % 4);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[24] = {
|
|
/*h(178)=0 VV1 0x2C VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {178, 2628},
|
|
/*h(189)=1 VV1 0x2C VF2 V0F NOVSR mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {189, 2633},
|
|
/*h(243)=2 VV1 0x2C VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {243, 2641},
|
|
/*h(248)=3 VV1 0x2C VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {248, 2640},
|
|
/*h(179)=4 VV1 0x2C VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {179, 2629},
|
|
/*h(184)=5 VV1 0x2C VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {184, 2628},
|
|
/*h(244)=6 VV1 0x2C VF3 V0F NOVSR mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {244, 2642},
|
|
/*h(249)=7 VV1 0x2C VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {249, 2641},
|
|
/*h(180)=8 VV1 0x2C VF2 V0F NOVSR mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {180, 2630},
|
|
/*h(185)=9 VV1 0x2C VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {185, 2629},
|
|
/*h(245)=10 VV1 0x2C VF3 V0F NOVSR mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {245, 2643},
|
|
/*h(250)=11 VV1 0x2C VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {250, 2640},
|
|
/*h(181)=12 VV1 0x2C VF2 V0F NOVSR mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {181, 2631},
|
|
/*h(186)=13 VV1 0x2C VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {186, 2628},
|
|
/*h(240)=14 VV1 0x2C VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {240, 2640},
|
|
/*h(251)=15 VV1 0x2C VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {251, 2641},
|
|
/*h(176)=16 VV1 0x2C VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {176, 2628},
|
|
/*h(187)=17 VV1 0x2C VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {187, 2629},
|
|
/*h(241)=18 VV1 0x2C VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {241, 2641},
|
|
/*h(252)=19 VV1 0x2C VF3 V0F NOVSR mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {252, 2644},
|
|
/*h(177)=20 VV1 0x2C VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {177, 2629},
|
|
/*h(188)=21 VV1 0x2C VF2 V0F NOVSR mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {188, 2632},
|
|
/*h(242)=22 VV1 0x2C VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {242, 2640},
|
|
/*h(253)=23 VV1 0x2C VF3 V0F NOVSR mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {253, 2645}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX(d);
|
|
hidx = ((4*key % 43) % 24);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[24] = {
|
|
/*h(178)=0 VV1 0x2D VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {178, 2622},
|
|
/*h(189)=1 VV1 0x2D VF2 V0F NOVSR mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {189, 2627},
|
|
/*h(243)=2 VV1 0x2D VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {243, 2635},
|
|
/*h(248)=3 VV1 0x2D VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {248, 2634},
|
|
/*h(179)=4 VV1 0x2D VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {179, 2623},
|
|
/*h(184)=5 VV1 0x2D VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {184, 2622},
|
|
/*h(244)=6 VV1 0x2D VF3 V0F NOVSR mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {244, 2636},
|
|
/*h(249)=7 VV1 0x2D VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {249, 2635},
|
|
/*h(180)=8 VV1 0x2D VF2 V0F NOVSR mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {180, 2624},
|
|
/*h(185)=9 VV1 0x2D VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {185, 2623},
|
|
/*h(245)=10 VV1 0x2D VF3 V0F NOVSR mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {245, 2637},
|
|
/*h(250)=11 VV1 0x2D VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {250, 2634},
|
|
/*h(181)=12 VV1 0x2D VF2 V0F NOVSR mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {181, 2625},
|
|
/*h(186)=13 VV1 0x2D VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {186, 2622},
|
|
/*h(240)=14 VV1 0x2D VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {240, 2634},
|
|
/*h(251)=15 VV1 0x2D VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {251, 2635},
|
|
/*h(176)=16 VV1 0x2D VF2 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {176, 2622},
|
|
/*h(187)=17 VV1 0x2D VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {187, 2623},
|
|
/*h(241)=18 VV1 0x2D VF3 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {241, 2635},
|
|
/*h(252)=19 VV1 0x2D VF3 V0F NOVSR mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {252, 2638},
|
|
/*h(177)=20 VV1 0x2D VF2 V0F NOVSR not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {177, 2623},
|
|
/*h(188)=21 VV1 0x2D VF2 V0F NOVSR mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {188, 2626},
|
|
/*h(242)=22 VV1 0x2D VF3 V0F NOVSR not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {242, 2634},
|
|
/*h(253)=23 VV1 0x2D VF3 V0F NOVSR mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {253, 2639}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX(d);
|
|
hidx = ((4*key % 43) % 24);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(15)=0 VV1 0x2E V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3310},
|
|
/*h(7)=1 VV1 0x2E VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3312},
|
|
/*h(14)=2 VV1 0x2E V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3309},
|
|
/*h(6)=3 VV1 0x2E VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3311}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX(d);
|
|
hidx = ((3*key % 5) % 4);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x2f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(15)=0 VV1 0x2F V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2587},
|
|
/*h(7)=1 VV1 0x2F VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2589},
|
|
/*h(14)=2 VV1 0x2F V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2586},
|
|
/*h(6)=3 VV1 0x2F VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2588}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX(d);
|
|
hidx = ((3*key % 5) % 4);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x41_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0x41 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {23, 3880},
|
|
/*h(17)=2 VV1 0x41 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3861},
|
|
/*h(19)=3 VV1 0x41 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3884},
|
|
/*h(21)=4 VV1 0x41 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3879}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x42_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0x42 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {23, 3882},
|
|
/*h(17)=2 VV1 0x42 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3860},
|
|
/*h(19)=3 VV1 0x42 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3883},
|
|
/*h(21)=4 VV1 0x42 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3881}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x44_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*h(13)=0 VV1 0x44 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {13, 3867},
|
|
/*h(31)=1 VV1 0x44 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {31, 3903},
|
|
/*h(15)=2 VV1 0x44 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {15, 3904},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=7 VV1 0x44 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {29, 3902}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x45_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0x45 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {23, 3906},
|
|
/*h(17)=2 VV1 0x45 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3869},
|
|
/*h(19)=3 VV1 0x45 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3907},
|
|
/*h(21)=4 VV1 0x45 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3905}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x46_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0x46 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {23, 3924},
|
|
/*h(17)=2 VV1 0x46 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3873},
|
|
/*h(19)=3 VV1 0x46 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3925},
|
|
/*h(21)=4 VV1 0x46 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3923}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x47_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0x47 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {23, 3927},
|
|
/*h(17)=2 VV1 0x47 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3874},
|
|
/*h(19)=3 VV1 0x47 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3928},
|
|
/*h(21)=4 VV1 0x47 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3926}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x4a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=1 VV1 0x4A V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {23, 3876},
|
|
/*h(17)=2 VV1 0x4A VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3878},
|
|
/*h(19)=3 VV1 0x4A VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3877},
|
|
/*h(21)=4 VV1 0x4A V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3875}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x4b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(17)=2 VV1 0x4B VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {17, 3922},
|
|
/*h(19)=3 VV1 0x4B VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W1*/ {19, 3921},
|
|
/*h(21)=4 VV1 0x4B V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL256 W0*/ {21, 3872}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x50_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(7)=0 VV1 0x50 VL128 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3363},
|
|
/*h(39)=1 VV1 0x50 VL256 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 3364},
|
|
/*h(15)=2 VV1 0x50 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3361},
|
|
/*h(47)=3 VV1 0x50 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3362}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((9*key % 7) % 4);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x51_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[144] = {
|
|
/*h(89)=0 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {89, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(123)=2 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(47)=6 VV1 0x51 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3200},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(81)=8 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {81, 3206},
|
|
/*h(26)=9 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {26, 3207},
|
|
/*h(115)=10 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {115, 3206},
|
|
/*h(60)=11 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(94)=13 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {94, 3207},
|
|
/*h(39)=14 VV1 0x51 VL256 VNP NOVSR V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 3204},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(18)=17 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {18, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(52)=19 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {52, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(86)=21 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {86, 3205},
|
|
/*h(31)=22 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3208},
|
|
/*h(120)=23 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {120, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=30 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3206},
|
|
/*h(112)=31 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {112, 3205},
|
|
/*h(57)=32 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(91)=34 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {91, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(125)=36 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(15)=38 VV1 0x51 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3198},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(49)=40 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(83)=42 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {83, 3206},
|
|
/*h(28)=43 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3207},
|
|
/*h(117)=44 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {117, 3206},
|
|
/*h(62)=45 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 3207},
|
|
/*h(7)=46 VV1 0x51 VL128 VNP NOVSR V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3202},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(20)=51 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(54)=53 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {54, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(88)=55 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {88, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(122)=57 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {122, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(46)=61 VV1 0x51 VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3199},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(80)=63 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {80, 3205},
|
|
/*h(25)=64 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 3208},
|
|
/*h(114)=65 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {114, 3205},
|
|
/*h(59)=66 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(93)=68 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3208},
|
|
/*h(38)=69 VV1 0x51 VL256 VNP NOVSR V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 3203},
|
|
/*h(127)=70 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {127, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(17)=72 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {17, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=74 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(85)=76 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {85, 3206},
|
|
/*h(30)=77 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 3207},
|
|
/*h(119)=78 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {119, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(22)=85 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(56)=87 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(90)=89 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {90, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=91 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {124, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=93 VV1 0x51 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3197},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(48)=95 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {48, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(82)=97 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {82, 3205},
|
|
/*h(27)=98 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 3208},
|
|
/*h(116)=99 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {116, 3205},
|
|
/*h(61)=100 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3208},
|
|
/*h(6)=101 VV1 0x51 VL128 VNP NOVSR V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3201},
|
|
/*h(95)=102 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {95, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(19)=106 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {19, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(53)=108 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(87)=110 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {87, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=112 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(24)=119 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {24, 3207},
|
|
/*h(113)=120 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {113, 3206},
|
|
/*h(58)=121 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=123 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(126)=125 VV1 0x51 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {126, 3207},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(16)=127 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {16, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(50)=129 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {50, 3205},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(84)=131 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {84, 3205},
|
|
/*h(29)=132 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3208},
|
|
/*h(118)=133 VV1 0x51 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {118, 3205},
|
|
/*h(63)=134 VV1 0x51 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 3208},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=140 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3206},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(55)=142 VV1 0x51 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {55, 3206},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 144ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x52_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[72] = {
|
|
/*h(24)=0 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {24, 3195},
|
|
/*h(122)=1 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {122, 3195},
|
|
/*h(25)=2 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(123)=4 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 3196},
|
|
/*h(26)=5 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {26, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=7 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {124, 3195},
|
|
/*h(27)=8 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(125)=10 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 3196},
|
|
/*h(28)=11 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(126)=13 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {126, 3195},
|
|
/*h(29)=14 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(127)=16 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {127, 3196},
|
|
/*h(30)=17 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 3195},
|
|
/*h(6)=18 VV1 0x52 VNP VL128 NOVSR V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3191},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=20 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3196},
|
|
/*h(7)=21 VV1 0x52 VNP VL128 NOVSR V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3192},
|
|
/*h(56)=22 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(57)=25 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(58)=28 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=31 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(60)=34 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(61)=37 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(62)=40 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 3195},
|
|
/*h(38)=41 VV1 0x52 VNP VL256 NOVSR V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 3193},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=43 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 3196},
|
|
/*h(39)=44 VV1 0x52 VNP VL256 NOVSR V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 3194},
|
|
/*h(88)=45 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {88, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(89)=48 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {89, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(90)=51 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {90, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(91)=54 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {91, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=57 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(93)=60 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(94)=63 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {94, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(95)=66 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {95, 3196},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(120)=68 VV1 0x52 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {120, 3195},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=71 VV1 0x52 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 3196}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((3*key % 73) % 72);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x53_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[72] = {
|
|
/*h(24)=0 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {24, 3189},
|
|
/*h(122)=1 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {122, 3189},
|
|
/*h(25)=2 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(123)=4 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 3190},
|
|
/*h(26)=5 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {26, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=7 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {124, 3189},
|
|
/*h(27)=8 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(125)=10 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 3190},
|
|
/*h(28)=11 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(126)=13 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {126, 3189},
|
|
/*h(29)=14 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(127)=16 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {127, 3190},
|
|
/*h(30)=17 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 3189},
|
|
/*h(6)=18 VV1 0x53 VNP VL128 NOVSR V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3185},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=20 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3190},
|
|
/*h(7)=21 VV1 0x53 VNP VL128 NOVSR V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3186},
|
|
/*h(56)=22 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(57)=25 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(58)=28 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(59)=31 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(60)=34 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(61)=37 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(62)=40 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 3189},
|
|
/*h(38)=41 VV1 0x53 VNP VL256 NOVSR V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 3187},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=43 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 3190},
|
|
/*h(39)=44 VV1 0x53 VNP VL256 NOVSR V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 3188},
|
|
/*h(88)=45 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {88, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(89)=48 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {89, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(90)=51 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {90, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(91)=54 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {91, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=57 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(93)=60 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(94)=63 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {94, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(95)=66 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {95, 3190},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(120)=68 VV1 0x53 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {120, 3189},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=71 VV1 0x53 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 3190}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = ((3*key % 73) % 72);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x54_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0x54 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 2554},
|
|
/*h(10)=1 VV1 0x54 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2552},
|
|
/*h(2)=2 VV1 0x54 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2550},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0x54 VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 2557},
|
|
/*h(1)=6 VV1 0x54 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 2555},
|
|
/*h(11)=7 VV1 0x54 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2553},
|
|
/*h(3)=8 VV1 0x54 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2551},
|
|
/*h(8)=9 VV1 0x54 VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 2556}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x55_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0x55 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 2562},
|
|
/*h(10)=1 VV1 0x55 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2560},
|
|
/*h(2)=2 VV1 0x55 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2558},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0x55 VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 2565},
|
|
/*h(1)=6 VV1 0x55 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 2563},
|
|
/*h(11)=7 VV1 0x55 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2561},
|
|
/*h(3)=8 VV1 0x55 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2559},
|
|
/*h(8)=9 VV1 0x55 VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 2564}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x56_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0x56 VNP V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3245},
|
|
/*h(10)=1 VV1 0x56 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3243},
|
|
/*h(2)=2 VV1 0x56 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3241},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0x56 VNP V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3248},
|
|
/*h(1)=6 VV1 0x56 VNP V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3246},
|
|
/*h(11)=7 VV1 0x56 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3244},
|
|
/*h(3)=8 VV1 0x56 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3242},
|
|
/*h(8)=9 VV1 0x56 VNP V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3247}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x57_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0x57 VNP V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3325},
|
|
/*h(10)=1 VV1 0x57 V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3323},
|
|
/*h(2)=2 VV1 0x57 V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3321},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0x57 VNP V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3328},
|
|
/*h(1)=6 VV1 0x57 VNP V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3326},
|
|
/*h(11)=7 VV1 0x57 V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3324},
|
|
/*h(3)=8 VV1 0x57 V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3322},
|
|
/*h(8)=9 VV1 0x57 VNP V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3327}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x58_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x58 VNP VL128 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 2534},
|
|
/*h(13)=1 VV1 0x58 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2539},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x58 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2539},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x58 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2541},
|
|
/*h(10)=6 VV1 0x58 V66 VL256 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2532},
|
|
/*h(23)=7 VV1 0x58 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2541},
|
|
/*h(2)=8 VV1 0x58 V66 VL128 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2530},
|
|
/*h(15)=9 VV1 0x58 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2541},
|
|
/*h(28)=10 VV1 0x58 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2538},
|
|
/*h(7)=11 VV1 0x58 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2541},
|
|
/*h(20)=12 VV1 0x58 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2538},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x58 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2538},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x58 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2538},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x58 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2540},
|
|
/*h(9)=19 VV1 0x58 VNP VL256 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 2537},
|
|
/*h(22)=20 VV1 0x58 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2540},
|
|
/*h(1)=21 VV1 0x58 VNP VL128 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 2535},
|
|
/*h(14)=22 VV1 0x58 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2540},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x58 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2540},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0x58 V66 VL256 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2533},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x58 V66 VL128 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2531},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0x58 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2539},
|
|
/*h(8)=32 VV1 0x58 VNP VL256 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 2536},
|
|
/*h(21)=33 VV1 0x58 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2539}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x59_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x59 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3233},
|
|
/*h(13)=1 VV1 0x59 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 3238},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x59 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3238},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x59 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3240},
|
|
/*h(10)=6 VV1 0x59 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3231},
|
|
/*h(23)=7 VV1 0x59 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3240},
|
|
/*h(2)=8 VV1 0x59 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3229},
|
|
/*h(15)=9 VV1 0x59 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3240},
|
|
/*h(28)=10 VV1 0x59 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3237},
|
|
/*h(7)=11 VV1 0x59 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3240},
|
|
/*h(20)=12 VV1 0x59 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3237},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x59 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3237},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x59 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3237},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x59 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 3239},
|
|
/*h(9)=19 VV1 0x59 VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3236},
|
|
/*h(22)=20 VV1 0x59 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3239},
|
|
/*h(1)=21 VV1 0x59 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3234},
|
|
/*h(14)=22 VV1 0x59 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3239},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x59 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3239},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0x59 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3232},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x59 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3230},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0x59 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3238},
|
|
/*h(8)=32 VV1 0x59 VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3235},
|
|
/*h(21)=33 VV1 0x59 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3238}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[144] = {
|
|
/*h(89)=0 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {89, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(123)=2 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(47)=6 VV1 0x5A V66 VL256 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2609},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(81)=8 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {81, 2647},
|
|
/*h(26)=9 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {26, 2660},
|
|
/*h(115)=10 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {115, 2647},
|
|
/*h(60)=11 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {60, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(94)=13 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {94, 2660},
|
|
/*h(39)=14 VV1 0x5A VNP VL256 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 2621},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(18)=17 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {18, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(52)=19 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {52, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(86)=21 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {86, 2646},
|
|
/*h(31)=22 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2661},
|
|
/*h(120)=23 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {120, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(23)=30 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2647},
|
|
/*h(112)=31 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {112, 2646},
|
|
/*h(57)=32 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {57, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(91)=34 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {91, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(125)=36 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(15)=38 VV1 0x5A V66 VL128 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2607},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(49)=40 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {49, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(83)=42 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {83, 2647},
|
|
/*h(28)=43 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2660},
|
|
/*h(117)=44 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {117, 2647},
|
|
/*h(62)=45 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2660},
|
|
/*h(7)=46 VV1 0x5A VNP VL128 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2619},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(20)=51 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(54)=53 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {54, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(88)=55 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {88, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(122)=57 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {122, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(46)=61 VV1 0x5A V66 VL256 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2608},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(80)=63 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {80, 2646},
|
|
/*h(25)=64 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {25, 2661},
|
|
/*h(114)=65 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {114, 2646},
|
|
/*h(59)=66 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {59, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(93)=68 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {93, 2661},
|
|
/*h(38)=69 VV1 0x5A VNP VL256 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 2620},
|
|
/*h(127)=70 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {127, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(17)=72 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {17, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=74 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {51, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(85)=76 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {85, 2647},
|
|
/*h(30)=77 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2660},
|
|
/*h(119)=78 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {119, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(22)=85 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(56)=87 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {56, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(90)=89 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {90, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=91 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {124, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=93 VV1 0x5A V66 VL128 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2606},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(48)=95 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {48, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(82)=97 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {82, 2646},
|
|
/*h(27)=98 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {27, 2661},
|
|
/*h(116)=99 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {116, 2646},
|
|
/*h(61)=100 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {61, 2661},
|
|
/*h(6)=101 VV1 0x5A VNP VL128 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2618},
|
|
/*h(95)=102 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {95, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(19)=106 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {19, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(53)=108 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {53, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(87)=110 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {87, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=112 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(24)=119 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {24, 2660},
|
|
/*h(113)=120 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {113, 2647},
|
|
/*h(58)=121 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {58, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(92)=123 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {92, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(126)=125 VV1 0x5A VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {126, 2660},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(16)=127 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {16, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(50)=129 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {50, 2646},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(84)=131 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {84, 2646},
|
|
/*h(29)=132 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2661},
|
|
/*h(118)=133 VV1 0x5A VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {118, 2646},
|
|
/*h(63)=134 VV1 0x5A VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2661},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(21)=140 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2647},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(55)=142 VV1 0x5A VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {55, 2647},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 144ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[22] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(47)=1 VV1 0x5B VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2613},
|
|
/*h(39)=2 VV1 0x5B VL256 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {39, 2597},
|
|
/*h(31)=3 VV1 0x5B VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2615},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(15)=5 VV1 0x5B VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2611},
|
|
/*h(62)=6 VV1 0x5B VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2616},
|
|
/*h(7)=7 VV1 0x5B VL128 VNP V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2595},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(46)=9 VV1 0x5B VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2612},
|
|
/*h(38)=10 VV1 0x5B VL256 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {38, 2596},
|
|
/*h(30)=11 VV1 0x5B VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2614},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(14)=14 VV1 0x5B VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2610},
|
|
/*h(6)=15 VV1 0x5B VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2594},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=20 VV1 0x5B VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2617},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 22ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x5C VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 3221},
|
|
/*h(13)=1 VV1 0x5C VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 3226},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x5C VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 3226},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x5C VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 3228},
|
|
/*h(10)=6 VV1 0x5C V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3219},
|
|
/*h(23)=7 VV1 0x5C VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 3228},
|
|
/*h(2)=8 VV1 0x5C V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3217},
|
|
/*h(15)=9 VV1 0x5C VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3228},
|
|
/*h(28)=10 VV1 0x5C VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 3225},
|
|
/*h(7)=11 VV1 0x5C VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 3228},
|
|
/*h(20)=12 VV1 0x5C VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 3225},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x5C VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 3225},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x5C VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 3225},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x5C VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 3227},
|
|
/*h(9)=19 VV1 0x5C VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 3224},
|
|
/*h(22)=20 VV1 0x5C VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 3227},
|
|
/*h(1)=21 VV1 0x5C VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 3222},
|
|
/*h(14)=22 VV1 0x5C VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3227},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x5C VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 3227},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0x5C V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3220},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x5C V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3218},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0x5C VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 3226},
|
|
/*h(8)=32 VV1 0x5C VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 3223},
|
|
/*h(21)=33 VV1 0x5C VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 3226}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x5D VNP V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 2769},
|
|
/*h(13)=1 VV1 0x5D VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2774},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x5D VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2774},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x5D VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2776},
|
|
/*h(10)=6 VV1 0x5D V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2767},
|
|
/*h(23)=7 VV1 0x5D VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2776},
|
|
/*h(2)=8 VV1 0x5D V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2765},
|
|
/*h(15)=9 VV1 0x5D VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2776},
|
|
/*h(28)=10 VV1 0x5D VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2773},
|
|
/*h(7)=11 VV1 0x5D VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2776},
|
|
/*h(20)=12 VV1 0x5D VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2773},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x5D VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2773},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x5D VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2773},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x5D VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2775},
|
|
/*h(9)=19 VV1 0x5D VNP V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 2772},
|
|
/*h(22)=20 VV1 0x5D VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2775},
|
|
/*h(1)=21 VV1 0x5D VNP V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 2770},
|
|
/*h(14)=22 VV1 0x5D VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2775},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x5D VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2775},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0x5D V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2768},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x5D V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2766},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0x5D VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2774},
|
|
/*h(8)=32 VV1 0x5D VNP V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 2771},
|
|
/*h(21)=33 VV1 0x5D VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2774}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x5E VNP V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 2666},
|
|
/*h(13)=1 VV1 0x5E VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2671},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x5E VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2671},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x5E VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2673},
|
|
/*h(10)=6 VV1 0x5E V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2664},
|
|
/*h(23)=7 VV1 0x5E VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2673},
|
|
/*h(2)=8 VV1 0x5E V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2662},
|
|
/*h(15)=9 VV1 0x5E VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2673},
|
|
/*h(28)=10 VV1 0x5E VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2670},
|
|
/*h(7)=11 VV1 0x5E VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2673},
|
|
/*h(20)=12 VV1 0x5E VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2670},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x5E VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2670},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x5E VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2670},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x5E VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2672},
|
|
/*h(9)=19 VV1 0x5E VNP V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 2669},
|
|
/*h(22)=20 VV1 0x5E VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2672},
|
|
/*h(1)=21 VV1 0x5E VNP V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 2667},
|
|
/*h(14)=22 VV1 0x5E VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2672},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x5E VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2672},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0x5E V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2665},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x5E V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2663},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0x5E VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2671},
|
|
/*h(8)=32 VV1 0x5E VNP V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 2668},
|
|
/*h(21)=33 VV1 0x5E VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2671}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x5f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0x5F VNP V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {0, 2757},
|
|
/*h(13)=1 VV1 0x5F VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2762},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0x5F VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2762},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0x5F VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2764},
|
|
/*h(10)=6 VV1 0x5F V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2755},
|
|
/*h(23)=7 VV1 0x5F VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2764},
|
|
/*h(2)=8 VV1 0x5F V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2753},
|
|
/*h(15)=9 VV1 0x5F VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2764},
|
|
/*h(28)=10 VV1 0x5F VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {28, 2761},
|
|
/*h(7)=11 VV1 0x5F VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {7, 2764},
|
|
/*h(20)=12 VV1 0x5F VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {20, 2761},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0x5F VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2761},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0x5F VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2761},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0x5F VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2763},
|
|
/*h(9)=19 VV1 0x5F VNP V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {9, 2760},
|
|
/*h(22)=20 VV1 0x5F VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2763},
|
|
/*h(1)=21 VV1 0x5F VNP V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {1, 2758},
|
|
/*h(14)=22 VV1 0x5F VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2763},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0x5F VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {6, 2763},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0x5F V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2756},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0x5F V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2754},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0x5F VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {29, 2762},
|
|
/*h(8)=32 VV1 0x5F VNP V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {8, 2759},
|
|
/*h(21)=33 VV1 0x5F VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {21, 2762}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x60_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x60 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3137},
|
|
/*h(2)=1 VV1 0x60 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3135},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x60 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3138},
|
|
/*h(3)=4 VV1 0x60 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3136}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x61_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x61 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3141},
|
|
/*h(2)=1 VV1 0x61 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3139},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x61 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3142},
|
|
/*h(3)=4 VV1 0x61 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3140}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x62_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x62 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3145},
|
|
/*h(2)=1 VV1 0x62 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3143},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x62 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3146},
|
|
/*h(3)=4 VV1 0x62 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3144}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x63_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x63 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2881},
|
|
/*h(2)=1 VV1 0x63 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2879},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x63 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2882},
|
|
/*h(3)=4 VV1 0x63 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2880}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x64_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x64 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3001},
|
|
/*h(2)=1 VV1 0x64 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2999},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x64 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3002},
|
|
/*h(3)=4 VV1 0x64 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3000}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x65_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x65 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3005},
|
|
/*h(2)=1 VV1 0x65 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3003},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x65 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3006},
|
|
/*h(3)=4 VV1 0x65 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3004}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x66_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x66 V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3009},
|
|
/*h(2)=1 VV1 0x66 V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3007},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x66 V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3010},
|
|
/*h(3)=4 VV1 0x66 V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3008}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x67_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x67 V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2889},
|
|
/*h(2)=1 VV1 0x67 V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2887},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x67 V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2890},
|
|
/*h(3)=4 VV1 0x67 V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2888}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x68_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x68 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3121},
|
|
/*h(2)=1 VV1 0x68 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3119},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x68 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3122},
|
|
/*h(3)=4 VV1 0x68 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3120}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x69_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x69 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3125},
|
|
/*h(2)=1 VV1 0x69 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3123},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x69 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3126},
|
|
/*h(3)=4 VV1 0x69 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3124}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6a_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x6A VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3129},
|
|
/*h(2)=1 VV1 0x6A VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3127},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x6A VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3130},
|
|
/*h(3)=4 VV1 0x6A VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3128}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6b_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x6B VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2885},
|
|
/*h(2)=1 VV1 0x6B VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2883},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x6B VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2886},
|
|
/*h(3)=4 VV1 0x6B VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2884}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x6C VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3149},
|
|
/*h(2)=1 VV1 0x6C VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3147},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x6C VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3150},
|
|
/*h(3)=4 VV1 0x6C VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3148}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x6D VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3133},
|
|
/*h(2)=1 VV1 0x6D VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3131},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x6D VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3134},
|
|
/*h(3)=4 VV1 0x6D VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3132}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(123)=0 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 2794},
|
|
/*h(115)=1 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {115, 2794},
|
|
/*h(120)=2 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {120, 2793},
|
|
/*h(112)=3 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {112, 2793},
|
|
/*h(125)=4 VV1 0x6E VL128 V66 V0F mode64 rexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 2802},
|
|
/*h(117)=5 VV1 0x6E VL128 V66 V0F mode64 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {117, 2798},
|
|
/*h(122)=6 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {122, 2793},
|
|
/*h(114)=7 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {114, 2793},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=10 VV1 0x6E VL128 V66 V0F mode64 rexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {124, 2801},
|
|
/*h(116)=11 VV1 0x6E VL128 V66 V0F mode64 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {116, 2797},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(121)=13 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 2794},
|
|
/*h(113)=14 VV1 0x6E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {113, 2794},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x6f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(47)=0 VV1 0x6F VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2818},
|
|
/*h(31)=1 VV1 0x6F VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2822},
|
|
/*h(15)=2 VV1 0x6F VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2814},
|
|
/*h(62)=3 VV1 0x6F VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2823},
|
|
/*h(46)=4 VV1 0x6F VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2817},
|
|
/*h(30)=5 VV1 0x6F VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2821},
|
|
/*h(14)=6 VV1 0x6F VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2813},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=9 VV1 0x6F VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2824}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x70_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(47)=0 VV1 0x70 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {47, 2870},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=2 VV1 0x70 VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {31, 2872},
|
|
/*h(23)=3 VV1 0x70 VL128 VF2 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {23, 2876},
|
|
/*h(15)=4 VV1 0x70 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {15, 2868},
|
|
/*h(62)=5 VV1 0x70 VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {62, 2873},
|
|
/*h(54)=6 VV1 0x70 VL256 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {54, 2877},
|
|
/*h(46)=7 VV1 0x70 VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {46, 2869},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=9 VV1 0x70 VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {30, 2871},
|
|
/*h(22)=10 VV1 0x70 VL128 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {22, 2875},
|
|
/*h(14)=11 VV1 0x70 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {14, 2867},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=15 VV1 0x70 VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {63, 2874},
|
|
/*h(55)=16 VV1 0x70 VL256 VF2 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {55, 2878}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x71_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[6] = {
|
|
/*h(21)=0 VV1 0x71 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8()*/ {21, 2915},
|
|
/*h(85)=1 VV1 0x71 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8()*/ {85, 2918},
|
|
/*h(29)=2 VV1 0x71 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8()*/ {29, 2897},
|
|
/*h(93)=3 VV1 0x71 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8()*/ {93, 2900},
|
|
/*h(25)=4 VV1 0x71 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8()*/ {25, 2933},
|
|
/*h(89)=5 VV1 0x71 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8()*/ {89, 2936}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REG_VEX_PREFIX_VL(d);
|
|
hidx = ((5*key % 11) % 6);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x72_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[6] = {
|
|
/*h(21)=0 VV1 0x72 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8()*/ {21, 2921},
|
|
/*h(85)=1 VV1 0x72 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8()*/ {85, 2924},
|
|
/*h(29)=2 VV1 0x72 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8()*/ {29, 2903},
|
|
/*h(93)=3 VV1 0x72 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8()*/ {93, 2906},
|
|
/*h(25)=4 VV1 0x72 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8()*/ {25, 2939},
|
|
/*h(89)=5 VV1 0x72 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8()*/ {89, 2942}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REG_VEX_PREFIX_VL(d);
|
|
hidx = ((5*key % 11) % 6);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x73_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[14] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=2 VV1 0x73 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b111] RM[nnn] UIMM8()*/ {31, 3153},
|
|
/*h(23)=3 VV1 0x73 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b011] RM[nnn] UIMM8()*/ {23, 3151},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(93)=6 VV1 0x73 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8()*/ {93, 2912},
|
|
/*h(85)=7 VV1 0x73 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8()*/ {85, 2930},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(95)=9 VV1 0x73 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b111] RM[nnn] UIMM8()*/ {95, 3154},
|
|
/*h(87)=10 VV1 0x73 VL256 V66 V0F MOD[0b11] MOD=3 REG[0b011] RM[nnn] UIMM8()*/ {87, 3152},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=12 VV1 0x73 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8()*/ {29, 2909},
|
|
/*h(21)=13 VV1 0x73 VL128 V66 V0F MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8()*/ {21, 2927}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REG_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 14ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x74_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x74 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2985},
|
|
/*h(2)=1 VV1 0x74 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2983},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x74 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2986},
|
|
/*h(3)=4 VV1 0x74 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2984}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x75_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x75 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2989},
|
|
/*h(2)=1 VV1 0x75 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2987},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x75 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2990},
|
|
/*h(3)=4 VV1 0x75 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2988}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x76_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0x76 V66 V0F VL256 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2993},
|
|
/*h(2)=1 VV1 0x76 V66 V0F VL128 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2991},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0x76 V66 V0F VL256 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2994},
|
|
/*h(3)=4 VV1 0x76 V66 V0F VL128 MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2992}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x77_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(19)=2 VV1 0x77 VNP V0F VL256 NOVSR*/ {19, 2684},
|
|
/*h(3)=3 VV1 0x77 VNP V0F VL128 NOVSR*/ {3, 2685}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-2));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7c_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[13] = {
|
|
/*h(13)=0 VV1 0x7C VL256 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2693},
|
|
/*h(5)=1 VV1 0x7C VL128 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2691},
|
|
/*h(10)=2 VV1 0x7C VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2688},
|
|
/*h(2)=3 VV1 0x7C VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2686},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=5 VV1 0x7C VL256 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2692},
|
|
/*h(4)=6 VV1 0x7C VL128 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2690},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=10 VV1 0x7C VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2689},
|
|
/*h(3)=11 VV1 0x7C VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2687},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 13ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7d_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[13] = {
|
|
/*h(13)=0 VV1 0x7D VL256 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2701},
|
|
/*h(5)=1 VV1 0x7D VL128 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2699},
|
|
/*h(10)=2 VV1 0x7D VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2696},
|
|
/*h(2)=3 VV1 0x7D VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2694},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=5 VV1 0x7D VL256 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2700},
|
|
/*h(4)=6 VV1 0x7D VL128 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2698},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=10 VV1 0x7D VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2697},
|
|
/*h(3)=11 VV1 0x7D VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2695},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 13ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7e_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(123)=0 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {123, 2796},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(115)=2 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {115, 2796},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(251)=4 VV1 0x7E VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {251, 2806},
|
|
/*h(120)=5 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {120, 2795},
|
|
/*h(243)=6 VV1 0x7E VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {243, 2806},
|
|
/*h(112)=7 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {112, 2795},
|
|
/*h(125)=8 VV1 0x7E VL128 V66 V0F mode64 rexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {125, 2804},
|
|
/*h(248)=9 VV1 0x7E VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {248, 2805},
|
|
/*h(117)=10 VV1 0x7E VL128 V66 V0F mode64 norexw_prefix NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {117, 2800},
|
|
/*h(240)=11 VV1 0x7E VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {240, 2805},
|
|
/*h(253)=12 VV1 0x7E VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {253, 2806},
|
|
/*h(122)=13 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {122, 2795},
|
|
/*h(245)=14 VV1 0x7E VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {245, 2806},
|
|
/*h(114)=15 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {114, 2795},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(250)=17 VV1 0x7E VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {250, 2805},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(242)=19 VV1 0x7E VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {242, 2805},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(124)=21 VV1 0x7E VL128 V66 V0F mode64 rexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {124, 2803},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(116)=23 VV1 0x7E VL128 V66 V0F mode64 norexw_prefix NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {116, 2799},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(252)=25 VV1 0x7E VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {252, 2805},
|
|
/*h(121)=26 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {121, 2796},
|
|
/*h(244)=27 VV1 0x7E VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {244, 2805},
|
|
/*h(113)=28 VV1 0x7E VL128 V66 V0F not64 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {113, 2796},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(249)=30 VV1 0x7E VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {249, 2806},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(241)=32 VV1 0x7E VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {241, 2806},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x7f_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(47)=0 VV1 0x7F VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2820},
|
|
/*h(31)=1 VV1 0x7F VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2826},
|
|
/*h(15)=2 VV1 0x7F VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2816},
|
|
/*h(62)=3 VV1 0x7F VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2827},
|
|
/*h(46)=4 VV1 0x7F VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2819},
|
|
/*h(30)=5 VV1 0x7F VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2825},
|
|
/*h(14)=6 VV1 0x7F VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2815},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=9 VV1 0x7F VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2828}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x90_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(13)=0 VV1 0x90 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {13, 3862},
|
|
/*h(31)=1 VV1 0x90 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {31, 3890},
|
|
/*h(15)=2 VV1 0x90 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {15, 3897},
|
|
/*h(28)=3 VV1 0x90 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0 NOVSR*/ {28, 3886},
|
|
/*h(12)=4 VV1 0x90 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0 NOVSR*/ {12, 3863},
|
|
/*h(30)=5 VV1 0x90 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W1 NOVSR*/ {30, 3891},
|
|
/*h(14)=6 VV1 0x90 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W1 NOVSR*/ {14, 3898},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=9 VV1 0x90 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {29, 3885}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x91_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(28)=2 VV1 0x91 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0 NOVSR*/ {28, 3887},
|
|
/*h(12)=3 VV1 0x91 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W0 NOVSR*/ {12, 3864},
|
|
/*h(30)=4 VV1 0x91 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W1 NOVSR*/ {30, 3892},
|
|
/*h(14)=5 VV1 0x91 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() VL128 W1 NOVSR*/ {14, 3899},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x92_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[21] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(115)=1 VV1 0x92 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {115, 3888},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(49)=5 VV1 0x92 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {49, 3865},
|
|
/*h(117)=6 VV1 0x92 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {117, 3888},
|
|
/*h(185)=7 VV1 0x92 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {185, 3894},
|
|
/*h(177)=8 VV1 0x92 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {177, 3894},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=10 VV1 0x92 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {51, 3865},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(187)=12 VV1 0x92 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {187, 3894},
|
|
/*h(179)=13 VV1 0x92 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {179, 3894},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(53)=15 VV1 0x92 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {53, 3865},
|
|
/*h(189)=16 VV1 0x92 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 mode64 NOVSR*/ {189, 3900},
|
|
/*h(113)=17 VV1 0x92 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {113, 3888},
|
|
/*h(181)=18 VV1 0x92 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64 NOVSR*/ {181, 3893},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 21ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x93_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[21] = {
|
|
/*empty slot1 */ {0,0},
|
|
/*h(115)=1 VV1 0x93 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {115, 3889},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(49)=5 VV1 0x93 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {49, 3866},
|
|
/*h(117)=6 VV1 0x93 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {117, 3889},
|
|
/*h(185)=7 VV1 0x93 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {185, 3896},
|
|
/*h(177)=8 VV1 0x93 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {177, 3896},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(51)=10 VV1 0x93 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {51, 3866},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(187)=12 VV1 0x93 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {187, 3896},
|
|
/*h(179)=13 VV1 0x93 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 not64 NOVSR*/ {179, 3896},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(53)=15 VV1 0x93 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {53, 3866},
|
|
/*h(189)=16 VV1 0x93 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 mode64 NOVSR*/ {189, 3901},
|
|
/*h(113)=17 VV1 0x93 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {113, 3889},
|
|
/*h(181)=18 VV1 0x93 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 mode64 NOVSR*/ {181, 3895},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_MODE_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 21ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x98_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*h(13)=0 VV1 0x98 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {13, 3868},
|
|
/*h(31)=1 VV1 0x98 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {31, 3909},
|
|
/*h(15)=2 VV1 0x98 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {15, 3910},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=7 VV1 0x98 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {29, 3908}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0x99_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[8] = {
|
|
/*h(13)=0 VV1 0x99 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {13, 3920},
|
|
/*h(31)=1 VV1 0x99 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {31, 3918},
|
|
/*h(15)=2 VV1 0x99 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W1 NOVSR*/ {15, 3919},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=7 VV1 0x99 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] VL128 W0 NOVSR*/ {29, 3917}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REXW_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-3));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xae_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[3] = {
|
|
/*h(52)=0 VV1 0xAE VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()*/ {52, 3457},
|
|
/*h(54)=1 VV1 0xAE VL128 VNP V0F NOVSR MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()*/ {54, 3458},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_REG_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 3ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[34] = {
|
|
/*h(0)=0 VV1 0xC2 VNP VL128 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {0, 2578},
|
|
/*h(13)=1 VV1 0xC2 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {13, 2583},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(5)=3 VV1 0xC2 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {5, 2583},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=5 VV1 0xC2 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {31, 2585},
|
|
/*h(10)=6 VV1 0xC2 V66 VL256 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 2576},
|
|
/*h(23)=7 VV1 0xC2 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {23, 2585},
|
|
/*h(2)=8 VV1 0xC2 V66 VL128 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 2574},
|
|
/*h(15)=9 VV1 0xC2 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {15, 2585},
|
|
/*h(28)=10 VV1 0xC2 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {28, 2582},
|
|
/*h(7)=11 VV1 0xC2 VF3 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {7, 2585},
|
|
/*h(20)=12 VV1 0xC2 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {20, 2582},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=14 VV1 0xC2 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {12, 2582},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(4)=16 VV1 0xC2 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {4, 2582},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=18 VV1 0xC2 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {30, 2584},
|
|
/*h(9)=19 VV1 0xC2 VNP VL256 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {9, 2581},
|
|
/*h(22)=20 VV1 0xC2 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {22, 2584},
|
|
/*h(1)=21 VV1 0xC2 VNP VL128 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {1, 2579},
|
|
/*h(14)=22 VV1 0xC2 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {14, 2584},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(6)=24 VV1 0xC2 VF3 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {6, 2584},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=27 VV1 0xC2 V66 VL256 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 2577},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(3)=29 VV1 0xC2 V66 VL128 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 2575},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(29)=31 VV1 0xC2 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {29, 2583},
|
|
/*h(8)=32 VV1 0xC2 VNP VL256 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {8, 2580},
|
|
/*h(21)=33 VV1 0xC2 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {21, 2583}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 34ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc4_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(2)=0 VV1 0xC4 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {3428},
|
|
/*h(3)=1 VV1 0xC4 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3429}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = key - 2;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[1] = {
|
|
/*h(15)=0 VV1 0xC5 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3419}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 15;
|
|
if(hidx == 0) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xc6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[10] = {
|
|
/*h(0)=0 VV1 0xC6 VL128 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {0, 3181},
|
|
/*h(10)=1 VV1 0xC6 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {10, 3179},
|
|
/*h(2)=2 VV1 0xC6 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {2, 3177},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(9)=5 VV1 0xC6 VL256 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {9, 3184},
|
|
/*h(1)=6 VV1 0xC6 VL128 VNP V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {1, 3182},
|
|
/*h(11)=7 VV1 0xC6 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {11, 3180},
|
|
/*h(3)=8 VV1 0xC6 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8()*/ {3, 3178},
|
|
/*h(8)=9 VV1 0xC6 VL256 VNP V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8()*/ {8, 3183}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 10ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd0_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[13] = {
|
|
/*h(13)=0 VV1 0xD0 VL256 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {13, 2549},
|
|
/*h(5)=1 VV1 0xD0 VL128 VF2 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {5, 2547},
|
|
/*h(10)=2 VV1 0xD0 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2544},
|
|
/*h(2)=3 VV1 0xD0 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2542},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(12)=5 VV1 0xD0 VL256 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {12, 2548},
|
|
/*h(4)=6 VV1 0xD0 VL128 VF2 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {4, 2546},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=10 VV1 0xD0 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2545},
|
|
/*h(3)=11 VV1 0xD0 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2543},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 13ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd1_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD1 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2916},
|
|
/*h(2)=1 VV1 0xD1 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2913},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD1 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2917},
|
|
/*h(3)=4 VV1 0xD1 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2914}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD2 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2922},
|
|
/*h(2)=1 VV1 0xD2 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2919},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD2 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2923},
|
|
/*h(3)=4 VV1 0xD2 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2920}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd3_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD3 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2928},
|
|
/*h(2)=1 VV1 0xD3 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2925},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD3 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2929},
|
|
/*h(3)=4 VV1 0xD3 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2926}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd4_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD4 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2957},
|
|
/*h(2)=1 VV1 0xD4 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2955},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD4 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2958},
|
|
/*h(3)=4 VV1 0xD4 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2956}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD5 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3053},
|
|
/*h(2)=1 VV1 0xD5 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3051},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD5 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3054},
|
|
/*h(3)=4 VV1 0xD5 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3052}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(14)=0 VV1 0xD6 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2807},
|
|
/*h(15)=1 VV1 0xD6 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {2808}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 14;
|
|
if(hidx <= 1) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[4] = {
|
|
/*h(47)=0 VV1 0xD7 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 3366},
|
|
/*h(15)=1 VV1 0xD7 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 3365},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-2));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD8 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3097},
|
|
/*h(2)=1 VV1 0xD8 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3095},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD8 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3098},
|
|
/*h(3)=4 VV1 0xD8 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3096}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xd9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xD9 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3101},
|
|
/*h(2)=1 VV1 0xD9 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3099},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xD9 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3102},
|
|
/*h(3)=4 VV1 0xD9 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3100}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xda_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDA VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3287},
|
|
/*h(2)=1 VV1 0xDA VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3285},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDA VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3288},
|
|
/*h(3)=4 VV1 0xDA VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3286}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDB VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2843},
|
|
/*h(2)=1 VV1 0xDB VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2841},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDB VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2844},
|
|
/*h(3)=4 VV1 0xDB VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2842}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdc_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDC VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2969},
|
|
/*h(2)=1 VV1 0xDC VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2967},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDC VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2970},
|
|
/*h(3)=4 VV1 0xDC VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2968}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdd_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDD VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2973},
|
|
/*h(2)=1 VV1 0xDD VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2971},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDD VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2974},
|
|
/*h(3)=4 VV1 0xDD VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2972}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xde_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDE VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3263},
|
|
/*h(2)=1 VV1 0xDE VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3261},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDE VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3264},
|
|
/*h(3)=4 VV1 0xDE VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3262}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xdf_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xDF VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2847},
|
|
/*h(2)=1 VV1 0xDF VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2845},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xDF VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2848},
|
|
/*h(3)=4 VV1 0xDF VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2846}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe0_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE0 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2977},
|
|
/*h(2)=1 VV1 0xE0 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2975},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE0 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2978},
|
|
/*h(3)=4 VV1 0xE0 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2976}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe1_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE1 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2934},
|
|
/*h(2)=1 VV1 0xE1 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2931},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE1 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2935},
|
|
/*h(3)=4 VV1 0xE1 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2932}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE2 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2940},
|
|
/*h(2)=1 VV1 0xE2 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2937},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE2 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2941},
|
|
/*h(3)=4 VV1 0xE2 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2938}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe3_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE3 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2981},
|
|
/*h(2)=1 VV1 0xE3 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2979},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE3 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2982},
|
|
/*h(3)=4 VV1 0xE3 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2980}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe4_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE4 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3041},
|
|
/*h(2)=1 VV1 0xE4 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3039},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE4 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3042},
|
|
/*h(3)=4 VV1 0xE4 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3040}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE5 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3049},
|
|
/*h(2)=1 VV1 0xE5 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3047},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE5 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3050},
|
|
/*h(3)=4 VV1 0xE5 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3048}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[17] = {
|
|
/*h(47)=0 VV1 0xE6 VL256 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {47, 2605},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(31)=2 VV1 0xE6 VL128 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {31, 2591},
|
|
/*h(23)=3 VV1 0xE6 VL128 VF2 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {23, 2599},
|
|
/*h(15)=4 VV1 0xE6 VL128 V66 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {15, 2603},
|
|
/*h(62)=5 VV1 0xE6 VL256 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {62, 2592},
|
|
/*h(54)=6 VV1 0xE6 VL256 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {54, 2600},
|
|
/*h(46)=7 VV1 0xE6 VL256 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 2604},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(30)=9 VV1 0xE6 VL128 VF3 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {30, 2590},
|
|
/*h(22)=10 VV1 0xE6 VL128 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2598},
|
|
/*h(14)=11 VV1 0xE6 VL128 V66 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 2602},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(63)=15 VV1 0xE6 VL256 VF3 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {63, 2593},
|
|
/*h(55)=16 VV1 0xE6 VL256 VF2 V0F NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {55, 2601}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 17ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(46)=0 VV1 0xE7 V66 V0F VL256 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {46, 3474},
|
|
/*h(14)=1 VV1 0xE7 V66 V0F VL128 NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {14, 3473}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE8 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3089},
|
|
/*h(2)=1 VV1 0xE8 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3087},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE8 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3090},
|
|
/*h(3)=4 VV1 0xE8 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3088}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xe9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xE9 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3093},
|
|
/*h(2)=1 VV1 0xE9 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3091},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xE9 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3094},
|
|
/*h(3)=4 VV1 0xE9 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3092}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xea_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xEA VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3279},
|
|
/*h(2)=1 VV1 0xEA VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3277},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xEA VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3280},
|
|
/*h(3)=4 VV1 0xEA VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3278}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xeb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xEB VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2839},
|
|
/*h(2)=1 VV1 0xEB VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2837},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xEB VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2840},
|
|
/*h(3)=4 VV1 0xEB VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2838}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xec_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xEC VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2961},
|
|
/*h(2)=1 VV1 0xEC VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2959},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xEC VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2962},
|
|
/*h(3)=4 VV1 0xEC VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2960}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xed_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xED VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2965},
|
|
/*h(2)=1 VV1 0xED VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2963},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xED VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2966},
|
|
/*h(3)=4 VV1 0xED VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2964}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xee_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xEE VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3255},
|
|
/*h(2)=1 VV1 0xEE VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3253},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xEE VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3256},
|
|
/*h(3)=4 VV1 0xEE VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3254}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xef_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xEF VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2851},
|
|
/*h(2)=1 VV1 0xEF VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2849},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xEF VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2852},
|
|
/*h(3)=4 VV1 0xEF VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2850}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf0_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[2] = {
|
|
/*h(54)=0 VV1 0xF0 VL256 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {54, 2732},
|
|
/*h(22)=1 VV1 0xF0 VL128 VF2 V0F NOVSR MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {22, 2731}
|
|
};
|
|
xed_union64_t t;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, t.s.lo32 >> (32-1));
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf1_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF1 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2898},
|
|
/*h(2)=1 VV1 0xF1 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2895},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF1 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2899},
|
|
/*h(3)=4 VV1 0xF1 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2896}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf2_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF2 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2904},
|
|
/*h(2)=1 VV1 0xF2 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2901},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF2 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2905},
|
|
/*h(3)=4 VV1 0xF2 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2902}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf3_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF3 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2910},
|
|
/*h(2)=1 VV1 0xF3 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2907},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF3 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2911},
|
|
/*h(3)=4 VV1 0xF3 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2908}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf4_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF4 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3061},
|
|
/*h(2)=1 VV1 0xF4 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3059},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF4 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3062},
|
|
/*h(3)=4 VV1 0xF4 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3060}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf5_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF5 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3299},
|
|
/*h(2)=1 VV1 0xF5 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3297},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF5 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3300},
|
|
/*h(3)=4 VV1 0xF5 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3298}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf6_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF6 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3069},
|
|
/*h(2)=1 VV1 0xF6 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3067},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF6 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3070},
|
|
/*h(3)=4 VV1 0xF6 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3068}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf7_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct { xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[1] = {
|
|
/*h(15)=0 VV1 0xF7 V0F V66 VL128 NOVSR MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3456}
|
|
};
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEXDEST210_7_VEXDEST3_VEX_PREFIX_VL(d);
|
|
hidx = key - 15;
|
|
if(hidx == 0) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf8_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF8 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3105},
|
|
/*h(2)=1 VV1 0xF8 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3103},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF8 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3106},
|
|
/*h(3)=4 VV1 0xF8 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3104}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xf9_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xF9 VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3109},
|
|
/*h(2)=1 VV1 0xF9 VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3107},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xF9 VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3110},
|
|
/*h(3)=4 VV1 0xF9 VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3108}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfa_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xFA VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3113},
|
|
/*h(2)=1 VV1 0xFA VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3111},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xFA VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3114},
|
|
/*h(3)=4 VV1 0xFA VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3112}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfb_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xFB VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 3117},
|
|
/*h(2)=1 VV1 0xFB VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 3115},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xFB VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 3118},
|
|
/*h(3)=4 VV1 0xFB VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 3116}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfc_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xFC VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2945},
|
|
/*h(2)=1 VV1 0xFC VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2943},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xFC VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2946},
|
|
/*h(3)=4 VV1 0xFC VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2944}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfd_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xFD VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2949},
|
|
/*h(2)=1 VV1 0xFD VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2947},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xFD VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2950},
|
|
/*h(3)=4 VV1 0xFD VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2948}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
static xed_uint32_t xed3_phash_find_mapvex_map1_opcode0xfe_vv1(const xed_decoded_inst_t* d)
|
|
{
|
|
typedef struct {xed_uint32_t key; xed_uint32_t value;} lu_entry_t;
|
|
static const lu_entry_t lu_table[5] = {
|
|
/*h(10)=0 VV1 0xFE VL256 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {10, 2953},
|
|
/*h(2)=1 VV1 0xFE VL128 V66 V0F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM()*/ {2, 2951},
|
|
/*empty slot1 */ {0,0},
|
|
/*h(11)=3 VV1 0xFE VL256 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {11, 2954},
|
|
/*h(3)=4 VV1 0xFE VL128 V66 V0F MOD[0b11] MOD=3 REG[rrr] RM[nnn]*/ {3, 2952}
|
|
};
|
|
xed_union64_t t, u;
|
|
xed_uint64_t key = 0;
|
|
xed_uint64_t hidx = 0;
|
|
key = xed_dec_lu_MOD3_VEX_PREFIX_VL(d);
|
|
hidx = (t.u64 = 2654435769 * key, u.u64 = t.s.lo32 * 5ULL, u.s.hi32);
|
|
if(lu_table[hidx].key == key) {
|
|
return lu_table[hidx].value;
|
|
}
|
|
else{
|
|
return 0;
|
|
}
|
|
}
|
|
#endif
|